python - Python 元组中的值分配如何工作?
问题描述
在使用 Python 编写脚本时,我遇到了 sys 模块的这个内置方法部分,sys.flags
它返回用于运行 python 脚本的标志元组。输出如下所示:
(debug=0, inspect=0, interactive=0, optimize=1, dont_write_bytecode=0, no_user_site=0, no_site=0, ignore_environment=0, verbose=0, bytes_warning=0, quiet=0, hash_randomization=1, isolated=0, dev_mode=False, utf8_mode=0)
我很困惑,因为我认为您无法在 Python 中的另一个表达式中嵌入赋值,到目前为止,我还无法在 Google 上找到解释该元组行为的答案。
解决方案
实际输出为:
>>> sys.flags
sys.flags(debug=0, inspect=0, interactive=0, optimize=0, dont_write_bytecode=0, no_user_site=0, no_site=0, ignore_environment=0, verbose=0, bytes_warning=0, quiet=0, hash_randomization=1, isolated=0, dev_mode=False, utf8_mode=0)
在sys.flags
左括号之前是至关重要的。它表明这sys.flags
不是元组。
然而,您完全可以创建一个类,其__repr__
方法将返回这种类似元组的表示:
class Weird:
def __init__(self, a, b):
self.a, self.b = a, b
def __repr__(self):
return f"(a={self.a}, b={self.b})"
然后输出将如下所示:
>>> Weird(1,2)
(a=1, b=2)
但Weird
绝对不是元组。
推荐阅读
- vue.js - 我可以将 sass 文件导入 main.js 并使其全局可访问吗?
- python - 无法将输入数组从形状 (3) 广播到形状 (2)
- wordpress - 我可以在前端和后端为自定义帖子类型设置不同的网址吗?
- turtle-graphics - Python海龟终结者
- bash - Bash:有没有一种更有效的方法可以让 /proc/meminfo 以百分比形式使用 RAM
- asp.net-core - 在瞬态服务的上下文中,“请求”一词是什么意思?
- javascript - 数据完成事件在万事达卡支付网关 Checkout.js 集成中不起作用
- swift - 如何在 Swift 中进行通用扩展?
- python - 得到一个 TypeError,不需要参数,请任何人帮忙
- python - 为什么 + 和 += 不同?