勤学思合作机构>

勤学思培训网SZDFSL

欢迎您!
朋友圈
机构未认证 全国统一学习专线 8:00-21:00

位置:勤学思培训网SZDFSL » 培训新闻 » 语言培训 » 英语 » GRE » 终于发现python如何赋值

终于发现python如何赋值

发布时间:2023-01-05 05:50:39
赋值语句其实在例子中经常使用,其中包括对变量和一些数据结构的元素进行赋值;但是赋值方法不止这些,还有如序列解包、链式赋值和增量赋值等方法,那么python如何赋值呢?一起来了解下吧: python如何赋值
[图片0] python的赋值,尤其是涉及到两个变量时候二者之间有某种计算关系的时候,可以省去临时变量。 比如C语言中的一段: temp=n n=n+m m=temp 就可以在python中简单写作: m,n=n,n+m Python如何最大最小赋值 码代码时,有时候需要根据比较大小分别赋值: import random seq = [(0, 1000) for _ in range(100)] #方法1: xmax, xmin = max(seq), min(seq) #方法2: xmax, *_, xmin = sorted(seq) 从上面这个来看,看不出来方法2的优势来,不过我们常用的是比较两个数的大小,并选取: dx, dy = (seq, 2) #方法1: dx, dy = min(dx, dy), max(dx, dy) #方法2: dx, dy = sorted((dx, dy)) Python如何选择赋值 两个对象做比较有两种方式,分别是:is与 == ,is比较的是两个对象是否相同,通过对象的ID值可识别是否为相同对象,==比较的是两个对象的值是否相等。 x1 = [1,2,1] x2 = [1,2,1] print(x1 is x2) print(x1 == x2) print(id(x1)) print(id(x2)) False True
[图片1] 上面我们对x1和x2进行赋值,相对于给两个变量分别取了名字x1和x2,两个名字虽然都是列表[1,2,1],但在内存中是两个独立的不同的对象,占据不同的内存空间,就好比两个名字一样的人,实则为两个不同的人。 x3 = x2 print(x2 is x3) True 上面我们将x2对应的对象绑定了一个新的名字叫x3,这就好比一个人,开始给他取了一个x2的大名,后来又给他取了一个x3的小名,本质上还是同一个人,所以,x2和x3所指的其实是同一个对象。 通过x2修改对象时,x3也会跟着变化,因为本质上它们是同一个对象,这就好比一个人大名x2,小名x3,x2长了一岁相对于x3也长了一岁。 (2) print(x2) print(x3) [1, 2, 1, 2] [1, 2, 1, 2] 但是,当我们给x2重新赋值时,相当于x2不再引用之前的对象,而引用新对象,x3依然引用之前的对象。好比一个人的大名x2和小名x3,给x2重新赋值就相当于给另外一个人取大名x2,但是x3还是开始那个人的小名。 x2 = [3,4,3] print(x2) print(x3) [3, 4, 3] [1, 2, 1, 2] python的赋值和赋址 python的数字和字符串的值是不变的(元祖也是不可变的),所以当一个变量(数字或字符串)进行值改变的操作时,其实是新开辟了一个地址来存放这个新值。 例如: >>>a=2 >>>b=a >>>a=3 >>>b 当执行a=3时,其实是新开辟了一块内存空间来存放3,并且把索引a从2那边解除,指向了存放3的内存地址。所以 a的值是3,但是b还是2。因为b依旧指向2所在的内存空间。 再来看看其他非数字和字符串的操作,例如列表, >>>a=[2] >>>b=a >>>(3) >>>b [2,3] 当执行时,因为列表的值是可以变化的,所以就在原来的存放a的内存地址改变了a的值,由于a,b 是指向同一地址空间的索引,所以当此内存地址所存储的值被改变时,打印b时,b的值也变化了。

更多培训课程,学习资讯,课程优惠,课程开班,学校地址等学校信息,请进入 勤学思培训网SZDFSL 详细了解
咨询电话:

还没有找到合适的课程?赶快告诉课程顾问,让我们顾问马上联系您! 靠谱 的培训课程,省时又省力!

微信访问

#tel_020#