python函数-参数
2024-09-05 15:01:51
python函数-参数
实验室
# 演示形参是可变类型
def register(name, hobby, hobby_list=[]):
hobby_list.append(hobby)
print(f"{name} prefer {hobby}'")
print(f"{name} prefer {hobby_list}")
register('nick', 'read')
register('tank', 'zuipao')
register('jason', 'piao')
register('jason', 'piao',[12])
nick prefer read'
nick prefer ['read']
tank prefer zuipao'
tank prefer ['read', 'zuipao']
jason prefer piao'
jason prefer ['read', 'zuipao', 'piao']
jason prefer piao'
jason prefer [12, 'piao']
如果针对可变的形参,调用的时候,不传值,那么他会一直指向同一个可变形参。当传入参数这种情况才会不出现。
1.函数的参数
位置形参
def zx(x,y)
print(x)
位置实参
zx(1,2)
默认实参
def zx(x,y=10)
注意:位置形参必须在默认实参前面
关键字实参
def zx(x,y):
print(f"{x},{y}")
zx(y=1,x=1)
1,1
位置可以混乱
可变长参数1(指传入的参数是不固定的)
*args (元组接收)
def zx(*args):
print(args)
zx(1,2,3,[12,2],{1:2,2:3})
(1, 2, 3, [12, 2], {1: 2, 2: 3})
*()打散
def zx(x,y,z,c,*args):
print(x,y,z,c,args)
zx(1,*(1,2,32,12,3),6)
1 1 2 32 (12, 3, 6)
可变长参数2
**kwargs (接收默认参数,封装成字典)
(字典接收)
def func(**kwargw):
print(kwargw)
func(a=5,b=6,c=7)
{'a': 5, 'b': 6, 'c': 7}
**{}打散
def func(x, y, z,*args, **kwargs):
print(x, y, z, kwargs)
func(1, 3, 4,5,**{'a': 1, 'b': 2})
1 3 4 {'a': 1, 'b': 2}
python可变长参数的应用
def index(name, age, sex):
print(f"name: {name}, age: {age}, sex: {sex}")
def wrapper(*args, **kwargs):
print(f"args: {args}")
print(f"kwargs: {kwargs}")
index(*args, **kwargs)
wrapper(name='nick', sex='male', age=19)
args: ()
kwargs: {'name': 'nick', 'sex': 'male', 'age': 19}
name: nick, age: 19, sex: male
最新文章
- Unity学习疑问记录之协程
- 史上最浅显易懂的Git分布式版本控制系统教程
- kissy使用注意事项
- 【转】腾讯OCR—自动识别技术,探寻文字真实的容颜
- 关于打开ILDASM的方法
- 50个jQuery代码段帮你成为更好的JavaScript开发者
- [工具]web开发时自动刷新网页:liveReload
- 51nod 1103 N的倍数 思路:抽屉原理+前缀和
- oracle赋值问题(将同一表中某一字段赋值给另外一个字段的语句)
- selenium 不同版本Driver
- 题解-CodeChef IOPC14L Sweets Problem
- PhoenixFD插件流体模拟——UI布局【Preview】详解
- Luogu 2679 子串 (动态规划)
- powershell玩转litedb数据库-第二版
- git第六节---git 远程仓库
- xpath的常见操作
- apache -- 端口被占用
- Redis学习篇(二)之Hash类型及其操作
- 在头文件中声明class 类 与 include类所在的头文件区别---理解
- C++函数调用之——值传递、指针传递、引用传递
热门文章
- 中小学生试卷自动生成程序--jialin大佬代码分析
- C++学习笔记10_输入输出流.文件读写
- csp-s模拟测试101的T3代码+注释
- 【gradle使用前篇—Groovy简介】
- python学习之【第九篇】:Python中的变量作用域
- apache+php+mysql搭建php环境
- Python实现群聊天小程序代码
- Opencv-Python项目(1) | 基于meanshiftT算法的运动目标跟踪技术学习
- pat 1132 Cut Integer(20 分)
- ArcGIS API For Javascript:新增热力图层的方法