
函数的参数
形式参数 在函数定义阶段括号内填写的参数为形式参数 简称 "形参"
def func(x,y):
其中 x ,y 则为函数的形参
实际参数 在函数调用阶段括号内填写的参数为实际参数 简称 "实参"
func(1,2)
1,2则为函数的实参
'''
形参与实参的关系
我们可以将形参看成是变量名 实参看成是变量值
两者在函数调用阶段临时绑定 函数运行结束断开
形参的表现形式只有一种就是变量名
实参的表现形式有很多种 (但是核心就是变量值)
'''
位置参数
按照从左到右的顺序依次填入的参数
定义函数阶段括号内从左到右依次填写的变量名
调用函数阶段括号内从左到右依次填写的变量值
关键字实参(可以打破位置顺序)
在函数调用阶段通过 形参名=数据值的形式 指名道姓的传值
'''格式越简单的越靠前 格式越复杂的越靠后'''
默认参数
默认参数
默认形参
函数在定义阶段就可以为形参赋值
1. 该形参在函数调用阶段如果不给值 则使用默认的
2. 该形参在函数调用阶段如果给值 则不使用默认的 使用调用时给的
定义学员注册功能
def register(name,age,gender = 'male')
print('%s|%s|%s'% (name,age,gender))
register('jason',123)
register('jason2',22,'remale')
可变长参数
1.函数无论传入多少位置参数都可以正常运行
即为可变长参数
def func(x,y,*a):
priny(x,y,a)
func()
func(1)
func(1,2)
func(1,2,3,4,5,6,7,8,9)
func(1,2)
2.函数无论传入多少关键字参数都可以正常运行
def index(x, y, **a):
print(x, y, a)
index()
index(a=1, b=2, c=3, d=4)
index(y=2, x=1)
index(y=2, x=1, u=222, k=111, l=444)
3.定义一个函数无论传入多少位置参数和关键字参数都可以正常运行
def func(*a,**b):
print(a,b)
func()
func(1,2,3,4)
func(a=1,b=2,c=3)
func(1,2,3,4,a=1,b=2,c=3)
'''
可变长形参 *与**后的变量名都可以随便定义的
但在python中推荐使用 *args **kwargs
eg:
def func(*args,**kwargs):
pass
'''
def index(a, b, c):
print(a,b,c)
new_list = [11,22,33]
index(new_list)
index(new_list[0],new_list[1],new_list[2])
def index1(*args):
print(args)
new_list1 = [11,22,33,44,55,66,77,88,99]
index1(*new_list1)
def index2(**kwargs):
print(kwargs)
new_dict = {'username':'jason','pwd':123}
index2(**new_dict) 相当于:index2(username = 'jason',pwd = 123)
'''
**号在实参中的使用
会将字典内的键值对大散成关键字参数传入
'''
函数参数补充
1.命名关键字参数
def register(name,age,*,sex,height):
pass
register('jason',22,'male',183)
register('lili',18,gender='male',height='1.8m')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)