python赋值⽅法⼤全
NB(注意): # 后⾯的部分表⽰输出结果。
第⼀种:类似于其他语⾔的中规中矩的赋值⽅式,代码如下:
class Debug:
def__init__(self):
postman入门使用教程
self.x1 =5jsp中nan是什么意思
self.x2 =6
def printNum(self):
print(f"the value of x1 is: {self.x1}")# the value of x1 is: 5
print(f"the value of x2 is: {self.x2}")# the value of x2 is: 6
if __name__ =="__main__":
main = Debug()
main.printNum()
最常见的⼀种赋值⽅式,每个变量占据⼀⾏进⾏赋值。
第⼆种:赋值语句在⼀⾏分开完成,代码如下:
class Debug:
def__init__(self):
self.x1 =5; self.x2 =6
def printNum(self):
print(f"the value of x1 is: {self.x1}")# the value of x1 is: 5
print(f"the value of x2 is: {self.x2}")# the value of x2 is: 6
if __name__ =="__main__":
main = Debug()
main.printNum()
可以看到此时我们将两个赋值语句放置在同⼀⾏,并⽤分号隔开,此时也可以成功完成赋值,分号类似于C#语⾔中结尾的分号的作⽤,告诉程序当前⾏执⾏完毕。
第三种是:赋值语句在⼀⾏合并完成,专业术语叫做序列解包 ,代码如下:
class Debug:
def__init__(self):
self.x1, self.x2 =5,6
def printNum(self):
学java需要什么样的电脑
print(f"the value of x1 is: {self.x1}")# the value of x1 is: 5
print(f"the value of x2 is: {self.x2}")# the value of x2 is: 6
if __name__ =="__main__":
main = Debug()
main.printNum()
我们将多个变量名⽤逗号隔开放在左侧,使⽤⼀个赋值号,并将对应想要给与的值放在右侧的相应位置,也⽤逗号隔开即可,从结果可以看到我们也成功完成了赋值。当要给多个变量赋值的时候推荐使⽤这种形式。
第四种:当两个变量值相等的时候可以连等赋值,专业术语叫做链式赋值。代码如下:
class Debug:
def__init__(self):
self.x1 = self.x2 =5
def printNum(self):
print(f"the value of x1 is: {self.x1}")# the value of x1 is: 5
python基础代码大全下载print(f"the value of x2 is: {self.x2}")# the value of x2 is: 5
print(id(self.x1))# 140703956215952
print(id(self.x2))# 140703956215952
self.x1 =7
makefile详解
print(f"the value of x1 is: {self.x1}")# the value of x1 is: 7
print(f"the value of x2 is: {self.x2}")# the value of x2 is: 5
print(id(self.x1))# 140703956216016
print(id(self.x2))# 140703956215952
if __name__ =="__main__":
main = Debug()
main.printNum()
然⽽上述的赋值⽅法存在隐患,先说明⼀下id()函数的作⽤:
id(): 函数返回对象的标识。 这是给定对象唯⼀的整数,并且在其⽣存期内保持不变。
我们可以看到当我们完成链式赋值时,此时变量self.x1与self.x2的标识是⼀样的,可以理解为都是张三这个⼈,⼀个是他的⼩名,⼀个是他的⼤名,但是都是⼀个⼈,因此当我们改变变量self.x1的值时,理论上self.x2的值也是会改变的,因为我们将张三换成了李四,然⽽这⾥我们打印发现,仅仅self.x1的值发⽣了变化,它的标识也从140703956215952变为了140703956216016,⽽self.x2的值并未发⽣变换,并且它的标识还是原来的值,这是因为编译器⾃⾝对这个赋值进⾏了调整。
根据我的使⽤经验,当使⽤Anaconda编译器时,这个变量重新赋值的过程会被修正,改变⼀个变量的值是不会改变另⼀个变量的值的,但是Pycharm编译器中,改变⼀个变量的值是会改变另⼀个变量的值的。所以在使⽤链式赋值并且后⾯要对变量进⾏重新赋值时,要根据不同编译器的不同情况采取不同的措施,我估计python⾃带shell中的情况应该类似于Pycharm(没有尝试过)。
第五种:增强赋值,个⼈觉得这个只是个噱头,⼀个概念⽽已,我们会经常⽤到,只不过会很少注意到。代码如下:
class Debug:
def__init__(self):
self.x1 =5
self.x1 +=2
def printNum(self):
print(f"the value of x1 is: {self.x1}")# the value of x1 is: 7
怎么删除sqlserver
if __name__ =="__main__":
main = Debug()
main.printNum()
上述代码中的 self.x1 += 2的专业术语就是增强赋值,其本⾝为 self.x1 = self,x1 + 2。
如果⼤家觉得有⽤,请⾼抬贵⼿给⼀个赞让我上推荐让更多的⼈看到吧~

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。