学习Python并且有点卡住了.
我正在尝试将变量设置为相等,int(stringToInt)或者如果字符串为空则设置为None.
我试着这样做variable = int(stringToInt) or None但是如果字符串为空则会出错而不是仅将其设置为None.
你知道这个吗?
Tha*_*Guy 44
如果你想要一个像你尝试过的单行,那就去吧:
variable = int(stringToInt) if stringToInt else None
Run Code Online (Sandbox Code Playgroud)
这将仅分配variable给int(stringToInt)非空且是"数字".例如,如果stringToInt是'mystring',ValueError将提出一个.
避免 ValueError s,只要不进行生成器表达式,请使用try-except:
try:
variable = int(stringToInt)
except ValueError:
variable = None
Run Code Online (Sandbox Code Playgroud)
Rob*_*obᵩ 11
使用它生成异常的事实:
try:
variable = int(stringToInt)
except ValueError:
variable = None
Run Code Online (Sandbox Code Playgroud)
这具有约束力愉快的副作用variable对None其他常见的错误:stringToInt='ZZTop',例如.
mol*_*are 11
我认为这是最明确的方式:
variable = int(stringToInt) if stringToInt.isdigit() else None
Run Code Online (Sandbox Code Playgroud)
小智 5
如果 stringToInt 有效,则将其解析为 int;如果为 '' 或 None,则返回原始值
variable = stringToInt and int(stringToInt)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24950 次 |
| 最近记录: |