这篇文章主要介绍“Python中的类的定义和用法”,在日常操作中,相信很多人在Python中的类的定义和用法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中的类的定义和用法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1、类的定义
2、创建对象
3、继承
创建一个rectangle.py文件,并在该文件中定义一个Rectangle类。在该类中,__init__表示构造方法。其中,self参数是每一个类定义方法中的第一个参数(这里也可以是其它变量名,但是Python常用self这个变量名)。当创建一个对象的时候,每一个方法中的self参数都指向并引用这个对象,相当于一个指针。在该类中,构造方法表示该类有_width和_height两个属性(也称作实例变量),并对它们赋初值1。
__str__方法表示用字符串的方式表示这个对象,方便打印并显示出来,相当于Java中的类重写toString方法。其中,__init__和__str__是类提供的基本方法。
class Rectangle: # 构造方法 def __init__(self, width=1, height=1): self._width = width self._height = height # 状态表示方法 def __str__(self): return ("Width: " + str(self._width) + "\nHeight: " + str(self._height)) # 赋值方法 def setWidth(self, width): self._width = width def setHeight(self, height): self._height = height # 取值方法 def getWidth(self): return self._width def getHeight(self): return self._height # 其它方法 def area(self): return self._width * self._height
新建一个Test.py文件,调用rectangle模块中的Rectangle的类。
import rectangle as rec r = rec.Rectangle(4, 5) print(r) print() r = rec.Rectangle() print(r) print() r = rec.Rectangle(3) print(r)
接着输出结果:
打印Rectangle类的对象直接调用了其中的__str__方法。上图展示了初始化Rectangle对象时,构造方法中参数的三种不同方式。
创建一个对象有以下两种形式,其伪代码表示为:
1)objectName = ClassName(arg1,arg2,…)
2)objectName = moduleName.ClassName(arg1,arg2,…)
变量名objectName表示的变量指向该对象类型。
如果往父类中增加属性,子类必须先包含刻画父类属性的初始化方法,然后增加子类的新属性。伪代码如下:
super().__ init __ (parentParameter1,…,parentParameterN)
新建一个square.py文件:
import rectangle as rec class Square(rec.Rectangle): def __init__(self, square, width=1, height=1): super().__init__(width, height) self._square = square def __str__(self): return ("正方形边长为:" + str(self._width) + "\n面积为:" + str(self._square)) def isSquare(self): if self._square == self.getWidth() * self.getWidth(): return True else: return False s = Square(1) print(s) print(s.isSquare()) s = Square(2) print(s) print(s.isSquare())
输出:
到此,关于“Python中的类的定义和用法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。