a='''abcdef''' print(a) a=a.replace('c','G') print(a)
课件上说 replace替换后会生产新的字符串
那我后续输出的应该是abGdef
如果我还想调用老的a=abcdef
还有直接调用的方法吗?
当有两个Value为3的变量时呢???id(3)
a,b=1,2
print(a,b)
=1 2
为什么不是=1,2
若x=30,y=90,则条件表达式x if x>y else y的值为30.这句话是对的还是错的
老师,我的和老师代码一样,为什么运行出错呢?
老师,请问为什么会说 d 没有被定义呢?
1、想测试用del销毁对象后,是否还有该对象,于是有下面代码,但是运行结果显示先报错,再继续运行代码,对代码运行顺序表示懵逼。按说报错后不就执行不下去了吗,怎么我的运行结果显示报错后反而还运行报错行前面的代码和报错行后的代码默认del??十分不解。代码和显示结果如下:
class Person: def __del__(self): print(id(self)) print("销毁对象:{0}".format(self)) p2 = Person() print(id(p2)) print("程序结束") del(p2) print(p2)#报错NameError: name 'p2' is not defined #默认调用del函数,报错后还要销毁p2,于是还显示????不对???????
这章节学的很是迷,几个概念定义没有分清楚。请老师帮忙解释一下:
1、类和类对象和模具对象和实例对象 的 定义 的区别。
2、常常讲到的类对象是不是模具对象?
1、p1=Person()和语句p2=Person()看起来是两个不同的变量名指向同一个对象即Person()对象,我这样的理解是否正确?
2、p1=Person()语句首先是等号右边创建了一个对象,这个对象是模具对象类对象,还是实例对象?
3、p1=Person()和语句p2=Person()是否是创建了两个不同的对象?为什么不同?
4、如图显示,为什么两个打印的ID不同?ID不同即指这两个不是同一个对象。综上所述十分不解。
class Person: def __del__(self): print(id(self)) print("销毁对象:{0}".format(self)) p1 = Person()#创建了一个类对象即模具对象?还是创建了一个实例对象? print(id(p1))#运行执行顺序1 p2 = Person()#创建了又第二个类对象即模具对象, # 如果是都是模具对象为什么和第一个模具对象的ID不一致?? # 还是创建了第二个实例对象??? #这俩对象并没有发现不同的属性,为什么前后两个的ID不一致,按说应该是相同内容的对象 print(id(p2))#运行执行顺序2 del p2#运行执行顺序34调用del函数内两个打印 print("程序结束")#运行执行顺序5 #默认调用del,运行执行顺序67
1、图中画圈的一串是不是表示ID地址信息?
2、self代表的是谁?
3、P1指向的不就是创建的第一个类对象即模具对象吗?
4、打印id(p1)的显示结果为什么和del函数里的打印self不一致?
class Person: def __del__(self): print(id(self)) print("销毁对象:{0}".format(self)) p1 = Person()#创建了一个类对象即模具对象?还是创建了一个实例对象? print(id(p1))#运行执行顺序1 p2 = Person()#创建了又第二个类对象即模具对象, # 如果是都是模具对象为什么和第一个模具对象的ID不一致?? # 还是创建了第二个实例对象??? #这俩对象并没有发现不同的属性,为什么前后两个的ID不一致,按说应该是相同内容的对象 print(id(p2))#运行执行顺序2 del p2#运行执行顺序3,4 print("程序结束")#运行执行顺序5 #默认调用del,运行执行顺序67
在按照课程讲义测试 析构函数执行和删除顺序时有点不理解,于是添加量打印ID的语句,显示了结果更不理解了,代码如下,请老师帮忙标注下对应的语句和显示结果的执行顺序,代码和显示结果图如下:
class Person: def __del__(self): print(id(self)) print("销毁对象:{0}".format(self)) p1 = Person() print(id(p1)) p2 = Person() print(id(p2)) del p2 print("程序结束")
如下代码和显示结果:为什么运行结果先显示报错信息后面还会有下一句的运行结果打印出SXT??不应该报错后后面的就执行不动了吗?这是什么运行顺序??SXT是怎么显示出来的?
class Student: company = "SXT" # 类属性 def __init__(self,name): self.name = name @classmethod def printCompany(cls): print(cls.company) print(self.name)#报错NameError: name 'self' is not defined #Student.printCompany()#访问类属性cls.company不报错,运行显示SXT Student.printCompany()
老师,这个__str__方法有什么作用,能重新,还是?能具体详细讲一下它的用法和作用吗?
本想调用类里的函数,来运行函数的功能。结果忘了在函数名后加括号(),运行结果啥也不显示,也没报错,由此有了疑问:s1.abc 这句代码表示啥意思?这句代码执行了什么?为什么没报错?代码如下:
class Student: def __init__(self,name,score):#构造函数 self.name = "aaa"#等号右边是指写死了赋值字符串aaa '''self.name = aaa# 等号右边没有字符号包括, 默认是变量名,报错提示没有这个变量''' self.name = name #后边的name指的是外部的变量名 self.score = 18 def hahaha(self): print("666666666666666") s1 = Student("waea","sdasd") s1.hahaha #后面不加括号()不运行打印,也不报错,为什么????????没传值??
运行显示如下:
为什么 a 与对应的 “我爱你”赋值 出来的 id不是一样的呢?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637