![](/img/trans.png)
[英]What's the difference between a 'function', 'method' and 'bound method' in Python 3?
[英]what's the difference between assign and bound when talking about variable?
除了http://www.stavros.io/tutorials/python/
# This swaps the variables in one line(!).
# It doesn't violate strong typing because values aren't
# actually being assigned, but new objects are bound to
# the old names.
>>> myvar, mystring = mystring, myvar
我不明白他的意思。
他的意思是说,这两个变量实际上是在不知道它们的类型的情况下交换的,或者像往常一样显式地使用中间变量。 弱类型交换看起来像这样:
temp = A
A = B
B = temp
为了执行交换,必须创建一个先前单位化的临时变量temp
。 但是,由于在首次创建temp
时未指定任何类型,因此它违反了强类型。 这是一个强类型的交换:
int temp = A
A = B
B = temp
像A, B = B, A
这样的交换不会违反强类型,因为不需要明确地定义带或不带类型的中间变量。 它只是一个赋值操作,而一个基本的赋值操作总是模棱两可(无论您使用的是强类型语言还是弱类型语言, A = B
都是相同的)。
像a=1
这样的赋值,从概念上讲Python将执行三个不同的步骤来执行请求。
1,创建一个对象代表值1
2.创建变量a
。
3.将变量a
链接(或绑定为链接)到新对象1
。
就您而言,声明
myvar, mystring = mystring, myvar
将更改变量对象绑定关系。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.