一、实参和形参

      

def greet_user(username):
"""显示简单的问候语,且显示用户名"""
print("Hello!"+username) greet_user("Joker")

在上面代码中定义函数 greet_user()时,要求给变量username指定一个值。调用这个函数并提供这种信息(人名)时,它将打印带名字的问候语句。

在函数 greet_user() 的定义中,变量username 是一个形参---它表示函数完成其工作所需要的一项信息。在代码 greet_user('Joker') 中,值“Joker”

是一个实参。实参是在调用函数时传递给函数的信息。我们在调用函数时,需要将函数所需的信息放在括号内。在greet_user('Joker')中,将实参

‘Joker’ 传递给了函数greet_user() ,这个值被存储在形参username中。

二、位置实参

调用函数时,Python必须将函数调用中的每个实参都关联到函数定义中的形参。所以,实参与形参最简单的关联方式就是位置关联即实参顺序与形

参顺序一致,这种关联方式叫做位置实参。使用位置实参来调用函数时,如果实参的位置不正确,结果可能出乎意料。

三、关键字实参

def greet_user(username,age):
"""显示简单的问候语,且显示用户名"""
print("Hello!"+username+",you are " + str(age) + " years old!" ) greet_user(age=18,username="Joker")

console:

关键字实参 是传递给函数的 名称-值对。如上面的代码,在调用函数时,在括号内使用A=B的形式 给形参赋值,

A为形参名,B为实参,这样传递参数可以不用关心传递参数的顺序,只需关心名称与值是否对应即可。

四、形参默认值

编写函数时可以给每个形参指定默认值。

def greet_user(username,age=18):
"""显示简单的问候语,且显示用户名"""
print("Hello!"+username+",you are " + str(age) + " years old!" ) greet_user(username="Joker")

console:

我们给age 指定了默认值 18 ,我们调用时并没有传递age的实参,它也会默认给它18的实参,这就是age的默认值,

所以打印的信息还是和上面打印的信息一样。

五、避免实参错误

如果函数出现实参错误,traceback会指出问题出在什么地方,让我们可以去找到出错的地方进行更正。

def greet_user(username,age=18):
"""显示简单的问候语,且显示用户名"""
print("Hello!"+username+",you are " + str(age) + " years old!" ) greet_user()

console:

因为有Traceback的存在所以可以让我们可以更好的去找到代码中是哪里的错误。

  还没有对象?要不要给你介绍,一款不错的狗粮。

最新文章

  1. 使用WindowsPE破解管理员密码
  2. DTCMS插件的制作实例电子资源管理(二)Admin后台页面编写
  3. 奇怪吸引子---Sakarya
  4. 2、JavaScript常用互动方法
  5. 多线程 -- NSThread
  6. bnu 4359 无爱编号(规律)
  7. FZU 2212 Super Mobile Charger 第六届福建省赛
  8. Apache CXF 3.0: CDI 1.1 Support as Alternative to Spring--reference
  9. eclipse 启动报内存溢出的问题out of memory!
  10. mysql记录执行的SQL语句
  11. as无法关联git
  12. python-装饰器实现pv-uv
  13. Vue-admin工作整理(十二):Vuex-插件(持久化存储)
  14. 原生端与服务器通过sessionid实现session共享以及登录验证
  15. jquery遇到的问题
  16. WDTP注册破解
  17. Asp.Net_获取IP地址
  18. 什么时候layoutSubview会被调用
  19. 获取Android设备的唯一识别码|设备号|序号|UUID
  20. Sbulime Text 2 修改选中字符串的颜色

热门文章

  1. C++11 多线程相关的头文件
  2. AtCoder Regular Contest 062 E - AtCoDeerくんと立方体づくり / Building Cubes with AtCoDeer
  3. Codeforces 1107G(dp)
  4. SPRING-BOOT系列之Spring4深入分析
  5. Python+selenium定位不到元素的问题及解决方案
  6. DNS递归查询、主从、加密认证、负载均衡
  7. UGUI_屏幕适配
  8. hash 【模板】
  9. UISegmentedControl去掉背景色与UIScrollView联动
  10. [ CQOI 2018 ] 异或序列