Python函数的参数

位置参数、默认值参数、可变参数、关键字参数和命名关键字参数

1 函数结构

def 函数名(参数):函数体返回值 

2 位置参数

3 默认值参数

4 可变参数

# 可变长度参数函数
# 可变参数允许你传入0个或任意个参数,这些参数在调用时自动组装成元祖(tuple)# 1 定义求和函数
def calc1(numbers):sum = 0# for循环遍历传递的列表或者元祖for num in numbers:sum = sum+num#返回求和结果return sum
# 调用calc1函数传递列表作为参数
print(calc1([1,2,3,4]))
# 调用calc1函数元祖作为参数
print(calc1((1,2,3,4,5)))
# 调用calc1函数集合作为参数
print(calc1({1,2,3,4,5,6}))#2 定义求和函数
def calc2(*numbers):sum = 0# 接受到的参数全部自动组装成元祖print(type(numbers))# for循环遍历传递的列表或者元祖for num in numbers:sum = sum+num#返回求和结果return sum
# 调用calc2函数传递多个参数
print(calc2(1,1,1,1))
# 调用calc2函数传递列表作为参数,参数前加*
print(calc2(*[2,2,2,2]))
# 调用calc2函数元祖作为参数,参数前加*
print(calc2(*(1,2,3,4,5)))
# 调用calc2函数集合作为参数,参数前加*
print(calc2(*{1,2,3,4,5,6}))

5 关键字参数

# 关键词参数函数
# 更多信息必须以参数名=值得形式传递进去
def person(name, age, **kw):print('name:', name, 'age:', age, 'other:', kw)
person("jack", 20)
person(name = "jack", age = 20)#效果同上
person("jason", 19, city="beijing")
# person("kiki",18,"上海") #报错 关键词参数函数必须要以 参数名=值 的形式传递参数

6 命名关键字

def person(name, age, *, city, job):print(name, age, city, job)
person("li", 22, city = "beijing",job="teacher")
# person("li", 22, city = "beijing") #参数少写报错

7 参数组合

# a b   位置参数
# c     默认值参数
# *args 可变参数
# **kw  关键字参数
def f1(a, b, c=0, *args, **kw):print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw)# a b   位置参数
# c     默认值参数
# d     命名关键字参数
# **kw  关键字参数
def f2(a, b, c=0, *, d, **kw):print('a =', a, 'b =', b, 'c =', c, 'd =', d, 'kw =', kw)

8 总结

可变参数

  • 定义 def 函数名(*arg)
  • 使用 函数名(值1,值2,值3)
  • 场景 需要传递参数,但是参数个数不确定
  • 其他 可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。

关键词参数

  • 定义 def 函数名(**kw)
  • 使用 函数名(参数名1=值1, 参数名2=值2, 参数名3=值3)
  • 场景 可以扩展函数的功能,用户注册时,除了name和age用户还希望提交的其他信息都可以通过关键词参数提交
  • 其他 关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
  • 注意
    • 1 不写参数名报错
    • 2 参数传递必须以参数名=值得形式传递

命名关键词参数

  • 定义 def 函数名(*, 参数名1, 参数名2)
  • 使用 函数名(参数名1=值1, 参数名2=值2)
  • 场景 用户传递的其他信息受关键词约束
  • 注意
    • 1 不写参数名报错
    • 2 少写算错
    • 3 参数传递必须以参数名=值得形式传递

转载于:https://www.cnblogs.com/viviwong345/p/7084142.html

[教程]Python函数的参数相关推荐

  1. python函数不定参数求和

    # 先来看python函数定参数求和 def dup1(m ,n ,l):total = 0total = m + n + lreturn total print(dup1(4 ,6 ,8)) #打印 ...

  2. Python函数和参数

    Dear learners, in this tutorial we are going to learn Python Function and Arguments. Previously we l ...

  3. python 函数 默认参数

    python 函数 默认参数 def add(a=1, b=2): # a,b设置默认参数c = a + breturn c c = add(a=2) # 如果不填,就是默认参数 print(c) 4

  4. python函数中可变参数的传递方式是_详解Python函数可变参数定义及其参数传递方式...

    Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...

  5. boost::python模块包装几个 C++ 函数 将二维数组操作为采用 NumPy 数组的 Python 函数作为参数

    boost::python模块包装几个 C++ 函数 将二维数组操作为采用 NumPy 数组的 Python 函数作为参数 实现功能 C++实现代码 实现功能 boost::python模块包装几个 ...

  6. python函数修饰参数_Python 函数参数的填坑之路

    背景 最近在看廖雪峰老师的python3教程之函数的参数 受益匪浅,但是在实践的过程中,发现了一些不解之谜 两个错误import _thread import time def func1(x): w ...

  7. Python函数的参数传递方式

    为什么80%的码农都做不了架构师?>>>    Python函数的参数传递方式 一.普通 def add(a,b):return a+b print(add(1,2)) #输出结果: ...

  8. python函数的参数可以接收哪些类型的数据_python强势来袭-0015-函数中的参数-送礼开始...

    接上一讲,这节我们专门介绍python函数的参数处理 本节主要内容 函数的形式参数和实际参数 函数的参数定义规则 函数参数的默认值 函数的可变参数 函数的关键字参数 函数的命名关键字参数 1.3. 函 ...

  9. python 函数中参数的传递方式(三分钟读懂)

    python 函数中参数的传递方式 第一种:指定默认值 def fn1(a = 1): # 函数中的(a)是形参 和外面的变量无关 (这里的是定义函数中指定默认值)print("fn1&qu ...

最新文章

  1. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、为多个子图添加总标题(main title)
  2. is_best = recent_bleu4 > best_bleu4
  3. Windows7 支付宝证书安装方法
  4. C语言实现单链表操作
  5. python两人一碰_python运用pygame库实现双人弹球小游戏
  6. 实战:Redis 集群模式(下)
  7. 又到一年“粽子节”,快来测测你包的粽子颜值几分
  8. 用多itemtype的具有addHeaderView的recyclerview,还是scrollview?
  9. 【django】 model_to_dict ‘QuerySet‘ object has no attribute ‘_meta‘
  10. 世界杯广告中出现汉字,不利于国际化
  11. 20200201每日一句
  12. python Word批量转PDF
  13. Kubernetes init 提示 [ERROR ImagePull]: failed to pull image registry.aliyuncs.com/google_containers/c
  14. SQLite手机数据库
  15. speedoffice(Word)文字怎么修改字体颜色
  16. 赵鹏计算机专业,赵鹏 - 安徽大学 - 计算机科学与技术学院
  17. java path 注解_Java内置系统注解和元注解
  18. 记录一次teamview无法远程连接对方teamview的过程
  19. 金融行业选用UPS不间断电源
  20. NVIC中断优先级管理

热门文章

  1. (转)Unity Assets目录下的特殊文件夹名称(作用和是否会被打包到build中)
  2. KVM虚拟机迁移到VMWare
  3. PL/SQL常用方法汇总
  4. 爬虫实战--爬取1000位小姐姐照片,刷新你三观颜值!
  5. Python趣味编程小技巧,图片转炫酷字符画,一看就是高手
  6. 学校计算机培训管理制度,小学教师信息技术培训管理制度
  7. linux内存使用统计,Linux 中free命令检查内存使用情况
  8. 浅谈边缘计算对企业安全建设的影响及趋势
  9. 获取数组第N个元素的方法
  10. 交换变量和String类初始化:JAVA入门基础