水木社区手机版
首页
|版面-Python的自由天空(Python)|
新版wap站已上线
返回
1/1
|
转到
主题:Python 的 := 运算符有点蠢啊。
4楼
|
easior
|
2023-09-03 07:34:47
|
展开
这个例子真得好
但 := 本身必须括号加持,优先级最高了吧
【 在 poocp 的大作中提到: 】
: 故意不让这么用的,还有就是这个运算符的优先级相当低,需要注意加括号。
: 有了:=可以省一行代码,比如我常用在if语句里面赋值加判断。
: if m := re.match(somereg, somestr):
: ...................
--
FROM 220.196.211.*
6楼
|
easior
|
2023-09-03 08:26:38
|
展开
手册虽然这么说,但 := 离开括号没法用,它和括号是一体的
当然,我有可能理解还没有到位
【 在 poocp 的大作中提到: 】
: :=不是最高优先级,是最低优先级,python手册写了的。
:
https://docs.python.org/zh-cn/3.11/reference/expressions.html#operator-precedence
--
FROM 27.115.42.*
9楼
|
easior
|
2023-09-03 10:26:39
|
展开
看起来这个解释合理,但它的前提是放在 if 里
其他语言的 = 作为运算符可用于 if 之外的表达式中
Python 的 := 作为运算符,拿掉括号,就想不到其他用法
【 在 poocp 的大作中提到: 】
: 如果用在if语句里,只有一个条件的话,当然可以不用括号,就如我例子里那样,没用到括号。
: 但是加了别的运算符之后,想优于这个运算符执行,就必须用括号了,例如把例子改成:
: [code=python]
: ...................
--
FROM 27.115.42.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版