Python函数传参的几个注意点
来源:互联网 发布:域名证书怎么查询 编辑:程序博客网 时间:2024/05/22 23:59
1.当只对最后一个参数传递值
错误例子:
def test(x = 1, y = 2, z = 3):
return x + y + z
print(test( , , 4))
结果:SyntaxError: invalid syntax
处理方法1:将默认值设置为None
def test(x = None, y = None, z = None):
if x == None:
x = 1
if y == None:
y = 2
if z == None:
z = 3
return x + y + z
print(test(None, None, 4))
结果:7
处理方法2:采用参数名传递值
def test(x = 1, y = 2, z = 3):
return x + y + z
print(test(z = 4, y = 3, x = 5))
结果:12
Tip:参数名传递可以不按顺序
2. 同时使用按顺序传递参数和按参数名传递参数两种方式时,按顺序传递的参数要位于参数名传递的参数前,并且不能有重复的情况。
错误例子:
def test(x = 1, y = 2, z = 3):
return x + y + z
print(test(z = 4, 2, 3)) #错误,按顺序传递的参数必须在按参数名传递的参数之前
print(test(1,x = 1,y = 3)) #错误,第一个参数已经传递给了x,第二个便不能传递给x
3.当形参与实参名字相同时不影响传参
def test(x = 1, y = 2, z = 3):
return x + y + z
z = 1
print(test(z = z))
结果:4
错误例子:
def test(x = 1, y = 2, z = 3):
return x + y + z
print(test( , , 4))
结果:SyntaxError: invalid syntax
处理方法1:将默认值设置为None
def test(x = None, y = None, z = None):
if x == None:
x = 1
if y == None:
y = 2
if z == None:
z = 3
return x + y + z
print(test(None, None, 4))
结果:7
处理方法2:采用参数名传递值
def test(x = 1, y = 2, z = 3):
return x + y + z
print(test(z = 4, y = 3, x = 5))
结果:12
Tip:参数名传递可以不按顺序
2. 同时使用按顺序传递参数和按参数名传递参数两种方式时,按顺序传递的参数要位于参数名传递的参数前,并且不能有重复的情况。
错误例子:
def test(x = 1, y = 2, z = 3):
return x + y + z
print(test(z = 4, 2, 3)) #错误,按顺序传递的参数必须在按参数名传递的参数之前
print(test(1,x = 1,y = 3)) #错误,第一个参数已经传递给了x,第二个便不能传递给x
3.当形参与实参名字相同时不影响传参
def test(x = 1, y = 2, z = 3):
return x + y + z
z = 1
print(test(z = z))
结果:4
0 0
- Python函数传参的几个注意点
- python 类机制的几个注意点
- python的学习和注意点初学的几个例子
- python list 链表的几个注意点
- 类的静态构造函数的其他几个注意点
- %rowtype的几个注意点
- XHTML的几个注意点
- %rowtype的几个注意点
- %rowtype的几个注意点 .
- 几个重要的注意点
- Python split函数注意点
- Python函数的几点需要注意的细节
- python中函数式生成器迭代的注意点
- Fresco 的几个注意的点
- 创建实体化视图的几个注意点
- 读BMP文件的几个注意点
- 使用lucene的几个注意点
- abator使用后的几个注意点
- 百度云-bae开放服务平台-网站发布-git
- 系统调用——linux内核设计与实现读书笔记
- 斐波那契数列的两种实现方法
- Android得到的真机的SD卡路径
- 中断和函数调用的区别
- Python函数传参的几个注意点
- C++继承和派生
- .net中DataSet属性relations的应用
- Eclipse异常解决
- unity bug
- 文件操作的知识点集合(持续中)
- nl80211_iftype接口类型详解
- makefile的编译规则
- Linux 中批量添加用户