【发布时间】:2015-06-07 23:01:45
【问题描述】:
>>> import random
>>> random.SystemRandom.randint(0, 10)
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
random.SystemRandom.randint(0, 10)
TypeError: randint() missing 1 required positional argument: 'b'
虽然os.urandom、randint 像正常的randrange 一样工作,但 SystemRandom 应该提供随机数:
>>> print(random.SystemRandom.randint.__doc__)
Return random integer in range [a, b], including both end points.
在 IDLE 中,当我输入它时会出现一个小弹出建议
`random.SystemRandom.randint(self, a, b)`
我认为这就是原因。我不太擅长使用类和理解它们是如何工作的,但第一个参数似乎是作为self 传递的,而它应该是a。我从来没有真正理解为什么self 在它甚至不是关键字的情况下被使用,以及它应该如何工作,但它通常可以。
我是不是做错了,还是应该在应该做这些事情的时候向 Python 基金会报告?
【问题讨论】: