在这个用例中,我们将讨论向函数传递参数的问题
python学习网,大量的免费
,欢迎在线学习!
对于函数:
def fun(arg):
print(arg)
def main():
fun('hello,Hongten')
if __name__== '__main__':
main()
这里打印的信息为:
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语言中mod是什么意思08/12
- ♥ Python 元类的使用12/26
- ♥ Python中的id函数是什么意思10/05
- ♥ python中bytes和bytearray介绍12/24
- ♥ 详细讲解python过滤函数的用法和用法11/30
- ♥ 如何在python中计算最大回撤09/02
内容反馈