百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

DAY3-step3 Python OPPs:类,对象,继承和构造函数

off999 2024-10-25 13:46 14 浏览 0 评论

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语句等中的代码一样。所有不缩进的内容都不在类中

注意:关于在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 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()

继承的原理

继承是面向对象编程中使用的功能。 它指的是定义一个新类,而对现有类的修改很少或没有修改。 新类称为派生类,而被新类继承的类称为基类。 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行。运行代码



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

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



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

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

相关推荐

Python中的两个内置函数id()和type()

id()>>>id(3)2531362761072>>>id(3.222222)2531397393680>>>id(3.0)25313...

python 函数中,如何将另一个函数作为参数传递

python函数中,如何将另一个函数作为参数传递,类似C#委托defadd(a,b):"""这是一个简单的加法函数,接受两个参数并返回它们的和。""...

Python性能暴涨10倍的终极指南:7个核心技巧+代码压缩秘籍

提升Python程序运行性能,使代码运行更流畅更快,以及压缩代码,减小代码大小,下面的方法仅供大家参考,有什么更好的方法在评论区说说。1.使用NumPy/SciPy替代纯Python循环...

Python 匿名函数(Lambda 函数)详解

匿名函数(AnonymousFunction),在Python中称为lambda函数,是一种不需要使用def关键字定义的小型函数。它主要用于简化代码,特别适合需要函数对象的地方。1.基...

Python学习笔记 | 匿名函数lambda、映射函数map和过滤函数filter

什么是匿名函数?定义:没有函数名的自定义函数场景:函数体非常简单,使用次数很少,没有必要声明函数,通常搭配高阶函数使用。高阶函数是能够把函数当成参数进行传递的函数,如:映射函数map和过滤函数fil...

python练习:自定义函数调用:商品购物实例

1、商品录入dict_myshanpin_iof={101:{"商品名称":"毛毛熊","单价":25},102:{"商品名称":...

Python中如何使用Lambda函数(lambda在python中的用法)

Python和其他编程语言一样,都在其语法中添加了lambda函数,Pythonlambda是匿名函数,比常规Python自定义函数有更简洁的语法。虽然Lambda语法在开始时可能会觉得有点混乱,...

8-Python内置函数(python内置函数代码)

Python提供了丰富的内置函数,这些函数可以直接使用而无需导入任何模块。以下是一些常用的内置函数及其示例:1-print()1-1-说明输出指定的信息到控制台。1-2-例子2-len()2-1-说...

用Python进行函数式编程(python函数程序)

什么是函数式编程?函数式程序设计是一种编程范例,它把计算当作数学函数的评价,避免状态和可变数据。换句话说,函数编程(FunctionalProgramming,FP)促进没有副作用和不变变量的代码。它...

python 函数进阶(python如何进阶)

1.有名函数和匿名函数#该函数有名称,名称是adddefadd(x,y):returnx+y#改函数没有名称属于匿名函数,也叫lambda表达式lambda_add...

python自学者的分享:自定义函数、参数作用域、匿名函数、装饰器

#自定义新函数函数名newhsdefnewhs(a,b=1):#b的默认值为1,在没有传入b值时,采用默认值,,默认值参数不能放前边returna-bprint(newh...

Python 函数式编程的 8 大核心技巧,不允许你还不会

函数式编程是一种强调使用纯函数、避免共享状态和可变数据的编程范式。Python虽然不是纯函数式语言,但提供了丰富的函数式编程特性。以下是Python函数式编程的8个核心技巧:1.纯函数(...

零基础到发布:手把手教你创建并分发 Python 自定义库

作为程序员,我们经常依赖各种外部库来解决不同的问题。这些库由技术娴熟的开发者创建,为我们提供了节省时间和精力的解决方案。但你是否曾想过:“我也能创建属于自己的自定义库吗?”答案是肯定的!本文将为你详细...

打工人学Python:(七)自定义函数,打造自己的武器库

从一个简单的函数开始#!/usr/bin/envpython#-*-encoding:utf-8-*-'''@Purpose:Wordcount@...

肖sir_python自定义函数format、zip函数

python自定义函数一、常见的自定义函数已经学过的函数:list、print、set、str、type、tuple、dict、range、input等今天学的函数:format二、实战讲解(一)f...

取消回复欢迎 发表评论: