python学习第十一天,函数,闭包函数,函数名,可迭代对象与迭代器globas()l与locals()
2021-07-15 16:07
标签:tle 自定义 func ext collect 类类型 功能 哪些 变量 内置函数: dir(str)或dir(‘alex‘) --->看该类型内置的方法有哪些,返回一个列表 dict.__iter__() 或 iter(dict) --->将可迭代对象转换为迭代器 iter1.__next__() 或 next(iter1)--->将迭代器里面的元素一一输出 globals() locals() 引入模块判断某个对象是否是可迭代对象,或是迭代器 from collections import Iterator print(isinstance(‘alex,Iterator))---->判断是否是迭代器 from collections import Iterable print(isinstance(‘alex‘,Iterable))--->判断是否是可迭代对象 跳过Bug: try: #跳过报错 pass expect StopIteration pass 1.break 打破for循环 2.函数的理解: 内置函数 自定义函数:一般用完即在内存中清除,除了闭包函数 python可以非常灵活地自定义函数,函数可以被多次调用 3.函数名(函数对象)的应用场景:函数名指向函数的内存地址,函数名加括号就是函数的调用 ------->函数名是第一类对象 a.函数名可以作为值,被赋值给另外一个变量(一般调用函数时用) b.函数名可以作为函数的参数(在函数中调用另外一个函数用) c.函数名可以当做函数的返回值(闭包函数时) d.函数名可以当做容器类类型里面的元素(一次性调用多个函数) 3.闭包函数: 运用:爬虫,装饰器 4.globals()与locals() 加括号的叫做函数:globals(),locals() 不加括号的叫做属性global,nonlocal 区分: globals():仅返回全局的和内置的变量,构成一个字典 local():返回当前位置的变量,构成一个字典 5.可迭代对象和迭代器(python中一切皆对象) 可迭代对象的判断:该对象内置有__iter__方法的,就是可迭代对象 (str,list,dict,ret,tuple,range()) 迭代器的判断:该对象内置有__iter__方法,和__next__方法的,就是迭代器 (句柄f) 1.手动转换: 2.for循环自动转换 用while循环模拟for循环的的自动转换过程 迭代器的特性: 1.迭代器在内存中开辟一个内存地址,每次只取一个值:(可以处理大数据) 然而可迭代对象在读取时开辟N个地址,会占用内存 2.迭代器的取值是单向的,不能倒退,可以有记录节点的功能 python学习第十一天,函数,闭包函数,函数名,可迭代对象与迭代器globas()l与locals() 标签:tle 自定义 func ext collect 类类型 功能 哪些 变量 原文地址:https://www.cnblogs.com/jiandanxie/p/9536472.htmllist1 = [1,2,3]
for i in list1:
print(i)
if i == 1:
break
def func():
pass
f = func
f()
def func1():
print(666)
def func2(s):
s()
func2(func1)
def wraaper():
def inner():
print(666)
return inner
ret = wraaper()
ret()
def func1():
print(1)
def func2():
print(2)
def func3():
print(3)
list1 = [func1,func2,func3]
for i in list1:
i()
def func1():
a = 2
b = 3
print(globals())
print(locals())
def inner():
c = 5
d = 6
print(globals())
print(locals())
inner()
func1()
def func():
a = 3
b = 4
print(locals())
print(globals())
func()
a = 1
b = 2
print(globals())
print(locals())
list1 = [1,2,3]
iter1 = list1.__iter__()
print(iter1.__next__())
list1 = [1,2,3]
for i in list1:
print(i)
list1 = [1,2,3]
iter1 = list1.__iter__()
while 1:
try:
print(iter1.__next__())
except StopIteration
break
文章标题:python学习第十一天,函数,闭包函数,函数名,可迭代对象与迭代器globas()l与locals()
文章链接:http://soscw.com/essay/105647.html