python中函数的基本结构及参数
Posted 铁子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中函数的基本结构及参数相关的知识,希望对你有一定的参考价值。
函数:定义了之后可以在任何需要它的地方调用
返回值3种情况:
1:没有返回值
不写return
只写rerurn:结束一个函数的连续
return None
2:返回一个值
3:返回多个值(这里多个值可以用一个变量接收,也可以用多个变量接收
一个变量接收就是元祖)
1 def my_len(s): #自定义函数只需要0个参数,接收参数 2 pass 3 return 0 #返回值 4 s = ‘我们一起学习python‘ 5 ret = my_len(s) #传递参数:传参,实际参数,实参 6 print(ret)
顺序:位置参数,*args,默认参数,**kwargs
1:传多个参数
1 def my_sum(a, b): #位置参数 2 res = a+b 3 return res 4 ret = my_sum(2,1) #位置传参 5 ret1 = my_sum(b = 2, a = 1) #关键字传参 6 print(ret)
站在实参的角度上:
1.按照位置传参
2.按照关键字传参
3.混着用可以:但是必须先按照位置传参,再按照关键字传参,不能给不能给同一个变量传多个值
站在形参的角度上:
1.位置参数:必须传参数,且有几个参数传几个值
2.默认参数:可以不传,那么则默认,如果传了,则选择传的参数
1 def classmate(name,sex=‘男‘): 2 print(‘{} : {}‘.format(name,sex)) 3 4 classmate(‘python‘,‘男‘) 5 classmate(‘java‘) 6 classmate(‘php‘,‘女‘)
2.动态求参的两种
第一种:
1 def func(*args, **kwargs): 2 print(args,kwargs) 3 func(1,2,3,4,5,a = ‘aaa‘,b = ‘bbb‘)#输出结果:(1, 2, 3, 4, 5) {‘a‘: ‘aaa‘, ‘b‘: ‘bbb‘}
1:*args接收的是按照位置传参的值,组织成一个元祖
2:**kwargs接收的是按照关键字传参的值,组织成一个字典
3:args必须在kwargs之前
1 def sum(*args): #接收的是按照位置传参的值,组织成一个元祖 2 n = 0 3 for i in args: 4 n+=i 5 return n 6 print(sum(1,2))
第二种:
1 def func(*args): #站在形参的角度上,给变量加上*就是组合所有传来的值 2 print(args) 3 4 func(1,2,3,4,5) #输出结果:(1, 2, 3, 4, 5) 5 l = [1,2,3,4,5] 6 func(*l) #输出结果:(1, 2, 3, 4, 5) 7 #站在实参的角度上,给一个序列加上*就是将这个序列按照顺序打散,将其元素一个个传进去 8 #同理**配和kwargs
3:关于函数的注释:
def func(): ‘‘‘ 这个函数实现了什么功能 参数1: 参数2: :return:是字符串或者列表的长度 ‘‘‘ pass
以上是关于python中函数的基本结构及参数的主要内容,如果未能解决你的问题,请参考以下文章
Python3学习之路~3.1 函数基本语法及特性返回值参数局部与全局变量
伽马变换(一些基本的灰度变换函数)基本原理及Python实现