继承和符合类的构造函数调用顺序_DAY3-step3 Python OPPs:类,对象,继承和构造函数...

Python中的OOPs

Python中的OOPs是一种编程方法,致力于像其他通用编程语言一样使用对象和类。 对象可以是任何现实世界的实体。 Python允许开发人员使用OOPs方法开发应用程序,主要侧重于代码可重用性。 在Python中创建类和对象非常容易。

什么是类?

类是数据和函数的逻辑分组。 它提供了创建包含任意内容并因此易于访问的数据结构的自由。

如何定义Python类

要定义类,你需要考虑以下几点

第1步)在Python中,类由“ class”关键字定义

class myClass():

步骤2)在类内部,您可以定义属于该类的函数或方法

def method1 (self):       print "Guru99"def method2 (self,someString):        print "Software Testing:" + someString

在这里,我们定义了显示“ Guru99”的method1。

我们定义的另一个方法是method2,它打印"Software Testing"+ SomeString。 SomeString是调用方法提供的变量

步骤3)类中的所有内容都缩进,就像函数,循环,if语句等中的代码一样。所有不缩进的内容都不在类中

67a63bcdd63f358ea45b1f34ebc59b47.png

注意:关于在Python中使用“self”

self是指对象本身。 因此,在此方法内部,self将引用正在操作的该对象的特定实例。

步骤4)创建该类的一个对象

c = myClass()

步骤5)调用类里面的方法

    c.method1()    c.method2(" Testing is fun")
  • 请注意,当我们调用method1或method2时,我们不必提供self关键字。 这由Python运行时自动为我们处理。
  • 在实例上调用实例方法时,无论是否有意提供,Python运行时都会传递“ self”值
  • 您只需要关心非self参数

步骤6)这是完整的代码

# Example file for working with classesclass 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()

继承的原理

继承是面向对象编程中使用的功能。 它指的是定义一个新类,而对现有类的修改很少或没有修改。 新类称为派生类,而被新类继承的类称为基类。 Python支持继承; 它还支持多重继承。 一个类可以从另一个称为子类或继承类的类继承属性和行为方法。

bfb3189e07de194d799b05a407bb76a5.png

Python继承语法

class DerivedClass(BaseClass):    body_of_derived_class

步骤1)运行以下代码

# Example file for working with classesclass 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行。运行代码

af675ef04b59847418bb32b171447016.png

现在,在childClass中定义了method1,并正确显示了输出“ childClass Method1”。

步骤3)取消注释第9行。 运行代码

70ed894cbfe62ee48c966d71e2babf77.png

您可以使用以下语法调用父类的方法

ParentClassName.MethodName()

在我们的例子中,我们调用myClass.method1(self)并按预期方式打印Guru99

步骤4)取消注释第19行 c2.method2()。 运行代码。

调用子类的method2,并按预期方式打印“ 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()

输出将是:

Welcome to Guru99, Alex

Python 2示例

上面的代码是Python 3的示例,如果要在Python 2中运行,请考虑以下代码。

# How to define Python classes# Example file for working with classesclass 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 classesclass 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类由关键字“class”本身定义
  • 在类内部,您可以定义属于该类的函数或方法
  • 类中的所有内容都缩进,就像函数,循环,if语句等中的代码一样。
  • Python中的self参数是指对象本身。 self是Python约定惯用的名称,用于表示Python中实例方法的第一个参数
  • 在实例上调用实例方法时,无论是否故意提供,Python运行时都会自动传递“ self”值
  • 在Python中,一个类可以从另一个称为子类或继承类的类继承属性和行为方法。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值