python - 关于while循环的一般学习问题
问题描述
所以对于下面的基本代码。我认为 spam = spam + 1 会将 1 添加到局部变量 spam 中,但它似乎将其添加到全局变量(否则为什么要从全局变量 spam = 0 开始)。我认为局部变量只存在于函数中(从冒号开始。)考虑到局部/全局范围,这似乎不起作用?
spam = 0
while spam < 5:
print('Hello, world.')
spam = spam + 1
解决方案
while
循环不会创建新范围。范围仅由函数和类定义建立。while
循环不是函数定义。
因此spam = 0
andspam = spam + 1
语句在同一范围内,因为它们中的任何一个都没有函数定义。
推荐阅读
- dataframe - 在 Elastic Search 中使用某些字段和某些条件进行查询?
- c# - SaveFileDialog 工具中是否有路径属性?
- javascript - 使用 openlayers3,geoserver 在地图上显示位置详细信息
- spring - 在 post 请求中从 spock 测试用例中删除硬编码的 url
- c# - 如何将完整的对象添加到 Serilog Azure Tablestorage 接收器,而消息中没有写出?
- google-sheets - 如何将 3 个不同的工作表与 Query(importrange) 结合起来?
- javascript - 如何修复 chrome 扩展上的多确认窗口
- encryption - Openpgp 多密钥加密
- ios - 委托协议的实现方法在哪里调用?
- django - 如何使用 url 修复 django 'django.core.exceptions.ImproperlyConfigured' 的错误?