欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python中的函数(一)

程序员文章站 2022-05-07 15:06:38
一 数学定义的函数与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:必须放在以上参数后面,参数前面加入**,表示传入字典,将传入的元素组成字典

 函数的定义和参数的传入都必须遵循上面规则。