当前位置: 首页 > 工具软件 > MakeHuman > 使用案例 >

python学习笔记之三——MakeHuman源码阅读

况浩邈
2023-12-01

1.@装饰器的用法

简单的说,@装饰器就是用来提供调用的,

def funA(arg):
    print 'A'
    a=arg()

@funA
def funB():
    print 'B'

 

 

此处的@相当于funA(funB())。

当有多个装饰器时:

@deco1(deco_args)
@deco2
def func():pass

 

等价于: 
func=deco1(deco_args) (deco2(func))

2.with的用法

有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常方便的处理方式。

紧跟with后面的语句被求值后,返回对象的 __enter__() 方法被调用,这个方法的返回值将被赋值给as后面的变量。 
当with后面的代码块全部被执行完之后,将调用前面返回对象的 __exit__()方法。

下面例子可以具体说明with如何工作:

#!/usr/bin/env python
# with_example01.py
class Sample:
    def __enter__(self):
        print "In __enter__()"
        return "Foo"
    def __exit__(self, type, value, trace):
        print "In __exit__()"
def get_sample():
    return Sample()
with get_sample() as sample:
    print "sample:", sample

运行代码,输出如下

bash-3.2$ ./with_example01.py
In __enter__()
sample: Foo
In __exit__()

3.调试

F7进入函数,F8跳过函数

 类似资料: