我在random.randint()中使用*感到困惑,找不到任何文档
random.randint( *(1,300) )
Run Code Online (Sandbox Code Playgroud)
与
random.randint( 1,300 )
random.randint( *300 )
TypeError: randint() argument after * must be a sequence, not int
Run Code Online (Sandbox Code Playgroud)
在*在这种情况下扩展元组成单独的元件。鉴于
random.randint( (1,300) )
Run Code Online (Sandbox Code Playgroud)
会错误地将元组作为单个参数传递给random.randint,
random.randint( *(1,300) )
Run Code Online (Sandbox Code Playgroud)
将“装饰”元组的每个元素作为参数传递给函数。对于硬编码的元组,它并不是真正有用的,因为删除*和括号会更快更清楚。但是,当您有一个引用元组的名称时,这更有意义。
range = (1,300)
random_value = random.randint( *range )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1461 次 |
| 最近记录: |