【第16天】python全栈从入门到放弃
2019-08-12 本文已影响0人
36140820cbfd
1. 函数的知识回顾
以功能为导向,封装一个功能
2 函数的返回值return
return:中止函数,并将返回值返回给函数的调用者
没有return,返回none
只有return,返回none
1个return,返回返回值
多个return,返回元组
代码块
def func():
return 1,2,3
def func2():
return True
f=func()
print(f) #多个返回值,返回元组,(1, 2, 3)
f2=func2()
if f2:
print('hello')
3 代码规范(ctrl+alt+l)
4 函数的打散和聚合
当定义一个函数的时候,*代表聚合
当调用执行一个函数的时候,*代表打散
代码块
def func(*args,**kwargs): #* **代表聚合
print(args)
print(kwargs)
# f=func(1,2,3,name='wangsiyu',age=18)
num=(1,2,3)
info={'name':'wangsiyu','age':18}
f1=func(*num,**info) #* **代表打散
# 输出结果:
# (1, 2, 3)
# {'name': 'wangsiyu', 'age': 18}
5 名称空间
名称空间:当函数执行时,将变量与值的对应关系存放在一个空间中
临时名称空间:当函数执行时,将函数内部变量与值的对应关系存放在一个空间中,函数结束完毕空间消失。
内置名称空间:python解释器自带的空间。
6. global和nonlocal
global:在函数中生命一个全局变量
nonlocal:在函数中对父级或者更高级修改变量(不能修改全局变量)
7 闭包
内层函数对外层函数的引用
8 迭代器
内部含有iter()和next()方法
好处:节省内存(列表存储所有元素,迭代器只存储一个地址)
惰性机制(只有next()才出来)
只能往前,不能往后,一条路走到黑
9 生成器
自己用python写的迭代器就是生成器
代码块
l1= [i for i in range(1,100)]
l1= [i for i in range(1,100) if i >50]
别跑,点个赞再走