最新版本的python,海象赋值是咋用的啊?
最新的python说多了:=这个赋值的功能
能具体讲讲应用上和=的区别么? 一个等号 是赋值 ,两个等号 是 判断 >>> if (a:=5) == 5:
print(a)
5
就是可以方便的赋值,在if/循环里面赋值。 本帖最后由 wuqramy 于 2020-5-15 15:44 编辑
在Python中
单等号(=)表示赋值:
>>> a = 1
>>> a
1
双等号(==)表示判断等号两边是否相等
是返回True,否则返回False
>>> a == 1
True
>>> a == 2
False
继续
海象运算符(:=)是在 PEP 572 被提出的,直到 3.8 版本合入发布。
它的英文原名叫 Assignment Expressions,翻译过来也就是 赋值表达式,不过现在大家更普遍地称之为海象运算符,就是因为它长得真的太像海象了(看图)。
更多详情:https://www.cnblogs.com/wongbingming/p/12743802.html wuqramy 发表于 2020-5-15 15:38
在Python中
单等号(=)表示赋值:
看题! wuqramy 发表于 2020-5-15 15:38
在Python中
单等号(=)表示赋值:
lz说海象运算符,你搁这说=和==。。 Twilight6 发表于 2020-5-15 15:34
一个等号 是赋值 ,两个等号 是 判断
看题! wuqramy 发表于 2020-5-15 15:38
在Python中
单等号(=)表示赋值:
哈哈哈有默契{:10_275:}{:10_311:} qiuyouzhi 发表于 2020-5-15 15:37
就是可以方便的赋值,在if/循环里面赋值。
学到了{:10_275:} qiuyouzhi 发表于 2020-5-15 15:37
就是可以方便的赋值,在if/循环里面赋值。
测试了,是这样的;
如果写
if (a=5)==5:
print(a)
报错的 @qiuyouzhi 还有@永恒的蓝色梦想 还在编辑哩 Twilight6 发表于 2020-5-15 15:42
哈哈哈有默契
{:10_311:}{:10_275:}
{:10_340:} mathcad里边有这个
:=
=
三
这三种
wuqramy 发表于 2020-5-15 15:45
@qiuyouzhi 还有@永恒的蓝色梦想 还在编辑哩
??? 本帖最后由 sunrise085 于 2020-5-15 16:06 编辑
海象赋值就是为了肩上代码的重复执行,提高运行效率优化代码量而设计了。
作用是为一个表达式进行命名,在下面方便使用,而不必多次执行该表达式
主要用于条件判断中,例如if条件,while循环条件等等
看下面的例子,len(str1)是个表达式,用于求字符串str1的长度,在if条件中用到了,调用了一次len()函数,在下面的print函数中用到了,又调用了len()函数,相当于重复执行了该表达式,若是while循环的话,消耗的 时间可能会更长。而第二种写法,又使得代码变长了。
str1="abcdefg"
#第一种写法
if len(str1)>5:
print(str1,"的长度是",len(str1))
#第二种写法
n=len(str1)
if n>5:
print(str1,"的长度是",n)
若是使用海象赋值则是这样的,既精简了代码量,有减少了运行时间。
str1="abcdefg"
if n:=len(str1)>5:
print(str1,"的长度是",n)
它和赋值"="是不一样的。
一般变量的赋值不能用":=",而像上述这种赋值也不能使用"="
#错误写法
if n=len(str1)>5:
print(str1,"的长度是",n)
#错误写法
num:=123
empty_list := []
页:
[1]