https://www.bilibili.com/video/BV1k7411W78H

# 1.位置参数
def calc(a, b, c):print(a + b * c)calc(1, 2, 3)# 2.关键字参数,如果使用上面的位置参数进行传值,一个函数入参定义了十多个,位置很容易搞混
# 使用关键词进行传输,就是传入的标识 = 传入的数据
def calc(a, b, c):print(a + b * c)calc(b=1, a=2, c=3)# 3.关键字参数和位置参数混搭,必须 先位置,后关键字
def sum(a, b, c):print(a + b * c)sum(1, b=2, c=3)# 4.函数入参,强制关键字参数传值
# 函数入参前面加入 * 号标识,强制调用函数时入参必须为关键字参数传值
def add(*, a, b, c):print(a + b + c)add(b=1, a=2, c=3)# 5.默认参数
# 默认参数在函数定义时定义好,调用函数时,可以传,可以不传
def addm(a, b, c=0):print(a + b + c)addm(1, 2)
addm(1, 2, 3)# 6.可变参数(位置),先固定参数,再可变参数
# 可变参数(位置),加入一个星号 *,进行标识
def sayhello(msg, *names):print('hello', names, msg)# 在函数内部使用时,可变参数前加入星号,表示开包print('hello', *names, msg)# 调用的时候,name可以传多个数值,传入之后,会被合并为一个元祖(键值对)
sayhello('新年好', '丽华', '汤姆')# 7.可变参数(关键词),先固定参数,再可变参数
# 如果在函数定义时,参数加入两个星号,代表可变关键词参数
def hello(msg, **names):# 可变参数(关键词)在使用的时候,需要使用 元祖 键值对的方式输出数值print('老大是:', names['boss'], msg)print('老二是:', names['boss2'], msg)# 函数调用时,给可变参数(关键词)传值的时候,需要用键值对传值
hello('新年好', boss='大老板', boss2='二老板', boss3='三老板')#10函数调用 -开包列表 和 元祖 ,加入一个星号 *,标识打开一个列表和元祖
# 可变参数(位置),加入一个星号 *,进行标识
def sayhai(msg = '默认的信息', *names):print('hello', names, msg)# 在函数内部使用时,可变参数前加入星号,表示开包print('hello', *names, msg)# 调用的时候,name可以传多个数值,传入之后,会被合并为一个元祖(键值对)
data = ('新年好', '丽华', '汤姆')
data1 = ['你好',]
sayhai('这是msg',*data)
sayhai(*data1)#11.函数调用 -开包 字典 ,加入一个星号 **,标识打开一个字典# 如果在函数定义时,参数加入两个星号,代表可变关键词参数
def hello(msg, **names):# 可变参数(关键词)在使用的时候,需要使用 元祖 键值对的方式输出数值print('老大是:', names['boss'], msg)print('老二是:', names['boss2'], msg)# 函数调用时,给可变参数(关键词)传值的时候,需要用键值对传值
data = {'boss':'大老板', 'boss2':'二老板', 'boss3':'三老板'}
#函数调用 -开包 字典 ,加入一个星号 **,标识打开一个字典
hello('这里是msg',**data)

