python - 为什么这段代码运行正确?(python 全局关键字)
问题描述
我是一个新手......并且正在研究global
关键字。此代码创建一个随机字符串。
我认为第 8 行,string.append(word[x])
在此代码上出错,因为string
是全局变量,所以必须是 requiredglobal
关键字。(全局字符串)
但是这段代码运行正常...为什么可以正常运行...?
import random
word = 'a b c d e f g h i j k l m n o p q r s t u v w x y z'.split(" ")
string = []
n = int(input())
def get(leng) :
for i in range (0, leng) :
x = random.randint(0, len(word)-1)
string.append(word[x])
sen = ''.join(string)
return sen
print(get(n))
解决方案
乍一看,您的代码似乎没有任何问题,尽管对您想要发生的事情或错误不是很清楚,但是在中get()
,您的列表string
不需要分配为全局变量,除非您想重新- 定义变量。如果出于某种原因,您决定string
在函数内声明或任何变量,则需要更改其范围。
推荐阅读
- javascript - 从 nodered 读取两个输入
- java - 使用杰克逊序列化,我如何序列化双值 null 并且在 0.0 时不返回
- angularjs - AngularJS ng-options 未从 Promise 值填充
- android-studio - 对象分类器没有伴随对象,因此必须在此处初始化 [kotlin]
- google-apps-script - 向日期变量添加 1 天
- go - 带有 goroutine 的匿名函数
- django - React Chrome 扩展:可以通过 React Chrome 扩展查看 API 响应数据,可以吗?
- kotlin-coroutines - Kotlin 使用定义的最低 iOS 版本构建 FatFramework
- java - 当我单击注销链接一次时,它不会返回,但是当我单击注销链接两次时,它会返回或返回上一页
- jquery - 如何仅从数据库中获取数据表中特定列的值