
python类
文章平均质量分 72
我不是程序员
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python-当调用对象成员的时候,会和对象本身动态关联
同样,b对象调用B类中的sum方法,由于B类中没有sum方法,但又因为B类与A类构成继承关系,且A类中有sum方法,因此在执行b.sum()时会调用A类中的sum方法,A类中的sum方法返回的是 self.getI()+10,由于A类、B类中都存在getI()方法,那么此时,调用的是哪个类中的 getI() 方法呢?getI()方法,主要取决于self是哪个类型,那么我们就可以知道,此时这个self表示的就是B类这个类型,因此调用的这个getI()方法就是B类中的getI()方法,那么此时会返回30。原创 2024-03-20 17:47:57 · 241 阅读 · 0 评论 -
面向对象编程练习
编写类Book,定义方法update_price,实现更改某本书的价格,具体:如果价格大于150,则更改为150,如果价格大于100,则更改为100,否则不变。方法:def sum_ab(self)、def sub_ab(self)、def mul_ab(self)、def div_ab(self)update_price 完成功能:如果价格大于150,则更改为150,如果价格大于100,则更改为100,否则不变。定义一个圆类Circle,定义属性:半径,提供显示圆周长功能的方法,提供显示圆面积的方法。原创 2024-03-19 11:51:47 · 515 阅读 · 0 评论 -
Python--构造方法
由上图可以得知,程序在第22行给出 Redeclared '__init__' defined above without usage 警告,意思是说,上面的__init__方法还没有使用,又重新声明了上面定义的__init__方法。我们发现,程序会直接报错,错误的原因是,__init__()方法需要两个参数但是给了3个 ,也就是说,程序默认执行后一个__init__()方法。我们发现,self的地址与当前创建的对象的地址一样,则表明,self就是当前创建的对象p1。构造方法(构造器)基本语法。原创 2024-03-19 09:39:38 · 1817 阅读 · 0 评论 -
Python--类中作用域
若将局部变量用于其他的成员方法中,程序会报错,如下图所示。其中,result是cal方法中的局部变量,若将该变量用于cry成员方法中,则会报错。4、属性和局部变量可以重名,访问时带上self,表示访问的属性,没有带self,则是访问局部变量。2、作用域的分类:属性作用域为整个类。即在整个类中,所有的成员方法都可以使用到属性。1、在面向对象编程中,主要的变量就是成员变量(属性)和局部变量。3、局部变量:成员方法中定义的变量,作用域在它的方法中。原创 2024-03-18 22:20:31 · 498 阅读 · 0 评论 -
Python对象作为参数传递到函数/方法的机制
我们先创建了一个Person类,类中有两个属性,分别为name属性和age属性,随后在Person类外创建了一个 f1 函数。随后通过执行下述代码创建了一个对象p1,相当于在我们的主栈区有了p1对象,这个p1指向数据区的一个空间,假设该空间的地址为0x1122。接下来执行代码,即我们给p1对象的name属性赋值为“jordan”,给age属性赋值为21,那么我们的内存图应如下所示。接下来,执行。原创 2024-03-18 21:29:57 · 2424 阅读 · 0 评论 -
Python--成员方法、@staticmethod将成员方法静态化、self参数释义
在类中定义成员方法和定义函数基本一样(原理和运行机制一样),但还是有点不同(形式上有不同)原创 2024-03-18 17:04:55 · 1248 阅读 · 0 评论 -
python中的__call__( self ) 魔法方法
随后生成一个person对象,分别执行person("zhangsan") 以及 person.hello("lisi")语句,我们打印出运行结果,发现在执行person("zhangsan")时结果为__call__Hellozhangsan,说明此时使用的是Person类中的__call__方法。我们首先定义一个Person类,在该类中有两个方法,一个是__call__(self,name)魔法方法,另一个是__hello__(self,name)方法。默认情况下该方法在类中是没有被实现的。原创 2023-07-24 09:58:34 · 302 阅读 · 0 评论 -
python中的类、类实例化、类中参数self
计算机语言。原创 2023-07-22 11:24:17 · 770 阅读 · 0 评论