美文网首页
Python函数参数传递方法四种(位置、关键字、默认值、包裹位置

Python函数参数传递方法四种(位置、关键字、默认值、包裹位置

作者: 王裕杰 | 来源:发表于2019-01-08 16:30 被阅读3次

位置传递

#--coding:utf-8-- 
def send(name,address):
    return 'package is sent to %s, located in %s' %(name, address)
print(send('winnie','shanghai'))

关键字传递

def run(name,length, date):
    return '%s ran %s on %s' %(name,length,date)
#关键字传递时,可以无视参数顺序,名字对了就行。
print(run(length = '5km',date ='11/29/2016',name = 'winnie'))
#关键字和位置混用,但要注意位置参数要出现在关键字前面。 如果不,那编译器不知道除了几个有名字的,位置的顺序。
print(run('winnie',length = '5km',date ='11/29/2016'))

输出结果:
winnie ran 5km on 11/29/2016
winnie ran 5km on 11/29/2016
[Finished in 0.2s]

默认值参数

# 3. 默认值参数: 可以给出参数默认值
# 我们跑团每周二的例行约跑
def runWeekly(name,length, time = 'Tuesday 5:00PM'):
    return '%s ran %s on %s' %(name,length,time)

调用:

print(runWeekly('jin','5km'))
print(runWeekly('jin','5km','Wednesday'))
print(runWeekly('jin',time = '5km','Wednesday')) #Error


  File "C:\pytest\Sele\tem1111.py", line 20
    print(runWeekly('jin',time = '5km','Wednesday'))
SyntaxError: non-keyword arg after keyword arg
[Finished in 0.2s with exit code 1]

包裹传递

# 4. 包裹传递 (*/**)
# 参数被 collect收集,type: tuple
def subselect(*collect):
    print collect
    print type(collect)
# 参数被 aa收集,type: dict
def packing(**aa):
    #print test
    print type(aa)
    print aa

调用:


subselect(['ppe-test-1','dddd'])
packing(a=1,b=2,sub=[11,22])

输出:

<type 'tuple'>
<type 'dict'>
{'a': 1, 'b': 2, 'sub': [11, 22]}
[Finished in 0.2s]

解包

# 5.Unpacking with */** 
tuple1 = ['test1','test2','test3']
dictionary1 = {'at':'88wi','b':'secondParam','third':'winnie'}
print('dictionary1 ', dictionary1)
def useDict(at,b,third):
    print (at , b ,third)
useDict(**dictionary1)  #把字典参数解包 此时相当于关键字参数传递 名字和函数定义的参数名必须要一一对应
useDict(*tuple1)    #把元组解包 此时相当于位置参数传递

相关文章

  • Python函数参数传递方法四种(位置、关键字、默认值、包裹位置

    位置传递 关键字传递 输出结果:winnie ran 5km on 11/29/2016winnie ran 5k...

  • python知识补充点积累

    1、python的位置参数、默认参数、关键字参数、可变参数区别 位置参数:调用函数时根据函数定义的参数位置来传递参...

  • python防遗忘复习练手之:函数参数的顺序

    python函数参数的顺序依次为:位置参数带默认值的位置参数任意数量的位置参数任意数量的关键字参数 代码: 运行结果:

  • *、**、*args、**kwargs、函数参数顺序

    (1)python函数传参方式 位置传递,根据位置顺序对变量赋值,对应参数叫位置参数或非关键字参数(Positio...

  • 初学python,调用固定参,不固定参函数遇到的问题!

    函数调用时的参数传递方式:(调用函数) 传递方式有以下四种: 位置传参 序列传参 关键字传参 字典关键字传参 --...

  • Python之函数的参数

    Python中函数的参数有五种:位置参数(必选参数)、默认参数、可变参数、关键字参数、命名关键字参数。 位置参数 ...

  • Python实战:函数

    Python中函数的声明格式: 例如: 函数的调用: 关于位置参数、关键字参数、可变参数和不可变参数 位置参数:参...

  • 函数

    函数传参的4种方法 位置参数,关键字参数,默认值,任意数量参数参数和变量很类似,只是参数在函数调用的时候已经定义好...

  • 函数2019-03-18

    函数传参的4种方法 位置参数,关键字参数,默认值,任意数量参数参数和变量很类似,只是参数在函数调用的时候已经定义好...

  • 09:函数的参数类型

    python学习day_7: 函数的参数 1、必须参数(位置参数)调用函数时根据函数定义的参数位置来传递参数。 2...

网友评论

      本文标题:Python函数参数传递方法四种(位置、关键字、默认值、包裹位置

      本文链接:https://www.haomeiwen.com/subject/kelbrqtx.html