鱼C论坛

 找回密码
 立即注册
查看: 1501|回复: 7

[技术交流] Python 位置参数与关键字参数

[复制链接]
发表于 2020-4-21 15:52:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这是一封信件:
Python already allows positional arguments after keyword
arguments:

    py> sorted(reverse=True, *([1, 4, 2, 3],))
    [4, 3, 2, 1]
    
Haha, that's very clever. I had to think for a bit about why that's allowed. So let me specify: we don't allow non-variadic positional arguments after keyword arguments, and I don't think we ever will or should.
 
I have an actual, concrete possible enhancement in mind: relaxing the
restriction on parameter order.

What? Do you think that the current restriction is bad, and we should just drop it? Why?

啥意思呢?

其实,光看这一部分:
py> sorted(reverse=True, *([1, 4, 2, 3],)) # 这里加个逗号,是为了保证它是一个可迭代对象,而不是4个数
[4, 3, 2, 1]

!!!Python居然允许关键字参数在位置参数前面了!

我自己试了试,也是可以的!

各位觉得这是一件好事还是坏事呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-21 16:13:04 | 显示全部楼层
这是一件怪事
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-21 19:52:13 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-21 20:07:35 From FishC Mobile | 显示全部楼层
永恒的蓝色梦想 发表于 2020-4-21 16:13
这是一件怪事

……说你杠精不过分吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-21 20:11:06 From FishC Mobile | 显示全部楼层
这是什么原理
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-21 20:12:39 | 显示全部楼层
_2_ 发表于 2020-4-21 20:07
……说你杠精不过分吧

信中说了,这是不应该出现的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-21 20:16:58 From FishC Mobile | 显示全部楼层
永恒的蓝色梦想 发表于 2020-4-21 20:12
信中说了,这是不应该出现的

那我就不知道了……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-21 20:19:10 From FishC Mobile | 显示全部楼层
永恒的蓝色梦想 发表于 2020-4-21 20:12
信中说了,这是不应该出现的

原文译文:
我不得不思考一下为什么这是允许的。所以让我具体说明一下 : 
我们不允许关键字参数后的非变量位置参数,我认为我们永远不会或应该。
我有一个实际的、具体的可能 :
放松对参数顺序的限制。
什么?你认为目前的限制不好,我们应该放弃它吗?为什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-26 18:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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