社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

python 3类和子类:创建三角形和正方形

Tuong Bui • 6 年前 • 1338 次点击  

我正在自学python类和子类。我想在书上做一个问题,但我被卡住了。我试图创建3个三角形和4个正方形,并打印出一个三角形和一个正方形的所有属性,但我不确定如何创建。谢谢你的帮助!。这本书给了我这个:

> class Shape(object):
>       def __init__(self, corner=10):
>        self.__corner= corner
>        self.__sides=corner

以下是我目前掌握的情况:

class Shape(object):
      def __init__(self, corner=10):
       self.__corner= corner
       self.__sides=corner

  def set_corner(self, corner):
    self.__corner= corner
  def set_sides(self, corner):
    self.__sides= corner
  def get_corner(self):
    return self.__corner
  def get_sides(self):
    return self.__sides

class Square(Shape):
  def __init__(self, corner, area):
    Shape.__init__(self, corner=10)
    self.__area=area
  def set_area(self,area):
    self.__area= area
  def get_area(self,area):
    return self.__area

class Triangle(Shape):
  def __init__(self, corner, height):
    Shape.__init__(self, corner=10)
    self.__height=height
  def set_height(self,height):
    self.__height= height
  def get_height(self,height):
    return self.__height
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43730
文章 [ 1 ]  |  最新文章 6 年前
davedwards
Reply   •   1 楼
davedwards    6 年前

使用代码(只需少量修改)有一种方法:

class Square(Shape):
    def __init__(self, corner, area):
        Shape.__init__(self, corner = 10)
        self.__area = area
    def set_area(self):
        self.__area = area
    def get_area(self):
        return self.__area

class Triangle(Shape):
    def __init__(self, corner, height):
        Shape.__init__(self, corner = 10)
        self.__height = height
    def set_height(self):
        self.__height = height
    def get_height(self):
        return self.__height

# example triangle
t1 = Triangle(3, 50)

# example square
s1 = Square(5, 20)

# print the attributes
print('Triangle 1 height: {height} units.'.format(height=t1.get_height()))
print('Square 1 area: {area} sq. units.'.format(area=s1.get_area()))

印刷品:

Triangle 1 height: 50 units.
Square 1 area: 20 sq. units.

可能需要调整这些值以获得合理的结果。