# 形参 : 形式参数
def my_max(a, b):
print('a的值是', a)
print('b的值是', b)
return a if a > b else b
# 实参
print(my_max(3, 8))
# 位置参数
print(my_max(b=3, a=6))
# def power(x, n):
# return x ** n
#
# print(2,3)
# 我们思考一个问题,如果n是固定的该怎么写便捷
def power(x, n=2):
return x ** n
print(power(3, 3)) # 如果n为其他数将会覆盖掉原有的2
def text(a=1, b=23, c=67):
print('a=%d b=%d c=%d' % (a, b, c))
text(c=9) # 只用改变单个数
def text1(l=[]):
l.append('end')
print(l)
text1([1])
text1([1])
# 有一个奇怪的现象
text1()
text1()
# ['end']
# ['end', 'end'] 默认参数必须指向一个不可变的参数
# 可变参数
def my_fun(*numbers):
total = 0
for i in numbers:
total += i
return total
print(my_fun(2, 7, 5))
# 命名关键字参数
def my_name(name, sex):
print(name, sex)
my_name('yhk', 'man')
# 但是在这里的顺序发生改变
my_name('man', 'yhk')
# 提出了命名关键字
def your_name(name, *, pet_name='tomcat'):
return (name, pet_name)
print(your_name('ldl', pet_name='cat')) # 命名关键字 *后面要加上定义的名字
# 关键字参数
def people(name, **kwargs):
print(name, kwargs)
people('ll', nation='china', pet='cat', pet_name='miao')
#形参、默认、可变、命名关键字、关键字 可以多多少少,但是不可以改变顺序
def person(name,pet='cat',*num,pet_name,**value):
print(name,pet,num,pet_name,value)
person('kk','dog',3,5,3,6,pet_name='ll',sex='None')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律