python函数的入参和传参
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函数的入参和传参相关推荐
- python调用shell脚本的参数_使用python执行shell脚本 并动态传参 及subprocess的使用详解
最近工作需求中 有遇到这个情况 在web端获取配置文件内容 及 往shell 脚本中动态传入参数 执行shell脚本这个有多种方法 最后还是选择了subprocess这个python标准库 subpr ...
- vue动态路由传参---query传参和params传参
当一个页面跳转到另一个页面时,组件结构相同,只是内容不同且地址栏后缀不同 ,这个地址栏的后缀就是参数,根据不同参数渲染不同的内容,这个跳转就叫路由传参. 当项目中组件间通过路由跳转,有时,我们需要传递 ...
- 【转载】python 函数的入参 一个* 两个* 的使用与区别
1. 转自: https://www.cnblogs.com/liumengchen-boke/p/5848400.html * 函数接收参数为元组 例如 def myfun(*args): #相当于 ...
- 【php7扩展开发四】函数的参数 ,引用传参 ,返回值
函数参数解析 之前我们定义的函数没有接收任何参数,那么扩展定义的内部函数如何读取参数呢?用户自定义函数在编译时会为每个参数创建一个zend_arg_info结构,这个结构用来记录参数的名称.是否引用传 ...
- Python的可变长度参数*和**,传参序列解包,isinstance的使用
import math def f1(*argu):print(argu) def f2(**argu):for i in argu.items():print(i) print("可变长度 ...
- django-路由传参-视图捕获URL的参数-位置传参-关键词传参
图例中的url是旧版本的方法,它对应了新版的 re_path 位置传参 路由中写的是正则式 被括号括起来的内容,会被作为参数,传递给视图 视图应该新增形参来接收数据 关键字参数 如果给分组起了名字 视 ...
- 尚硅谷VUE项目-前端项目问题总结07--产品详情页【vuex-排他操作foreach-放大镜-轮播图-兄弟组件通信$bus-购物车-路由跳转传参-路由传参+会话存储】-游客身份-节流
尚硅谷VUE项目-前端项目问题总结07---产品详情页 1.静态组件(详情页还未注册为路由组件) 2.发请求 3.vuex-获取产品详情信息 3.1放大镜 3.2 属性值[排他操作] 3.3轮播图[j ...
- java web url 传参_URL传参注意
在使用GET请求传参数时,URL使用&PARAM=xxxxxx传递参数,若参数中包含特殊字符,处理起来就比较麻烦,特别是参数本身带有&,此时就需要将特殊字符进行处理.这里使用函数enc ...
- Python函数参数传递:传值还是传引用
引子 首先来看一个列子: def change(val):val.append(100)val = ['T', 'Z', 'Y'] nums = [0, 1] change(nums) print(n ...
最新文章
- Hibernate是啥?
- 视图的概念以及使用视图的好处
- CPU 是如何执行任务的?
- Python黑帽子:取代netcat
- MACm1上lark无法使用共享屏幕问题
- 网络分析仪自动化测试软件,高效矢量网络分析仪自动测试方法
- [Frank kelly] 经济学理论对TCP的收敛性和公平性做出分析,从理论上论证了TCP在互联网环境下的稳定性和有效性
- 敲黑板!5G消息、富媒体消息、一键登录知识点汇总
- 海南楼市泡沫拯救中国经济,90年代上演过一次
- 河南第十届ACM省赛-E-八纵八横
- win10卸载预装软件
- 将文件从VMWare虚拟机的Linux系统传到U盘
- c语言 求矩阵各行元素之和
- no more duplicates will be shown
- 水果店营销技巧与方法,水果店营销模式和技巧
- Spark数据分析之第5课
- 现代统计的思想飞跃,因果推断!
- 工业级聚合路由器与家用WiFi路由器的区别
- SSR 它到底香不香?细数 SSR 的利与弊
- Python使用Kt封装FFmpeg