当前位置: 首页 > 问答 > Python编程 > 问答详情

python如何定义接受参数的函数

09月28日 06:06264人阅读
张老师 Python编程

Python中的函数可以有参数,也可以无参数,参数可以分为默认参数,位置参数,关键字参数和可变参数。

对于函数:

def fun(arg):
    print(arg)
      
def main():
    fun('hello,Hongten')
      
if __name__== '__main__':
    main()

当我们传递一个参数给fun()函数,即可打印出传递的参数值信息。(更多学习内容,请点击Python学习网)

这里打印的信息为:

hello,Hongten

python学习网,大量的免费python学习视频,欢迎在线学习!

对于下面的用例:

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'

职业技能申请领取
您的姓名
您的电话
意向课程
点击领取

环球青藤

官方QQ

扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群

问答来自

张老师 Python编程
好评率85% 浏览264

相关问题

如何用python中max()求取列表最大值?
魏老师 Python编程
python中如何求取字典最大值?
魏老师 Python编程
python中如何实现print函数格式化输出?
魏老师 Python编程
课程咨询 学员服务 公众号

扫描关注微信公众号

APP

扫描下载APP

返回顶部