Python中的函数(2)
一、实参和形参
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的存在所以可以让我们可以更好的去找到代码中是哪里的错误。
还没有对象?要不要给你介绍,一款不错的狗粮。
最新文章
- 使用WindowsPE破解管理员密码
- DTCMS插件的制作实例电子资源管理(二)Admin后台页面编写
- 奇怪吸引子---Sakarya
- 2、JavaScript常用互动方法
- 多线程 -- NSThread
- bnu 4359 无爱编号(规律)
- FZU 2212 Super Mobile Charger 第六届福建省赛
- Apache CXF 3.0: CDI 1.1 Support as Alternative to Spring--reference
- eclipse 启动报内存溢出的问题out of memory!
- mysql记录执行的SQL语句
- as无法关联git
- python-装饰器实现pv-uv
- Vue-admin工作整理(十二):Vuex-插件(持久化存储)
- 原生端与服务器通过sessionid实现session共享以及登录验证
- jquery遇到的问题
- WDTP注册破解
- Asp.Net_获取IP地址
- 什么时候layoutSubview会被调用
- 获取Android设备的唯一识别码|设备号|序号|UUID
- Sbulime Text 2 修改选中字符串的颜色
热门文章
- C++11 多线程相关的头文件
- AtCoder Regular Contest 062 E - AtCoDeerくんと立方体づくり / Building Cubes with AtCoDeer
- Codeforces 1107G(dp)
- SPRING-BOOT系列之Spring4深入分析
- Python+selenium定位不到元素的问题及解决方案
- DNS递归查询、主从、加密认证、负载均衡
- UGUI_屏幕适配
- hash 【模板】
- UISegmentedControl去掉背景色与UIScrollView联动
- [ CQOI 2018 ] 异或序列