标签:它的 class 系统 获取 __iter__ 装饰器 改变 __next__ +=
#语法:(lambda 参数(形参) : 返回值)(实参)
#1.闭包:将函数作为返回值返回
#2.通过闭包可以创建一些只有当前函数能访问的变量
#3.可以将一些私有的数据藏到的闭包中
#1.可迭代对象:含有__iter__()方法的对象,可迭代的对象:str,list,tuple,dict,set,文件对象
#2.迭代器:含有__iter__()和__next__()方法
a.对于可迭代对象,通过__iter__()方法或者iter()可以返回一个迭代器对象
b.可以通过__next__()方法和next()获取迭代器下一个元素
#装饰器:再不改变函数源码的前提下对函数功能进行拓展
dir([object])
#1.如果没有实参,则返回当前本地作用域中的名称列表。如果有实参,它会尝试返回该对象的有效属性列表
#2.dir()对不同的对象行为会不同
如果对象是模块对象,则列表包含模块的属性名称
如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性
否则,列表包含对象的属性名称,它的类属性名称,并且递归查找它的类的所有基类的属性
help([object])
#1.启动内置的帮助系统
#2.如果实参是一个字符串,则在模块、函数、类、方法、关键字或文档主题中搜索该字符串,并在控制台上打印帮助信息
class type(object)
class type(name, bases, dict)
#传入一个参数时,返回object的类型。 返回值是一个type对象,通常与object.__class__所返回的对象相同
#1.匿名函数
def sum(a,b):
return a + b
sum(10,20)
#简写
a = (lambda a,b : a + b)(10,20)
print(a)
#2.闭包
def function():
def sum(*args):
result = 0
for i in args:
result += i
return result
return sum
result = function()
print(result(1,2))
#3.迭代器
list1=[1,2,3,4,5,6,7,8]
print(dir(list1))
list1=[1,2,3,4,5,6,7,8]
list2=list1.__iter__()#迭代器
print(list2.__next__())
print(list2.__next__())
print(dir(list2))
#4.装饰器
def sum(a,b):
result = 0
result = a + b
print(result)
#a.现需增加提示之行开始,之行结束功能
def new_func(old):
def func_add(*args,**kwargs):
print("函数开始执行....")
old(*args,**kwargs)
print("函数执行结束....")
return func_add
f = new_func(sum)
f(2,3)
@new_func
def fun():
print("hello")
fun()
'''
def new(old):
def new_function(*args,**kwargs):
print("=======")
old(*args,**kwargs)
print("-------")
return new_function
@new
@new_func
def func():
print("python")
func()
'''
标签:它的 class 系统 获取 __iter__ 装饰器 改变 __next__ +=
原文地址:https://www.cnblogs.com/niaocaizhou/p/12155644.html