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