python函数的入参和传参相关推荐

  1. python调用shell脚本的参数_使用python执行shell脚本 并动态传参 及subprocess的使用详解

    最近工作需求中 有遇到这个情况 在web端获取配置文件内容 及 往shell 脚本中动态传入参数 执行shell脚本这个有多种方法 最后还是选择了subprocess这个python标准库 subpr ...

  2. vue动态路由传参---query传参和params传参

    当一个页面跳转到另一个页面时,组件结构相同,只是内容不同且地址栏后缀不同 ,这个地址栏的后缀就是参数,根据不同参数渲染不同的内容,这个跳转就叫路由传参. 当项目中组件间通过路由跳转,有时,我们需要传递 ...

  3. 【转载】python 函数的入参 一个* 两个* 的使用与区别

    1. 转自: https://www.cnblogs.com/liumengchen-boke/p/5848400.html * 函数接收参数为元组 例如 def myfun(*args): #相当于 ...

  4. 【php7扩展开发四】函数的参数 ,引用传参 ,返回值

    函数参数解析 之前我们定义的函数没有接收任何参数,那么扩展定义的内部函数如何读取参数呢?用户自定义函数在编译时会为每个参数创建一个zend_arg_info结构,这个结构用来记录参数的名称.是否引用传 ...

  5. Python的可变长度参数*和**,传参序列解包,isinstance的使用

    import math def f1(*argu):print(argu) def f2(**argu):for i in argu.items():print(i) print("可变长度 ...

  6. django-路由传参-视图捕获URL的参数-位置传参-关键词传参

    图例中的url是旧版本的方法,它对应了新版的 re_path 位置传参 路由中写的是正则式 被括号括起来的内容,会被作为参数,传递给视图 视图应该新增形参来接收数据 关键字参数 如果给分组起了名字 视 ...

  7. 尚硅谷VUE项目-前端项目问题总结07--产品详情页【vuex-排他操作foreach-放大镜-轮播图-兄弟组件通信$bus-购物车-路由跳转传参-路由传参+会话存储】-游客身份-节流

    尚硅谷VUE项目-前端项目问题总结07---产品详情页 1.静态组件(详情页还未注册为路由组件) 2.发请求 3.vuex-获取产品详情信息 3.1放大镜 3.2 属性值[排他操作] 3.3轮播图[j ...

  8. java web url 传参_URL传参注意

    在使用GET请求传参数时,URL使用&PARAM=xxxxxx传递参数,若参数中包含特殊字符,处理起来就比较麻烦,特别是参数本身带有&,此时就需要将特殊字符进行处理.这里使用函数enc ...

  9. Python函数参数传递:传值还是传引用

    引子 首先来看一个列子: def change(val):val.append(100)val = ['T', 'Z', 'Y'] nums = [0, 1] change(nums) print(n ...

最新文章

  1. Hibernate是啥?
  2. 视图的概念以及使用视图的好处
  3. CPU 是如何执行任务的?
  4. Python黑帽子:取代netcat
  5. MACm1上lark无法使用共享屏幕问题
  6. 网络分析仪自动化测试软件,高效矢量网络分析仪自动测试方法
  7. [Frank kelly] 经济学理论对TCP的收敛性和公平性做出分析,从理论上论证了TCP在互联网环境下的稳定性和有效性
  8. 敲黑板!5G消息、富媒体消息、一键登录知识点汇总
  9. 海南楼市泡沫拯救中国经济,90年代上演过一次
  10. 河南第十届ACM省赛-E-八纵八横
  11. win10卸载预装软件
  12. 将文件从VMWare虚拟机的Linux系统传到U盘
  13. c语言 求矩阵各行元素之和
  14. no more duplicates will be shown
  15. 水果店营销技巧与方法,水果店营销模式和技巧
  16. Spark数据分析之第5课
  17. 现代统计的思想飞跃,因果推断!
  18. 工业级聚合路由器与家用WiFi路由器的区别
  19. SSR 它到底香不香?细数 SSR 的利与弊
  20. Python使用Kt封装FFmpeg

热门文章

  1. 2022年阿里云双12服务器活动内容规则汇总及价格表
  2. Codeforces #467 (Div. 2) B. Vile Grasshoppers 蚂蚱的题目
  3. 晨星、银河基金业绩排行榜数据转换工具
  4. win10系统麦克风声音太小怎么设置
  5. .NET网页显示饼形图
  6. 您有一份《七夕安全须知》待查收
  7. 白领加薪升迁九大高招
  8. mac与windows的区别
  9. foxmail登入密码忘记怎么办?
  10. gpasswd命令简介