Python如何遵循OOP原则?

时间:2019-07-16 15:37:43

标签: python oop

我今天开始学习Python OOP。

请看一下下面的类及其用法:

class MyClass:
    pass

obj1 = MyClass()
obj1.x = 10
obj1.y = "Integer"

obj2 = MyClass()
obj2.a = 20.5
obj2.b = "Floating point"

print(obj1.x)
print(obj1.y)

print(obj2.a)
print(obj2.b)

输出

10
Integer
20.5
Floating point
  1. Python允许即时创建属性
  2. 允许不同的对象具有不同的属性
  3. 根据OOP原则,属性应为私有。但是,我看到在Python中,可以从外部类自由访问属性

我们知道,类是对象的蓝图。但是,在这种情况下,我们看到每个对象都是不同的。

那么,Python如何遵循OOP原理?

1 个答案:

答案 0 :(得分:3)

Python比大多数语言都更加灵活。类定义没有强加任何特定的结构。它们只是提供了一种用于方法调用,继承等的机制。您需要定义一个适当的__init__方法来抽象出对象应如何“外观”的细节。

class MyClass:
    def __init__(self, x, y):
        self.x = x
        self.y = y


obj1 = MyClass(10, "Integer")
obj2 = MyClass(20.5, "Floating point")

现在这两个对象都具有xy属性,因为您让 class 负责设置它们,而不是自己创建它们。