一个关于python代码写法的疑问?
open('record.txt','w') if not os.path.exists('record.txt') else None
看到这样的python代码, 意思明白, 也能运行.但很奇怪的是:
open('record.txt','w')
和 if not os.path.exists('record.txt') else None
这应该是两个代码块, 可以直接写在一行吗? 这是什么用法?
在ide里, 如果换行, 会自动增加 \
.
回答:
if 后置。
你可以理解成其他语言中的三元表达式,但 Python 里没有三目运算符,所以就写成了这个样子:
python">c = a if a>b else b// 等效于
if a>b:
c = a
else:
c = b
P.S. 我一直觉得这种写法可读性差的一哔……
回答:
这样的写法叫条件表达式,是三目运算符的python版本,它们并不是两个“代码块”,而是一个表达式里的不同部分,类似的设计好像也存在在rust里。
https://docs.python.org/zh-cn...
以上是 一个关于python代码写法的疑问? 的全部内容, 来源链接: utcz.com/p/938415.html