python函数知识点总结⼤全
1.函数的概念
1. 概念暴雪与网易终止14年合作
2. 作⽤
1. ⽅便代码复⽤
2. 分解任务,简化程序逻辑
3. 使代码更加模块化
3. 函数分类
1. 内建函数
2. 三⽅函数
3. ⾃定义函数
日版eclipse字体大小设置
2.函数的基本使⽤
1. 简单定义
def函数名():
函数体
2. 函数的调⽤:函数名()
3.函数的参数
1. 单个参数
1. 场景:需要动态的调整函数体中某⼀个处理信息时,则可以以参数的形式接受到相关数据
2. 定义:
def函数名(形参):
函数体
3. 函数的调⽤:函数名(实参)
4. 形参和实参的概念
红烧肉怎么做最好吃又简单视频教程下载2. 多个参数
1. 场景:需要动态的调整函数体中多个处理信息时,则可以以逗号作分割,接受多个参数
2. 定义:
def函数名(形参1,形参2):
函数体
3. 函数的调⽤
1. ⽅式⼀:函数名(实参1,实参2,实参3…):形参实参⼀⼀对应
2. ⽅式⼆:函数名称(形参1=实参1,形参n=实参n…):可以指明形参名称(关键字参数);不需要严格按照顺序
3. 不定长参数
1. 场景:如果函数体中,需要处理的数据不确定长度,则可以以不定长参数的⽅式接受数据
2. ⽅式⼀
2. ⽅式⼀
1. 定义
def函数名(*args):#元组
函数体#函数体中,可以直接以元组变量的⽅式使⽤该参数
2. 使⽤:函数名(实参1,实参2,实参3…)
3. ⽅式⼆
1. 定义
def函数名(**dict):#字典
帝国cms快速仿站函数体#函数体中,可以直接以字典变量的⽅式使⽤该参数
2. 使⽤:函数名(参数名称1=参数1,参数名称2=参数2…)
4. 参数拆包
1. 装包:把传递的参数,包装成⼀个集合,称之为”装包“
2. 拆包:把集合参数,再次分解成单独的个体,称之为”拆包“
def mySum(a,b,c,d):
print(a+b+c+d)
def test(*args):
print(args)#装包
print(*args)#拆包
mySum(*args)
test(1,2,3,4)
def mySum(a,b):
print(a)
print(b)
def test(**kwargs):
print(kwargs)
#print(**kwargs):拆包操作,使⽤**进⾏拆包操作,这样输出会出错,但可以直接使⽤,如下:
mySum(**kwargs)#相当于拆成了a=1,b=2(若test(a=1,c=2),则会报错)
test(a=1,b=2)
4. 缺省参数(默认值)
1. 场景:当我们使⽤⼀个函数时,如果⼤多数情况下,使⽤的某个数据是⼀个固定值或属于主功能之外的⼩功能实现,则可以使⽤
默认值(这种参数称为”缺省参数“)
2. 定义
def函数名(形参1=默认值1,形参2=默认值2...):
函数体
3. 使⽤:函数名(实参1,实参2),此处如果是缺省参数,可以不写
5. 参数注意
1. 值传递和引⽤传递
1. 值传递:是指传递过来的,是⼀个数据的副本;修改副本对原件没有任何影响
2. 引⽤传递:是指传递过来的,是⼀个变量的地址;通过地址,可以操作同⼀份原件
2. 但是注意
1. 在python中,没得选,只有引⽤传递(地址传递)
2. 但是
如果数据类型是可变类型,则可以改变原件
如果数据类型是不可变类型,则不可以改变原件
4.函数的返回值
1. 场景:当我们通过某个函数,处理好数据之后,想拿到处理的结果
2. 语法
def函数():
函数体
return返回值
3. 注意事项
如果想要返回多个数据,可先把多个数据包装成⼀个集合,整体返回(列表、元组、字典…)
5.函数的使⽤描述
1. 场景:当我们编写三⽅函数,为了便于他⼈使⽤,就需要描述清楚我们所写的函数功能以及使⽤⽅式等信息
2. 定义格式:直接在函数体的最上⾯,添加三个双引号对注释
def函数():
"""帮助信息"""
函数体
【return返回值】
3. 查看函数使⽤⽂档:help(函数名称)
4. 经验:⼀般函数的描述需要说明以下⼏个信息:
1. 函数功能
2. 参数
1. 含义
2. 类型
3. 是否可以省略
4. 默认值
3. 返回值
1. 含义
2. 类型
6.偏函数performclick
1. 概念&场景
当我们写⼀个参数⽐较多的函数时,如果有些参数,⼤部分场景下都是某⼀个固定值,那么为了简化使⽤,就可以创建⼀个新函数,指定我们要使⽤的⽼函数的某个参数,为某个固定的值;这个新函数就是“偏函数”。
2. 语法
1. ⽅式⼀:⾃⼰写⼀个新的
def test(a,b,c,d=1):
print(a+b+c+d)
def test2(a,b,c=1,d=2):
test(a,b,c,d)
test2(1,2)
2. ⽅式⼆:借助functools模块的partial函数
import functools
newFunc = functools.partial(函数名称,特定参数=偏爱值)
def t(a,b,c,d=1):
print(a+b+c+d)
t2 = functools.partial(t,c=1)
t2(1,2)
3. 使⽤场景:int()
nmuStr ="100010"
result =int(numStr,base=2)
print(result)#34
#在往后的⼀段时间内,都需要将⼀个⼆进制的字符串,转换成为对应的⼗进制数字
import functools
int2 = functools.partial(int,base=2)
print(int2(numStr))
7.⾼阶函数
1. 概念:当⼀个函数A的参数,接收的是另⼀个函数时,则把这个函数A称为“⾼阶函数”
2. 例如:sorted函数
l =[{"name":"sz","age":18},{"name":"sz2","age":13},{"name":"sz3","age":19}]
def getKey(x):
return x["age"]
reslut =sorted(l,key=getKey)
print(reslut)
3. 案例:动态计算两个数据
def caculate(num1, num2, caculateFunc):
print(caculateFunc(num1, num2))
def sum(a, b):
return a + b
def jianfa(a, b):
return a - b
caculate(6,2, jianfa)
8.返回函数
1. 概念:是指⼀个函数内部,它返回的数据是另外⼀个函数;把这样的操作称为“返回函数”
2. 案例:根据不同参数,获取不同操作,做不同的计算
def getFunc(flag):
def sum(a,b,c):
return a+b+c
def jian(a,b,c):
python基础代码大全下载
return a-b-c
#根据不同的flag值,来返回不同的操作函数
if flag =="+":
return sum
elif flag =="x":
return jian
function = getFunc("+")
result = function(1,3,5)
print(result)
9.匿名函数
1. 概念:也称为“lambda函数”;顾名思义,就是指没有名字的函数
2. 语法
1. lambda 参数1,参数2…:表达式
2. 限制
1. 只能写⼀个表达式:不能直接return
2. 表达式的结果就是返回值
3. 只适⽤于⼀些简单的操作处理
3. 测试
result =(lambda x,y:x+y)(1,2)
print(result)
newFunc =lambda x,y:x+y
print(newFunc(1,2))
l =[{"name":"sz","age":18},{"name":"sz2","age":13},{"name":"sz3","age":19}]
reslut =sorted(l, key=lambda x: x["age"])
print(reslut)
10.闭包
1. 概念:下⾯的内层函数+所引⽤的外层变量,称为“闭包”
1. 在函数嵌套的前提下
2. 内层函数引⽤了外层函数的变量(包括参数)
3. 外层函数⼜把内层函数当作返回值进⾏返回
2. 标准格式
def test1(a):
b=10
#其他函数定义代码
def test2():
print(a)
print(b)
return test2
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论