python函数的目的与意义_python函数的用法

python函数的用法

目录:

1.定义、使用函数

1.函数定义:def

2.函数调用:例:myprint()

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("不带参数的定义:")defmyfunc():print("哈哈")return 1myfunc()

a=myprint() #先将myprint函数执行一遍,将返回值赋给 a

print("a的值:",a)print("a的类型",type(a))

b=myprint #b 即myprint函数

b() #调用函数

print("b的值:",b)print("b的类型",type(b))print("带固定参数的定义:")defmyfunc2(a1):

c=sum(a1)print(c)

myfunc2([1,2])print("带可变参数的定义:")def myfunc3(*args):

c=sum(args)print(c)

myfunc3()

myfunc3(1)

myfunc3(1,2,3)print("固定参数与可变参数:")def myfunc4(a,*args):print(a,args)

myfunc4("a","b")

myfunc4("a","b","c")print("固定参数、可变参数、关键字参数:")def myfunc5(a,*args,k=2):print(a,args,k)

myfunc5(1,2)

myfunc5(1,2,3,k=3)

3.变量的作用范围

#全局变量

print("全局变量:")

a="sss"

for i ina:

m=iprint(a)print(m)print("局部变量:")defmycount():

a=1b=2

print("局部a",a)return a+b

res=mycount()print(res)print("全局a",a)print("函数内修改全局变量:")

d=9a=3

defmyfunc(a1,a2):global a #函数内部修改全局变量

a=4

print("内部a",a)return a1+a2print(myfunc(a,d))print("全局a",a)print("嵌套函数变量:")deff1():

a=3

deff2():

nonlocal a#只在嵌套函数中使用,内层修改外层

print(a)

a=5f2()print(a)

f1()

4.可变量与不变量

a1="abc"b1=[1,2,3]print("不可变量字符串与可变变量列表的用法")deff1(a,b):

a+="d"

print(a)

b.append(4)print(b)

f1(a1,b1)print("字符串是不可变量",a1,"列表是可变量",b1) #字符是不可变量,在函数外值还是原来的值,列表是可变量,在函数内修改,函数外也跟着修改

print("不可变量数字的用法:")

c1=66

deff2(c):

c+=6

print(c)

f2(c1)print("数字是不可变量",c1)print("可变变量集合的用法:")

d1={1,4}deff3(d):

d.add(7)print(d)

f3(d1)print("可变变量集合",d1)print("可变量字典的用法:")

e1={1:"x",2:"y"}deff4(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 匿名函数与高阶函数#匿名函数lambda

print("匿名函数:")

f=lambda i:i*2

print(f(3))

f2=lambda m,n:m*nprint(f2(2,4))print("高阶函数:")#筛选filter

print("筛选filter:")

result=[("G211","5",""),

("D311","7",""),

("T411","","8"),

("K511","","6")

]print(list(filter(lambda i:i[0][0] in "GD",result)))print(list(filter(lambda i:i[0][0] not in "GD",result)))#遍历map

print("遍历map:")

list(map(print,filter(lambda i:i[0][0] in "GD",result)))

list(map(print,filter(lambda i:i[0][0] not in "GD",result)))

list(map(lambda x: x ** 2, [1, 2, 3, 4, 5]))print(list(map(abs,[-1,2,-3,4])))#递归reduce

print("递归reduce:")from functools importreducedefadd(x,y):return x+yprint(reduce(add,[1,2,3,4,5]))print(reduce(lambda i,j:i+j,[1,2,3,4,5]))#排序sorted

print("排序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=lambdai:i[0]))print(sorted(l,key=lambda i:i[0],reverse=True))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值