Python中的函数(一)
程序员文章站
2022-11-02 14:44:40
一 数学定义的函数与Python中的函数 数学函数的定义:一般在一个变化过程中,如果有两个变量,X,Y,并且对于x的每一个确定值,y都有唯一与之对应的值,那么我们把x称为自变量,y为因变量,y为x的函数。x的取值范围就是函数的定义域。 如 : y = x + 5 python中函数的定义:函数是逻辑 ......
一 数学定义的函数与python中的函数
数学函数的定义:一般在一个变化过程中,如果有两个变量,x,y,并且对于x的每一个确定值,y都有唯一与之对应的值,那么我们把x称为自变量,y为因变量,y为x的函数。x的取值范围就是函数的定义域。 如 : y = x + 5
python中函数的定义:函数是逻辑结构化和过程化的编程方法。
为什么要有函数呢?
- 代码可重用
- 保持一致性
- 可扩展性
python中函数定义的方法:
1 def test(x,y): 2 res = x + y 3 return res
- def:定义函数的关键字
- test:函数名
- ():内可定义形参
- res = x + y :代码块
- return:返回值
补充:编程中的函数和数学意义上的函数是截然不同的概念,编程中的函数为完成一定功能的逻辑,数学定义的函数是一个等式。
二 函数,过程,返回值
过程的定义:过程就是简单特殊没有返回值的函数
1 def test1(x,y): 2 res = x + y 3 print(res) 4 5 def test2(x,y): 6 res = x + y 7 print(res) 8 return res 9 10 print(test1(1,2)) 11 print(test2(1,2))
总结:当一个函数没有用return时,python解析器会隐式的返回none,所以python中过程也是函数。
1 def test1(): 2 pass 3 4 def test2(): 5 return 1 6 7 def test3(): 8 return 1,2,3,"abc" 9 10 print(test1()) 11 print(test2()) 12 print(test3())
终结:
- 返回值数=0:返回none
- 返回值数=1:返回object
- 返回值数>1:返回tuple
三 函数的参数
形参和实参
- 形参:形参变量只有在被调用时才被分配内存单元,在调用结束时,立即释放所分配的内存单元。因此,形参只在函数内部有效,函数调用结束返回主调函数后不能继续使用该形参。
- 实参:实参可以是常量,变量,表达式,函数等,在进行函数调用时,它们必须要有却定的值(要有定义),以便把值传给形参。
1 def test(x,y): #x,y为形参 2 res = x + y 3 return res 4 5 a = 1 6 b = 2 7 c = test(a,b) #a,b为实参 8 print(c)
x,y为形参
a,b为实参
可变长参数
1 def test(x,y={1:2},z=15,*args,**kwargs): 2 print(x) 3 print(y) 4 print(z) 5 print(args) 6 print(kwargs) 7 8 test(1,2,3,4,5,[6,5],*[5,6],**{"sdf":2,"abc":2})
输出:
print(x):1
print(y):2
print(z):3
print(args):(4, 5, 6, 5, [5, 6])
print(kwargs):{'sdf': 2, 'abc': 2}
- x,y,z:单个参数名必须放前面
- y,z:默认值参数必须放在没赋值参数后面
- *args:必须放在以上参数后面,里面装的是传进来多的参数,然后组成元组
- 参数不加*,默认将参数当成整体传入
- 参数前加*,将参数遍历出来传入
- **kwargs:必须放在以上参数后面,参数前面加入**,表示传入字典,将传入的元素组成字典
函数的定义和参数的传入都必须遵循上面规则。