形参、默认、可变、命名关键字、关键字

# 形参 : 形式参数
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')
posted @   故y  阅读(56)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示