Python OOP:类、对象、继承和构造函数与示例
Python 中的 OOP
Python 中的 OOP 是一种编程方法,专注于使用与其他通用编程语言相同的对象和类。对象可以是任何真实世界的实体。 Python 允许开发人员使用 OOP 方法开发应用程序,主要关注代码的可重用性。在 Python 中创建类和对象非常容易。
什么是类?
Python 中的类是数据和函数的逻辑分组。它提供了创建包含任意内容并因此易于访问的数据结构的自由。
例如,对于任何想要在线获取客户详细信息的银行员工都将转到 customer class ,其中将列出其所有属性,例如交易详细信息、取款和存款详细信息、未偿债务等。
在本教程中,我们将学习,
- 如何定义 Python 类
- 继承的工作原理
- Python 构造函数
如何定义 Python 类
要定义类,您需要考虑以下几点
步骤 1) 在 Python 中,类由 “类” 定义 关键词
class myClass():
步骤 2) 在类内部,您可以定义属于此类的函数或方法
def method1 (self): print "Guru99" def method2 (self,someString): print "Software Testing:" + someString
- 这里我们定义了打印“Guru99”的method1。
- 我们定义的另一个方法是打印“软件测试”+ SomeString 的方法 2。 SomeString 是调用方法提供的变量
步骤 3) 类中的所有内容都是缩进的,就像函数、循环、if 语句等中的代码一样。任何不缩进的东西都不在类中
注意 :关于在 Python 中使用“self”
- self-argument 是指对象本身。因此使用了self这个词。所以在这个方法中,self 将引用正在操作的这个对象的具体实例。
- Self 是 Python 习惯使用的名称,表示 Python 中实例方法的第一个参数。它是访问对象成员的 Python 语法的一部分
第 4 步) 制作类的对象
c = myClass()
第 5 步) 调用类中的方法
c.method1() c.method2(" Testing is fun")
- 请注意,当我们调用方法 1 或方法 2 时,我们不必提供 self 关键字。这是由 Python 运行时自动为我们处理的。
- 当你在实例上调用实例方法时,Python 运行时将传递“self”值,无论你是否有意提供它
- 您只需要关心非自我参数
第 6 步) 这是完整的代码
# Example file for working with classes class myClass(): def method1(self): print("Guru99") def method2(self,someString): print("Software Testing:" + someString) def main(): # exercise the class methods c = myClass () c.method1() c.method2(" Testing is fun") if __name__== "__main__": main()
继承的工作原理
继承是面向对象编程中使用的一个特性。它指的是定义一个新类,对现有类进行较少或没有修改。新类称为派生类 并且从它继承的一个称为 base . Python支持继承;它还支持多重继承 .一个类可以从另一个称为子类或继承类的类继承属性和行为方法。
Python 继承语法
class DerivedClass(BaseClass): body_of_derived_class
步骤 1) 运行以下代码
# Example file for working with classes class myClass(): def method1(self): print("Guru99") class childClass(myClass): #def method1(self): #myClass.method1(self); #print ("childClass Method1") def method2(self): print("childClass method2") def main(): # exercise the class methods c2 = childClass() c2.method1() #c2.method2() if __name__== "__main__": main()
请注意,在 childClass 中,method1 没有定义,但它是从父 myClass 派生的。输出是“Guru99”。
步骤 2) 取消注释第 8 行和第 10 行。运行代码
现在,方法 1 在 childClass 中定义,输出“childClass Method1”正确显示。
步骤 3) 取消注释第 9 行。运行代码
您可以使用语法调用父类的方法
ParentClassName.MethodName(self)
在我们的例子中,我们调用 myClass.method1(self) 并且 Guru99 按预期打印
第 4 步 ) 取消注释第 19 行。运行代码。
调用子类的方法2,按预期打印“childClass method2”。
Python 构造函数
构造函数是将对象实例化为预定义值的类函数。
它以双下划线 (_) 开头。它是__init__()方法
在下面的示例中,我们使用构造函数获取用户的名称。
class User: name = "" def __init__(self, name): self.name = name def sayHello(self): print("Welcome to Guru99, " + self.name) User1 = User("Alex") User1.sayHello()
输出将是:
欢迎来到 Guru99,Alex
Python 2 示例
以上代码是 Python 3 示例,如果您想在 Python 2 中运行,请考虑以下代码。
# How to define Python classes # Example file for working with classes class myClass(): def method1(self): print "Guru99" def method2(self,someString): print "Software Testing:" + someString def main(): # exercise the class methods c = myClass () c.method1() c.method2(" Testing is fun") if __name__== "__main__": main() #How Inheritance works # Example file for working with classes class myClass(): def method1(self): print "Guru99" class childClass(myClass): #def method1(self): #myClass.method1(self); #print "childClass Method1" def method2(self): print "childClass method2" def main(): # exercise the class methods c2 = childClass() c2.method1() #c2.method2() if __name__== "__main__": main()
总结:
“类”是功能和数据的逻辑分组。 Python 类提供了面向对象编程的所有标准特性。
- 类继承机制
- 覆盖其基类的任何方法的派生类
- 方法可以调用同名基类的方法
- Python 类由关键字“类”定义 本身
- 在类中,您可以定义属于该类的函数或方法
- 类中的所有内容都是缩进的,就像函数、循环、if 语句等中的代码一样。
- Python 中的 self 参数指的是对象本身。 Self 是 Python 约定的首选名称,用于指示 Python 中实例方法的第一个参数
- 无论您是否有意提供,当您在实例上调用实例方法时,Python 运行时都会自动传递“self”值
- 在 Python 中,一个类可以从另一个类(称为子类或继承类)继承属性和行为方法。
Python