gaorui- 发表于 2022-8-18 20:48:50

字典

本帖最后由 gaorui- 于 2022-8-18 20:49 编辑

大佬c和h为啥不对

Brick_Porter 发表于 2022-8-18 20:48:51

c选项和h选项错误的原因都是一样的。它们都调用了dict创建字典,但是调用方式出错了。

99="吕布"、90="关羽"、60="刘备"这样的形式是错误的。调用函数或者类的时候,等号左边必须是参数名,右边才是值。而出错的这三种形式等号左右两边都是“值”。
99="吕布"的意思是说把字符串"吕布"赋予99,可是99自身也是有意义的整数,这样的赋值语句没有意义。

补充:
调用函数或者类时传递参数的两种有效形式:位置参数与关键字参数
以下面这个add函数为例
def add(a, b):
    print('a = {}, b = {}'.format(a, b))# 打印参数a和b接收到的值
    return a + b

先来看位置参数
# 使用位置参数这种形式调用add函数
result = add(10, 23)
print(result)
我们使用10和23这两个值调用add函数,因为没有指定它们对应的参数名所以按照从左往右的位置关系,10赋予参数a,23赋予参数b。
因此程序输出为:
a = 10, b = 23
33
总结来说,位置参数是指调用函数时按照从左往右的位置关系把实际的值赋予参数。

再来看关键字参数
# 使用关键字参数的形式调用add函数
result = add(b=23, a=10)
print(result)
请注意这次调用函数与上次调用函数的区别。尽管还是用到了10和23这两个值,但这次我们采用了“参数名=值”这样的形式给参数传值,正因如此即是我们调换了a和b两个参数的位置也不会影响输出的结果。
程序输出为:
a = 10, b =23
33
和上次的结果完全一样。
总结就是,调用函数时形如“参数名=值”这样的参数就是关键字参数。

最后请注意
1. 不论是调用函数还是调用类,以上就是Python仅有的两种传递参数的方式;
2. 位置参数与关键字参数可以混合使用,不过位置参数因为没有使用等号指明给谁传参所以要尽量靠左边,关键字参数必须出现在位置参数右侧。

gaorui- 发表于 2022-8-19 12:17:15

Brick_Porter 发表于 2022-8-18 20:48
c选项和h选项错误的原因都是一样的。它们都调用了dict创建字典,但是调用方式出错了。

99="吕布"、90=" ...

感谢感谢
页: [1]
查看完整版本: 字典