Python–函数基础和函数参数
函数的定义
def 函数名 (参数):
pass
**return** 表达式
函数名命名规则: 字母、数字和下划线组成,和变量命名规则一致
pass:在这里表示什么都没有,不执行任何操作
return: 后面可以返回任意表达式,但不能是赋值语句
return没有写返回值的话,默认None
return和 print的区别:return是函数的返回值,返回值可以赋值给变量,而print只是打印出来
函数调用:
函数名(参数)
SayHello()
def SayHello(a):
print("hello!",a)
SayHello("任太帅")
def LoveBook():
li=[]
for i in range(10):
li.append("我爱你")
return li
n1=LoveBook()
print(n1)
函数参数
(1)、必备参数
def func(n):
print(n)
func(1)
n没有等号,则为必备参数,必须放一个值
def func(n):
print(n+200)
a=1
func(a)
(2)、默认参数:
def func(x, y=None):
**print**(x)
print(y)
func(1)
func(1, 2)
注意:默认参数要位于必备参数列表的后面
def func(n,m=0):
print(m,n)
func(1)
func(1,2)
def func(a,b):
print("--计算年龄差--")
c=a-b
print('年龄差%s'%c)
print('--结束--')
n1=int(input('请输入年龄1:'))
n2=int(input('请输入年龄2:'))
func(n1,n2)
(3)、不定长参数:
def func (*args, **kwargs):
print(args)
print(kwargs)
调用1:func(1, 2, 3, a=4, b=5, c=6)
调用2:func(*(1, 2, 3), **{‘a’: 4, ‘b’: 5, ‘c’: 6})
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6mC1Xizn-1578213140471)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20191227214534199.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Ugnruwv-1578213140472)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20191228204425926.png)]
(4)、关键字参数:
def func (x):
**print** (x)
func (x=1)
def func(n,m=1):
print(m,n)
func(n=2,m=5)
def func(必备参数,默认参数,不定长参数,关键字参数)
例:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0mUZBjGb-1578213140473)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20191227215604730.png)]
常用内置函数
简单内置函数
(1)、查看所有内置对象:
dir(builtins)
(2)、常见函数:
len ()求长度 ; min() 求最小值; max() 求最大值; sum 求和
sort():列表内置,对列表进行直接排序,没有返回值。
sorted():从小到大 排序,返回一个新的列表。
reversed(): 反向排序,可操作类型str、tuple、list;
(3)、进制转换函数:
bin() 转换为二进制;
oct ()转换为八进制;
hex ()转换为十六进制;
ord () 字符转ASCII码;
chr () ASCII码转字符;
高级内置函数
1、 enumerate 返回一个可以枚举的对象,可接收到元素的索引值
dict(enumerate(序列类型))
>>>print(dict(enumerate(['a','b','c'])))
{0: 'a', 1: 'b', 2: 'c'}
li=['a','b','c']
for j,i in enumerate(li):
if j==1:
print(j,i)
2、eval
(1).取出字符串中的内容
(2).将字符串str当成有效的表达式来求指并返回计算结果,不能赋值
a='1+1+1' #爬虫,数字图形图像识别码,6+4-3 图像识别API
print(a)
print(eval(a))
1+1+1
3
3、exec 执行字符串编译过的字符串
aa='print("hello python")'
print(aa)
exec(aa)
print("hello python")
hello python
4、filter() 过滤器
使用封装的函数,过滤不符合条件的元素,返回符合条件的列表。
def func(n): #过滤奇数
return n%2 ==1
#filter(条件函数体,数据) 返回列表
newlist=filter(func,[1,2,3,4,5,6,7,8,9,646,56,4,131,46,])
print(list(newlist))
[1, 3, 5, 7, 9, 131]
5、map()
会根据提供的函数对指定的序列做一个映射,并将结果作为列表返回。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wtFmnpE9-1578213140474)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20191228215427945.png)]
def square(x):
return x**2
newlist = map(square,[1,2,3,4,5,6,7,8,9])
print(list(newlist))
[1, 4, 9, 16, 25, 36, 49, 64, 81]
6、zip() 将对象逐一配对
t=['a','b','c']
k=[4,5,6]
print(dict(zip(t,k))) #根据情况选择 dict、list、tuple
{'a': 4, 'b': 5, 'c': 6}
7、lambda( ) 匿名函数
没有名字的函数,轻量级的,输入输出
newlist=map(lambda x:x*10,[1,2,3,4,5,6,7,8,9,646,56,4,131,46,])
#lambda x:x*10 是指对x实行后面的x*10的操作
print(list(newlist))
[10, 20, 30, 40, 50, 60, 70, 80, 90, 6460, 560, 40, 1310, 460]
python的pep8编码规范
a( ) 匿名函数
没有名字的函数,轻量级的,输入输出
newlist=map(lambda x:x*10,[1,2,3,4,5,6,7,8,9,646,56,4,131,46,])
#lambda x:x*10 是指对x实行后面的x*10的操作
print(list(newlist))
[10, 20, 30, 40, 50, 60, 70, 80, 90, 6460, 560, 40, 1310, 460]
python的pep8编码规范
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TxcDflTZ-1578213140474)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200101141637562.png)]
本文深入解析Python函数的基础概念、参数类型及其应用,包括必备参数、默认参数、不定长参数和关键字参数。同时,详细介绍了Python的内置函数,如len(), min(), max(), sum(), sort(), reversed()等,以及高级内置函数如enumerate(), eval(), exec(), filter(), map(), zip(), lambda()等的功能和使用场景。

被折叠的 条评论
为什么被折叠?



