水泥价格行情,网上看世界杯,七十二层奇楼固定嘉宾
函数名当作值,赋值给变量
print(函数名) 查看看书的内存地址
函数名可以当作容器中的元素
lis = []
dic = {}
def func():
print(11)
def foo():
print(22)
lst.append(func)
lst.append(foo)
print(lst)# 输出后的是内存地址
msg = """
1 登录
2 注册
3 主页
"""
choose = input(msg) # 1
if choose.isdecimal():
if dic.get(choose):
dic[choose]()
else:
print("请正确输入!")
# 用字典存储大量数据,通过字符串显示每个数字代表的功能,在字典中找到并读取该值
函数名可以当作函数的参数
def func(a):
print(111)
a()
def foo():
print(222)
func(foo)
函数名可以当作函数的返回值
def func():
def foo():
print(111)
return foo
func()() # foo()
f"{变量名}"
f"{变量名}"
f"""{变量名}"""
f"{input()}"
f"{3 if 3 > 2 else 2}"
f"{list[索引]}"
f"{dict[keys]}"
迭代器是基于上一次停留的位置,进行取值
可迭代对象
具有iter()方法就是可迭代对象
list,tuple,str,srt,dict # 取值方式直接看
# 只有具有.__iter__()方法就是一个可迭代对象
迭代器
具有.iter()和.next()两个方法才是迭代器
迭代器的优点:
惰性机制——节省空间。
迭代器的缺点:
不能直接查看值,迭代器看到的是一个迭代器的内存地址
一次性,用完就没了
不能逆行(后退)
空间换时间:容器存储大量的元素,取值时间短,但是容器占用空间比较大
时间换空间:迭代器就是节省了空间,但是取值时间较长。
python3:
iter()和iter()都有;next()和next()都有
python2:
只有__iter__(),next()
# python3:iter()和__iter__()都有;next()和__next__()都有
# python2:只有iter(),next()
# 具有.__iter__()和.__next__()两个方法才是迭代器
lis = [1,2,3,4,5,6]
l = lis.__iter__()# 将可迭代对象转换成迭代器
l = iter(lis) # iter 和__iter__是一样的
l.__iter__()#迭代器指定__iter__()还是原来的迭代器
# for 循环的本质:
while true:
try:
print(l.__next__())
except stopiteration:
break
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
新手学习Python2和Python3中print不同的用法
Python基于os.environ从windows获取环境变量
网友评论