python是面向对象的高级语言,函数是高级语言所必须的,所以,来看看函数。
函数的定义:
def 函数名(参数):
pass
return 表达式
其中:pass是表示不执行任何操作,在没有函数内容时候使用。
函数名定义规则:数字,字母,下划线,数字不能开头。和变量名规则一致。
return 后可以返回任意表达式,但不能是赋值语句。如果没有写 return 则会默认返回 None(空值)。
注意 return 和 print 的区别
return 是返回值,不能打印出来,可以赋值给变量。
print 只是打印出来。
函数的调用:
函数名(参数)
例如:
def hello(a): #定义函数hello,参数为 a
print(‘hello world’)
return 1234 #返回值,1234 此处无论传入的参数为什么,都返回1234
hello(3) #调用函数。传入参数3.
函数的参数是什么呢。
函数的参数分为必备参数,默认参数,不定长参数,下面我们分别来看。
必备参数:函数调用的时候,必备参数是必须要传入的。
def hello(x):#定义函数hello,参数为 x ,这里就是必备参数
print(x)
hello('hello world')#调用函数
默认参数:注意,默认参数必须写在必备参数的后面。
def func(x,y=16):#定义函数 func ,参数为 x,y 。有有默认值。
print(x)
print(y)
func(5)#调用函数 func 且只传入一个参数,此时,参数 y 取默认值。
func(5,11)#调用函数 func ,传如两个参数,此时,参数 y 取传入参数的值。
不定长参数:不定长参数,是应为不知道需要传多少参数,所以使用不定长参数。在函数调用时,不定长参数可以不传入,也可以传入任意长度,在定义时,元组放在最前面,字典只能放在最后面
def func(*args,**kwargs):#定义函数 func 参数为 *args,**kwargs,表示不定长参数,
print(args)
print(kwargs)
func(1,2,3,a=5,b=8)#调用函数
参数 args 接收列表,元组,字符串等,除了字典外的所有参数
参数*kwargs 接收 字典元素。
参数 *args 必须写在参数 **kwargs 前面。这两个参数也被称为关键字参数。
注意:在python中,参数是没有类型限制的,参数可以接受任意对象,只有函数内部代码才可以限制参数类型。
python的内置函数。
查看python的内置函数
dir(__builtins__)#查看python的内置函数
由于python的内置函数众多,在这里只介绍几个较为常用的。
li = [1,2,3,4,5]
len()#求长度
len(li)#可以求出列表 li 的长度。
min()#求最小值
min(li)#求出列表 li 的最小值
max()#求最大值
max(li)#求除列表 li 的最大值
sorted()#排序
sorted(li)#对列表 li 进行排序,与列表中 sort() 的方法相同,不同的时,前者时函数,后者只是列表的方法。
reverse()#反向
reverse(li)#将列表 li 反向,注意,这里没有排序,只是反向。
sum()#求和
sum(li)#对列表中元素进行求和
python 中进制转换的函数(常用)
bin()#转为二进制
oct()#转为八进制
hex()#转为十六进制
ord()#字符转ASCII码
chr()#ASCII码转字符
python 中的几个常用高级内置函数
li = ['a','b','c','d','e']
enumerate()#返回一个可以枚举的对象
print(list(enumerate(li)))
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e')]#返回结果,前面数字为每个元素的下标索引。也就是说为每一个元素进行下标索引与元素的配对。
a = '1+3+5'
eval()#取出字符串内容,并将字符串当成有效的表达式求取并返回结果
print(eval(a)) #输出结果为 9 ,也就是说 a 是一个字符串,eval将字符串内容做了运算。
exec()#执行字符串编译过的字符
exec('x = 2')
a #输出结果 2
filter() #过滤器
def func(x):#定义一个函数
return x > 10
li = [2,5,12,33,65,89]
list(filter(func,li))#将函数 func 和 列表 li 放进 filter 中,使用 list 接受 。
#输出结果为:[12,33,65,89] 也就是将列表中满足函数 return 的元素输出。
map()#对于参数 iterable 中的每一个元素都应用 function 函数,并将结果作为列表返回。
def func(x):
return x*10 #此处的表达式可以自行定义,运算,判断,转换等等均可。
li = [1,2,3,4,5]
print(list(map(func,li)))
[10, 20, 30, 40, 50]
def func(x):
return x >3 #此处为判断
li = [1,2,3,4,5]
print(list(map(func,li)))
[False, False, False, True, True]
zip()#将对象逐一配对
li1 = [1,2,3]
li2 = ['a','b','c']
print(list(zip(li1,li2)))
[(1, 'a'), (2, 'b'), (3, 'c')]
网友评论