Python语句、函数与方法的使用技巧总结(3)

2019-05-17 14:24

def wrapper(*extra_args): args = list(part_args) args.extend(extra_args) return func(*args) return wrapper

利用用闭包的特性绑定预先绑定一些函数参数,返回一个可调用的变量, 直到真正的调用执行:

#!/usr/bin/env python # -*- coding: utf-8 -*- from functools import partial def sum(a, b): return a + b def test_partial():

fun = partial(sum, 2) # 事先绑定一个参数, fun成为一个只需要一个参数的可调用变量

print fun(3) # 实现执行的即是sum(2, 3) if __name__ == '__main__': test_partial()

# 执行结果 5

神秘eval

eval我理解为一种内嵌的python解释器(这种解释可能会有偏差), 会解释字符串为对应的代码并执行, 并且将执行结果返回。

看一下下面这个例子:

#!/usr/bin/env python # -*- coding: utf-8 -*- def test_first(): return 3

def test_second(num): return num

action = { # 可以看做是一个sandbox \

\ \ }

def test_eavl():

condition = \

res = eval(condition, action) # 解释condition并根据action对应的动作执行 print res

if __name__ == '_ exec

exec在Python中会忽略返回值, 总是返回None, eval会返回执行代码或语句的返回值

exec和eval在执行代码时, 除了返回值其他行为都相同

在传入字符串时, 会使用compile(source, '', mode)编译字节码。 mode的取值为exec和eval #!/usr/bin/env python # -*- coding: utf-8 -*- def test_first(): print \def test_second(): test_first() print \def test_third(): print \action = {

\ \ }

def test_exec():

exec \

if __name__ == '__main__': test_exec() # 无法看到执行结果 getattr

getattr(object, name[, default])返回对象的命名属性,属性名必须是字符串。如果字符串是对象的属性名之一,结果就是该属性的值。例如, getattr(x, ‘foobar') 等价于 x.foobar。 如果属性名不存在,如果有默认值则返回默认值,否则触发 AttributeError 。

# 使用范例

class TestGetAttr(object): test = \ def say(self):

print \def test_getattr(): my_test = TestGetAttr() try:

print getattr(my_test, \ except AttributeError: print \ try:

getattr(my_test, \

except AttributeError: # 没有该属性, 且没有指定返回值的情况下

print \if __name__ == '__main__': test_getattr()

# 输出结果 test attribute test method 命令行处理

def process_command_line(argv): \

Return a 2-tuple: (settings object, args list).

`argv` is a list of arguments, or `None` for ``sys.argv[1:]``. \

if argv is None: argv = sys.argv[1:] # initialize the parser object: parser = optparse.OptionParser(

formatter=optparse.TitledHelpFormatter(width=78), add_help_option=None) # define options here:

parser.add_option( # customized description; put --help last


Python语句、函数与方法的使用技巧总结(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:免费下载 万科集团住宅工程产品质量实测操作指引

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: