函数的作用

  • 减少重复代码
  • 程序易于维护
  • 程序易于扩展

函数的定义

>>> def calculate(x,y):    #定义函数名为calculate,参数为x和y
result = x+y
return result #返回结果 >>> a = calculate(x=3,y=4) #调用,关键参数x=3,y=4
>>> print(a)
7

函数参数

形参,实参:形参类似与数学函数中的变量,实参是则是运算时变量实际的值

位置参数:调用函数时,可以按照函数定义时的位置顺序给定参数

关键参数:调用函数时,可以不按顺序给行形参,但须指明对应

默认参数:函数定义时,可以给某个形参定义好初始值,调用时可不给定其实参;默认参数必须写在最后

>>> def calculate(x,y,z=3):       #默认参数为z=3
res = x+y+z
return res >>> a = calculate(3,4)        #位置参数对应,z可以不给定
>>> print(a)
10

非固定参数:可接受额外参数

  • *args接收的是元组,实参以位置参数实现
  • *kwargs接收的是字典,实参以关键参数实现
  • 由于位置参数需要写在最左,*args要能接收值的话,前面的参数都必须以位置参数实现
>>> def register(name,age,cn=00,*args,**kwargs):
print(name)
print(age)
print(cn)
print(args)
print(kwargs) >>> register('xing','55kg','yang','',height=170)
xing
55kg
yang
('',)
{'height': 170}

函数的返回值

返回使用return关键词

  • 如果未指定return,则返回None
  • 函数执行过程中遇到return语句便会停止执行并返回值
>>> def test():
return 1,2,4,4 >>> test() #返回多个值会将变成元组
(1, 2, 4, 4)

函数的作用域

  • 局部变量和全局变量存在不同的内存空间,不会冲突
  • 就近原则:函数内部未定义变量时,会去全局变量里调用
  • 函数内部可定义全局变量,使用global 声明
  • globals(),locals() 可查看全局变量和局部变量
  • 函数内不可以修改全局变量
>>> name = 'xing'        #全局变量
>>> def test():
name = 'lala' #局部变量
print(name) >>> test()
lala
>>> print(name)
xing

最新文章

  1. 利用Hexo搭建个人博客-博客发布篇
  2. Matlab 之 字符串数组查找
  3. QQ通信原理及QQ是怎么穿透内网进行通信的? (转)
  4. spring @value 注入static
  5. dp、px、dpi、ppi
  6. iOS push过去的时候界面不能完全退出
  7. 匿名PL/SQL
  8. 《C++Primer》复习——with C++11 [4]
  9. HTML5 离线缓存忽略主页实例
  10. Win8开发疑问与解答
  11. vue+webpack一些知识
  12. Java多播通讯框架 JGroups(转)
  13. Spring Mvc 用Demo去学习
  14. 第一章:pip 安装 tar.gz 结尾的文件 和 .whl 结尾的文件
  15. 【Unity Tips】备忘录(扫盲篇)
  16. C#版(击败100.00%的提交) - Leetcode 151. 翻转字符串里的单词 - 题解
  17. js获取HTML DOM节点元素方法总结
  18. MySQL 大表优化方案(长文)
  19. 判断是手机请求还是pc请求
  20. uiautomator2 获取APP Toast内容

热门文章

  1. Codeforces 601B. Lipshitz Sequence(单调栈)
  2. java随机生成6位随机数 5位随机数 4位随机数
  3. Dubbo API 笔记——Dubbo架构与使用
  4. python 快速排序-代码示例
  5. python之json读写
  6. Java学习回顾总结
  7. 单调队列优化dp,k次移动求最长路
  8. Flutter移动电商实战 --(5)dio基础_引入和简单的Get请求
  9. handler四元素
  10. 安装win10提示“我们无法创建新的分区,也找不到现有分区”