Python零基础入门讲义:函数的用法
目录:
1.定义、使用函数
1.函数定义:def
2.函数调用:例:myprint()
学习Python中有不明白推荐加入交流群
? ? ? ? ? ? ? ? 号:864573496
? ? ? ? ? ? ? ? 群里有志同道合的小伙伴,互帮互助,
? ? ? ? ? ? ? ? 群里有不错的视频学习教程和PDF!
3.函数可以当作一个值赋值给一个变量 例:a=myprint()? ? a()
4.写return? ?return必需是最后一句,不写return返回null
2.函数的参数
1.不带参数的函数
2.带固定参数的函数
3.带可变参数的函数
4.带关键字参数的函数
5.参数顺序:固定、可变、关键字参数? ? #可变参数最多只能有一个
3.变量的作用范围
1.全局变量:除在函数内公告的变量都是全局变量
2.局部变量:当一个变量同时存在于函数内和函数外,函数内优先使用局部变量
3.函数再调用之前,函数内部的变量必需再调用之前存在
4.global 改的是全局变量
5.nonlocal用在嵌套函数,内层改外层
4.可变量与不变量
1.函数内部不能修改不变量,在内部只是把值传进去,外部依然是原来的值
2.可变量:列表、字典、集合
3.不变量:数字、字符串、元组
5.匿名函数与高阶函数
1.匿名函数:很短,只用一次
2.高阶函数:
过滤:filter
遍历:map
递归:reduce
排序:sorted
2.函数的参数
print(“函数的定义:”)
print(“不带参数的定义:”)
def myfunc():
? ? print(“哈哈”)
? ? return1myfunc()
a=myprint()#先将myprint函数执行一遍,将返回值赋给 aprint(“a的值:”,a)print(“a的类型”,type(a))
b=myprint#b 即myprint函数b()#调用函数print(“b的值:”,b)print(“b的类型”,type(b))print(“带固定参数的定义:”)def myfunc2(a1):
? ? c=sum(a1)
? ? print(c)
myfunc2([1,2])print(“带可变参数的定义:”)defmyfunc3(*args):
? ? c=sum(args)
? ? print(c)
myfunc3()
myfunc3(1)
myfunc3(1,2,3)print(“固定参数与可变参数:”)defmyfunc4(a,*args):
? ? print(a,args)
myfunc4(“a”,”b”)
myfunc4(“a”,”b”,”c”)print(“固定参数、可变参数、关键字参数:”)defmyfunc5(a,*args,k=2):
? ? print(a,args,k)
myfunc5(1,2)
myfunc5(1,2,3,k=3)
3.变量的作用范围
#全局变量print(“全局变量:”)
a=”sss”foriin a:
? ? m=iprint(a)print(m)print(“局部变量:”)def mycount():
? ? a=1? ? b=2print(“局部a”,a)
? ? returna+b
res=mycount()print(res)print(“全局a”,a)print(“函数内修改全局变量:”)
d=9a=3def myfunc(a1,a2):
? ? globala#函数内部修改全局变量a=4print(“内部a”,a)
? ? returna1+a2print(myfunc(a,d))print(“全局a”,a)print(“嵌套函数变量:”)def f1():
? ? a=3def f2():
? ? ? ? nonlocal a? ? ? #只在嵌套函数中使用,内层修改外层print(a)
? ? ? ? a=5? ? f2()
? ? print(a)
f1()
4.可变量与不变量
a1=”abc”b1=[1,2,3]print(“不可变量字符串与可变变量列表的用法”)def f1(a,b):
? ? a+=”d”print(a)
? ? b.append(4)
? ? print(b)
f1(a1,b1)print(“字符串是不可变量”,a1,”列表是可变量”,b1)#字符是不可变量,在函数外值还是原来的值,列表是可变量,在函数内修改,函数外也跟着修改print(“不可变量数字的用法:”)
c1=66def f2(c):
? ? c+=6print(c)
f2(c1)print(“数字是不可变量”,c1)print(“可变变量集合的用法:”)
d1={1,4}def f3(d):
? ? d.add(7)
? ? print(d)
f3(d1)print(“可变变量集合”,d1)print(“可变量字典的用法:”)
e1={1:”x”,2:”y”}def f4(e):
? ? e[1]=”m”print(e)
f4(e1)print(“可变量字典”,e1)
?5.匿名函数与高阶函数
filter:?filter(function,sequence),function可以是匿名函数或者者自己设置函数,它会对后面的sequence序列的每个元素判定能否符合函数条件,返回TRUE或者者FALSE,从而只留下TRUE的元素;sequence可以是列表、元组或者者字符串?
map:它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回
reduce:reduce(function,iterable),其中function必需传入两个参数,iterable可以是列表或者者元组
sorted:函数对所有可迭代的对象进行排序操作。
python 匿名函数与高阶函数#匿名函数lambdaprint(“匿名函数:”)
f=lambdai:i*2print(f(3))
f2=lambdam,n:m*nprint(f2(2,4))print(“高阶函数:”)#挑选filterprint(“挑选filter:”)
result=[(“G211″,”5″,””),
? ? ? ? (“D311″,”7″,””),
? ? ? ? (“T411″,””,”8″),
? ? ? ? (“K511″,””,”6″)
? ? ? ? ]print(list(filter(lambdai:i[0][0]in”GD”,result)))print(list(filter(lambdai:i[0][0]notin”GD”,result)))#遍历mapprint(“遍历map:”)
list(map(print,filter(lambdai:i[0][0]in”GD”,result)))
list(map(print,filter(lambdai:i[0][0]notin”GD”,result)))
list(map(lambdax: x ** 2, [1, 2, 3, 4, 5]))print(list(map(abs,[-1,2,-3,4])))#递归reduceprint(“递归reduce:”)fromfunctoolsimport reducedef add(x,y):
? ? returnx+yprint(reduce(add,[1,2,3,4,5]))print(reduce(lambdai,j:i+j,[1,2,3,4,5]))#排序sortedprint(“排序sorted:”)print(sorted([1,5,7,3,-2]))print(sorted([1,5,7,3,-2],reverse=True))#reverse=True从大到小排序,默认从小到大l=[(‘a’, 1), (‘b’, 2), (‘d’, 6), (‘e’, 4), (‘c’, 3)]print(sorted(l,key=lambda i:i[0]))print(sorted(l,key=lambdai:i[0],reverse=True))
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Python零基础入门讲义:函数的用法