python中变量赋值的8种形式、需要注意哪些细节?

2023-05-26 0 440

讨厌程式设计,爱好撷取,期望能广交更多志趣相投的好友,一同在自学Python的高架道路上走得更远!

python中变量赋值的8种形式、需要注意哪些细节?

责任编辑说明python中函数函数的形式,并说明许多技术细节。

python中函数函数的三种形式

1 x = “long” # (1).基本上形式 2 x, y = “long”, “shuai” # (2).位元相关联函数 3 [x, y] = [“long”, “shuai”] # (3).条目相关联函数 4 a, b, c, d = “long” # (4).字符串函数 5 a, *b = long # (5).解包函数 6 a = b = “long” # (6).多最终目标函数 7 a += 3 # (7).相互依赖函数函数 8 ((a, b), c) = (lo,ng) # (8).冗余函数字符串

特别注意:python的值是不容变第一类,难以在别处修正统计数据,因此不全力支持自增、自减

1 a++ 2 ++a 3 a– 4 –b

当中(1)-(3)无须过多说明,惟一须要特别注意的是,当采用双引号的这时候,python协进会临时性或永久性地创建成tuple来留存原素,因此x, y = “long”, “shuai”在外部全然同构于(x, y) = (“long”, “shuai”)。

事实上,条目原素也能函数给位元,或是位元函数给条目,如果两端的字符串原素特征值能相关联,没关系以内两端的字符串类别:

1 >>> (x,y) = (1,2) 2 >>> (x,y) = [1,2] 3 >>> [x,y] = (1,2) 4 >>> [x,y] = [1,2] 5 >>> (x,y) = ab 6 >>> [x,y] = ab

对(4)函数形式,是字符串函数的犯罪行为,在python中,如果是字符串,都能这种函数。正像这儿的函数函数情形同构于:

1 a = “l” 2 b = “o” 3 c = “n” 4 d = “g”

如果换成其它的字符串也一样。例如:

1 a, b, c, d = (“shell”,”perl”,”php”,”python”) 2 a, b, c, d = [“shell”,”perl”,”php”,”python”]

但是函数和字符串中的原素必须一一相关联。如果函数名与原素特征值不同,则会报错,除非只有一个函数名,这表示将整个字符串函数给这个函数。

如果想要将字符串中的原素函数给不等的函数,能考虑先将字符串进行切片。

1 >>> str=long 2 >>> a, b, c = list(str[:2]) + [str[2:]] 3 >>> a,b,c 4 (l, o, ng)

(5)的函数形式则正好是让函数名少于原素特征值的形式。这种函数形式称为字符串解包(下文会专门说明这种函数形式),多出来的原素会全部以条目的形式函数给最后一个函数名。正像这儿同构于:

1 a=”l” 2 b=[“o”, “n”, “g”]

下面两种函数形式得到的结果是一样的,a是字符串,b是条目,b都包含3个原素:

1 a, *b = (“shell”,”perl”,”php”,”python”) 2 a, *b = [“shell”,”perl”,”php”,”python”]

函数的结果:

1 shell 2 [perl, php, python]

(6)的函数形式同构于:

1 b = “long” 2 a = b

python函数时,总是先计算”=”右边的结果,然后将结果按照函数形式函数给”=”左边的函数。因此,这儿的过程是先将”long”函数给函数b,再将b函数给函数a。

因为总是先计算右边,因此交换函数非常的方便。

1 a, b = “a”, “b” 2 3 # 交换: 4 a, b = b, a 5 6 # 交换结果: 7 a = “b” 8 b = “a”

(7)的函数形式a += 3在结果上同构于a = a + 3,在其它语言中这两种函数形式是全然同构的,但在python中这种增强函数的形式要比后者更高效率些,为什么效率要高许多,下文会稍作说明。在很大程度上来说,Python中如果是简化的形式,基本上上都比更复杂的同构形式效率更高。

(8)的函数形式((a, b), c) = (lo, ng)是将字符串进行冗余字符串函数,将lo函数给位元(a, b),ng函数给c,位元又进一步函数a=l, b=o。这种函数形式在python中很好用,特别是在函数中函数的这时候,比如for循环和函数参数:

1 for (a, b, c) in [(1, 2, 3), (4, 5, 6)]:… 2 for ((a, b), c) in [((1, 2), 3), ((4, 5), 6)]:… 3 4 def f(((a, b), c)):… 5 f(((1, 2), 3))

觉得文章还能的话不妨点个赞,有任何意见或是看法欢迎大家评论!

我是一名python开发工程

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务