Python中根据函数的输入参数以及是否有返回值可分为四种函数:

1.无参数无返回值

2.有参数无返回值

3.无参数有返回值

4.有参数无返回值

Python 中参数传递有下列五种方式;

1.位置传递

2.关键字传递

3.默认值传递

4.不定参数传递(包裹传递)

5.解包裹传递

一 位置传递

  没什么好过多讲解.

 # 位置传递实例:
def fun1(a,b,c):
return a+b+c print(fun1(1,2,3))

输出:

 6

二 关键字传递

    更具每个参数的名字写入函数参数

 # 关键字传递
def fun2(a,b,c):
return a+b+c print(fun2(1,c=3,b=2))

输出:

6

三 参数默认值传递

  给函数的输入参数设定一个默认值,如果该参数最终没有输入,则使用默认参数出入函数.

 # 默认值传递
def fun3(a,b=2,c=3):
return a+b+c print(fun3(a = 1))

输出:

 6

四 包裹传递

  在定义函数时,我们有时候并不知道调用的时候会传递多少个参数。这时候,包裹(packing)位置参数或者包裹关键字参数来进行参数传递会非常有用。

  下面是包裹位置传递的例子:

 def fun4(*name):
print(type(name))
print(name) fun4([1,2,3])
fun4((1,2,3))
fun4(1,2,3)

结果:

<class 'tuple'>
([1, 2, 3],)
<class 'tuple'>
((1, 2, 3),)
<class 'tuple'>
(1, 2, 3)

从上面的结果分析:

在fun4的参数表中,所有的参数被name收集,根据位置合并成一个元祖(tuple),这就是包裹位置传递。

五 解包裹传递

 def func1(a,b=1,*c,**d):
print(a,b,c,d) l = [3,4]
dic = {'@':2,'#':3} func1(1,2,l,dic)
print("---------**------------")
func1(1,2,*l,**dic)
func1(1,2,3,4,**dic)

运行结果:

 1 2 ([3, 4], {'@': 2, '#': 3}) {}
---------**------------
1 2 (3, 4) {'@': 2, '#': 3}
1 2 (3, 4) {'@': 2, '#': 3}

最新文章

  1. Linux下使用crontab定时备份日志
  2. ASP.NET MVC5 网站开发实践 - 概述
  3. python sorted
  4. Java Excel
  5. Context 之我见
  6. Difference Between Primes
  7. javascript 基础学习整理 二 之 html对象总结,参考W3C
  8. list类型for遍历
  9. 转载Eclipse中Maven WEB工程tomcat项目添加调试
  10. WPF页面切换及弹窗
  11. Linux06--Shell程序设计02 数据流重定向与管道
  12. 05_MyBatis基于注解的开发
  13. YYModel底层解析- Runtime
  14. Pandas 基础(8) - 用 concat 组合 dataframe
  15. BZOJ2154/BZOJ2693/Luogu1829 Crash的数字表格/JZPFAR 莫比乌斯反演
  16. NSDictionary 详解
  17. 【BZOJ3555】企鹅QQ
  18. Shell编程学习2--命令大全
  19. nRF52832 BLE_DFU空中升级OTA(三)准备升级工程(SDK14.2.0)
  20. 洛谷 P2195 HXY造公园 解题报告

热门文章

  1. python scrapy框架爬虫遇到301
  2. 有序的map LinkedHashMap
  3. web服务器学习3---httpd 2.4.29日志处理
  4. 服务器数据恢复方法_存储raid硬盘离线数据恢复案例
  5. VMware vCenter Server 6.5.0 U1
  6. 如何排查CPU飙升的Java问题
  7. GIT入门笔记(12)- 删除文件、提交删除和恢复删除
  8. SSO的全方位解决方案 - Kerberos协议(RFC 1510)
  9. Java程序员的情书
  10. MVC、MVP以及MVVM分析