前置
print(abs(-10.2))#abs()求绝对值的函数
print(max(2,5,4,9,3))#max()求最大值的函数
print(str(123.545))#str()转成字符型的函数
函数
def sun(n):#定义函数需要用关键字:def
m=n+54
return m #函数必须要又返回值
print(sun(45))#函数的实现
def nouse():
pass#可以定义一个函数在这儿,但是不用,直接用关键字pass掉。
lx=0
ly=0
def move(x,y):#python中,函数可以返回多个值
nx=lx+x
ny=ly+y
return nx,ny
print(move(15,25))
参数传递
def imformation(name,gender,age=6,city='Beijing'):
#在定义函数时,参数可以默认,然后没有传参数的话就以默认的为准
print('name:',name)
print('gender:',gender)
print('age:',age)
print('city:',city)
return
imformation('ahahha','M',8,'tianjing') #可以传递新的参数
imformation('cccccc','M',12)
imformation('bbaba','F',city='tianjing') #如果中间有个参数不传递的话,后面的参数必须注明
可变参数的运用
##########第一种可变参数###########
def calc(numbers):
sum=0
for k in numbers:
sum=sum+k*k
print(sum)
return
calc([1,2,3]) #这样,定义的一个不变参数,但是传参的时候传递的是list或者tuple
calc((1,2,3)) #就可以形成可变参数
##########第二种可变参数###########
def calc_1(*numbers):
sum=0
for k in numbers:
sum=sum+k*k
print(sum)
return
calc_1(1,2,3,4)#像这样,在定义参数的时候添加一个*号,就变成了可变参数
calc_1()#还可以传递空参数
python中关键字参数的使用
def person(name,age,**other):#定义了一个函数,其中前两个是固定参数,后面一个是关键字参数
print('name:',name,'age:',age,'other:',other)#关键字参数,接收任意多个带参数名的参数
return
person('adsds','15')#只传递必要参数
person('sssss','20',city='Beijing',job='student')#传递必要参数以及其他参数
#其实可以把上面的处必要参数的其他参数组成一个dict{}
dict_2={'city':'Beijing','job':'student'}
person('sssss',20,city=dict_2['city'],job=dict_2['job'])#这样写,感觉更麻烦
person('sssss',20,**dict_2)#这样写显得更为简单,实际效果一样
##python中命名关键字的作用和使用
def person_1(name,age,,city,job):#定义了一个命名关键字的函数,号是关键字,*号后面的为命名关键字
print(name,age,city,job)
return
#person_1('zhangsan',25)#这句话报错,说明命名关键字必须传参
person_1('zhangsan',25,city='Beijing',job='student')#命名关键字的传参必须带着参数名
def person_2(name,age,*arg,city,job):#这个函数中有一个可变参数,那么可变参数后面的参数都视为命名关键字参数
print(name,age,arg,city,job)
return
person_2('zhangsan',15,city='Tianjing',job='BOSS')#可变参数可以不用传参
#person_2('zhangsan',25)#这句也会报错,说明命名关键字的参数必须传递参数名和参数
#其中,这些参数可以相互使用,顺序为:必选参数,默认参数,可变参数,命名关键字参数,关键字参数
def person_3(name,age=20,*arg,city,**other):
print(name,age,arg,city,other)
return
person_3('zahngsan',city='Beijing')
person_3('zhansn',25,'hahah','shffjsa',city='Beijing',job='s',d='x')
#上面这句,运行结果如下:
#zhansn 25 ('hahah', 'shffjsa') Beijing {'job': 's', 'd': 'x'}