python开发_函数的参数传递
2013-09-02 17:42
387 查看
在这个用例中,我们要讨论的是关于函数的传参问题
我所使用的python版本为3.3.2
对于函数:
当我们传递一个参数给fun()函数,即可打印出传递的参数值
信息。
这里打印的信息为:
对于下面的用例:
当传递的参数为:fun(a='one')和fun('one')这样的传参都是把值复制给参数a,所有两种传参的效果是一样的:
当然我们也可以给参数:b,c,*args赋值
如:
这样我们就给参数:b,c,args赋上了值
运行效果:
在上面的列子中,我们不能绕开参数*args前面的参数a,b,c给*args复制:
如:
运行效果:
但是对于参数:a,b,c来说,是可以使用这样的方式进行赋值
如:
运行效果:
我所使用的python版本为3.3.2
对于函数:
def fun(arg): print(arg) def main(): fun('hello,Hongten') if __name__ == '__main__': main()
当我们传递一个参数给fun()函数,即可打印出传递的参数值
信息。
这里打印的信息为:
hello,Hongten
对于下面的用例:
def fun(a=1, b=None, c=None, *args): print('{0},{1},{2},{3}'.format(a, b, c, args)) def main(): fun(a='one') fun('one') if __name__ == '__main__': main()
当传递的参数为:fun(a='one')和fun('one')这样的传参都是把值复制给参数a,所有两种传参的效果是一样的:
one,None,None,() one,None,None,()
当然我们也可以给参数:b,c,*args赋值
如:
def fun(a=1, b=None, c=None, *args): print('{0},{1},{2},{3}'.format(a, b, c, args)) def main(): fun('one',1,2,('hongten')) if __name__ == '__main__': main()
这样我们就给参数:b,c,args赋上了值
运行效果:
one,1,2,('hongten',)
在上面的列子中,我们不能绕开参数*args前面的参数a,b,c给*args复制:
如:
def fun(a=1, b=None, c=None, *args): print('{0},{1},{2},{3}'.format(a, b, c, args)) def main(): fun(args=('hongten')) if __name__ == '__main__': main()
运行效果:
Traceback (most recent call last): File "E:/Python33/python_workspace/test_fun.py", line 21, in <module> main() File "E:/Python33/python_workspace/test_fun.py", line 18, in main fun(args=('hongten')) TypeError: fun() got an unexpected keyword argument 'args'
但是对于参数:a,b,c来说,是可以使用这样的方式进行赋值
如:
def fun(a=1, b=None, c=None, *args): print('{0},{1},{2},{3}'.format(a, b, c, args)) def main(): fun(c=('hongten'), b=2, a=[1,2,3]) if __name__ == '__main__': main()
运行效果:
[1, 2, 3],2,hongten,()
相关文章推荐
- python之函数实现生产者消费者模型(开发模型)
- Python全栈开发之3、数据类型set补充、深浅拷贝与函数
- 我的第一个python web开发框架(13)——工具函数包说明(四)
- Python编程琐碎-函数调用和参数传递
- Python-开发之路-内建函数
- <Python高级全栈开发工程师-1>学习过程笔记【181-184】正则表达式 <特殊字符><函数>
- Python学习:def函数的定义、使用及参数传递
- python全栈开发-Day12 三元表达式、函数递归、匿名函数
- Python函数的分阶段参数传递
- 6. Python开发--函数
- Python开发【第四章】:函数剖析
- python开发中range()函数用法实例分析
- python开发基础之字符编码、文件处理和函数基础
- 14. Python开发--生成器函数
- python开发学习-day03(set集合、collection系列 、深浅拷贝、函数)
- 我的第一个python web开发框架(10)——工具函数包说明(一)
- python全栈开发-Day9 函数对象、函数嵌套、名称空间与作用域(装饰器基础)
- python开发_python中的函数定义
- 函数应用SAE-Python教程(一) 在SAE上进行Python的开发
- python开发之函数定义实例分析