新闻动态

一篇文章带你了解Python中的类

发布日期:2022-01-04 08:14 | 文章来源:CSDN

1、类的定义

创建一个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

2、创建对象

新建一个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表示的变量指向该对象类型。

3、继承

如果往父类中增加属性,子类必须先包含刻画父类属性的初始化方法,然后增加子类的新属性。伪代码如下:

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程序设计》~

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注本站的更多内容!

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部