这是一个简单的Python代码
for item in sorted(frequency, key=frequency.get, reverse=True)[:20]:
print(item, frequency[item])
但是,如果拨打frequency.get()
而不是frequency.get
,则会向我显示错误"get expected at least 1 arguments, got 0"
我来自Ruby。在Ruby中get
和get()
完全相同。它在Python中不一样吗?
例如,get()
的描述为get
,而不是get
。什么是{{1}}?
答案 0 :(得分:9)
frequency.get
描述了方法本身,而frequency.get()
实际上调用了方法(并且错误地给它没有参数)。你是对的,这与Ruby不同。
例如,考虑:
frequency = {"a": 1, "b": 2}
x = frequency.get("a")
在这种情况下,x
等于1
。但是,如果我们这样做了:
x = frequency.get
x
现在将成为一个功能。例如:
print x("a")
# 1
print x("b")
# 2
此功能是您传递给sorted
的。