鱼C论坛

 找回密码
 立即注册
查看: 2012|回复: 2

[已解决]字典

[复制链接]
发表于 2022-8-18 20:48:50 | 显示全部楼层 |阅读模式
5鱼币
本帖最后由 gaorui- 于 2022-8-18 20:49 编辑

大佬c和h为啥不对
最佳答案
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. 位置参数与关键字参数可以混合使用,不过位置参数因为没有使用等号指明给谁传参所以要尽量靠左边,关键字参数必须出现在位置参数右侧。
微信截图_20220818203605.png

最佳答案

查看完整内容

c选项和h选项错误的原因都是一样的。它们都调用了dict创建字典,但是调用方式出错了。 99="吕布"、90="关羽"、60="刘备"这样的形式是错误的。调用函数或者类的时候,等号左边必须是参数名,右边才是值。而出错的这三种形式等号左右两边都是“值”。 99="吕布"的意思是说把字符串"吕布"赋予99,可是99自身也是有意义的整数,这样的赋值语句没有意义。 补充: 调用函数或者类时传递参数的两种有效形式:位置参数与关键字参数 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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. 位置参数与关键字参数可以混合使用,不过位置参数因为没有使用等号指明给谁传参所以要尽量靠左边,关键字参数必须出现在位置参数右侧。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-8-19 12:17:15 | 显示全部楼层
Brick_Porter 发表于 2022-8-18 20:48
c选项和h选项错误的原因都是一样的。它们都调用了dict创建字典,但是调用方式出错了。

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

感谢感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-15 02:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表