首先,复习几个函数的基本概念:
参数组
你可以将所有参数放到一个元组或者一个字典中,不必显式地放倒一个函数调用中
func(*tuple_group_nonkw_args,**dict_group_kw_args)l
举个例子,
from operator import add, sub
from random import randint, choice
ops={'+':add, '-':sub}
op=choice('+-')
nums=[3,1]
ops[op](*nums)
注意此处nums前面的星号是一定不能少的
函数属性
句点属性标识保证了不同函数的名称空间时互不干涉的
foo.x+bar.x(此处的两个x表示对应部不同的内存地址,不同的数字)
内嵌函数
在函数体内创建另外一个函数对象
函数与方法装饰器
修饰仅当声明一个函数或者方法,才会应用的额外调用
@decorator(dec_opt_args)
def(func2Bdecorated)(fund_opt_args):
带参数的装饰器
装饰器输入参数,返回一个函数对象,该函数对像的参数正是被装饰的函数
装饰器的本质是函数
引入日志
增加计时逻辑来检测性能
给函数加上事物的能力
传递函数
Python和C的最大不同:没有指针的概念
函数本身是可以被引用的:bar=foo
函数本身是可以被调用的:def bar(argfunc):argfunc()
Property
简单来说,就是使得类中的属性既保有直接访问的灵活性,又能够进行合理的检查,保持程序的健壮。
相关资料可以参考下面的连接,这里不多说了