经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » Python » 查看文章
Python中的函数(一)
来源:cnblogs  作者:开心的小草  时间:2018/9/25 20:36:43  对本文有异议

一 数学定义的函数与Python中的函数                                         

 

数学函数的定义:一般在一个变化过程中,如果有两个变量,X,Y,并且对于x的每一个确定值,y都有唯一与之对应的值,那么我们把x称为自变量,y为因变量,y为x的函数。x的取值范围就是函数的定义域。   如 : y = x + 5

 

python中函数的定义:函数是逻辑结构化和过程化的编程方法。

 

为什么要有函数呢?

  • 代码可重用
  • 保持一致性
  • 可扩展性

python中函数定义的方法:

  1. 1 def test(x,y):
  2. 2 res = x + y
  3. 3 return res
  • def:定义函数的关键字
  • test:函数名
  • ():内可定义形参
  • res = x + y :代码块
  • return:返回值

补充:编程中的函数和数学意义上的函数是截然不同的概念,编程中的函数为完成一定功能的逻辑,数学定义的函数是一个等式。

二 函数,过程,返回值

 

过程的定义:过程就是简单特殊没有返回值的函数

  1. 1 def test1(x,y):
  2. 2 res = x + y
  3. 3 print(res)
  4. 4
  5. 5 def test2(x,y):
  6. 6 res = x + y
  7. 7 print(res)
  8. 8 return res
  9. 9
  10. 10 print(test1(1,2))
  11. 11 print(test2(1,2))

总结:当一个函数没有用return时,python解析器会隐式的返回None,所以python中过程也是函数。

  1. 1 def test1():
  2. 2 pass
  3. 3
  4. 4 def test2():
  5. 5 return 1
  6. 6
  7. 7 def test3():
  8. 8 return 1,2,3,"abc"
  9. 9
  10. 10 print(test1())
  11. 11 print(test2())
  12. 12 print(test3())

终结:

  • 返回值数=0:返回None
  • 返回值数=1:返回object
  • 返回值数>1:返回tuple

三 函数的参数

形参和实参

  • 形参:形参变量只有在被调用时才被分配内存单元,在调用结束时,立即释放所分配的内存单元。因此,形参只在函数内部有效,函数调用结束返回主调函数后不能继续使用该形参。
  • 实参:实参可以是常量,变量,表达式,函数等,在进行函数调用时,它们必须要有却定的值(要有定义),以便把值传给形参。 
  1. 1 def test(x,y): #x,y为形参
  2. 2 res = x + y
  3. 3 return res
  4. 4
  5. 5 a = 1
  6. 6 b = 2
  7. 7 c = test(a,b) #a,b为实参
  8. 8 print(c)

    x,y为形参
    a,b为实参

 

可变长参数

  1. 1 def test(x,y={1:2},z=15,*args,**kwargs):
  2. 2 print(x)
  3. 3 print(y)
  4. 4 print(z)
  5. 5 print(args)
  6. 6 print(kwargs)
  7. 7
  8. 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:必须放在以上参数后面,参数前面加入**,表示传入字典,将传入的元素组成字典

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

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号