1. 位置传递:

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

2. 关键字传递

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. 默认值参数

# 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. 包裹传递

# 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. 解包

# 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) #把元组解包 此时相当于位置参数传递

最新文章

  1. 面试中常问的有关随机选取k个数的总结
  2. PHP+MYSQL网站SQL Injection攻防
  3. MySQL FUNCTION 整理
  4. iOS开发XCODE5 SVN配置 使用办法 (转) 收藏一下
  5. 可嵌入式的动态http服务minihttp组件
  6. [JavaEE]如何唤醒Sleep中的线程
  7. HU 参考错误修正:/SCWM/RCORR_HUREF
  8. 转-Activity之间数据传递之Intent数据传递
  9. SQL Server Profiler监控SQL Server性能
  10. 搭建maven+spring+mybatis工程
  11. 创建线程的两种方式比较Thread VS Runnable
  12. linux shell: 搜索字符串,剔除包含特定字符的行
  13. CentOS7下一个mysql安装
  14. HTML5 WebGL 实现逼真的云朵效果
  15. python yield 理解与用法
  16. CLASS 类 __getattr__
  17. luogu 2480 古代猪文 数论合集(CRT+Lucas+qpow+逆元)
  18. null与undefined的区别
  19. shell 一
  20. Jquery对当前日期的操作(格式化当前日期)

热门文章

  1. SOAPUI使用教程-MockOperations和响应
  2. [转] JS中简单的继承与多态
  3. C语言_第三章
  4. dojo tree edit的使用[前端]
  5. html 之input标签height设置问题
  6. [IOS]译Size Classes with Xcode 6: One Storyboard for all Sizes
  7. *HDU1829 并查集
  8. jQuery验证控件jquery.validate.js使用说明+中文API
  9. #20145205 《Java程序设计》第5周学习总结
  10. 实战Java虚拟机之二“虚拟机的工作模式”