zoukankan      html  css  js  c++  java
  • python 类 对象

    Python 是一种面向对象的编程语言。

    Python 中的几乎所有东西都是对象,拥有属性和方法。

    类(Class)类似对象构造函数,或者是用于创建对象的“蓝图”。

    #创建类
    class Myclass:  
        x=4
    
    
    #实例 创建一个名为 p1 的对象,并打印 x 的值:
    p1=Myclass()
    print(p1.x)#4
    
    print(p1 is Myclass)#False
    
    # __init__()函数  注释:每次使用类创建新对象时,都会自动调用 __init__() 函数。
    '''
    要理解类的含义,我们必须先了解内置的 __init__() 函数。
    
    所有类都有一个名为 __init__() 的函数,它始终在启动类时执行。
    
    使用 __init__() 函数将值赋给对象属性,或者在创建对象时需要执行的其他操作:
    '''
    
    #实例
    #创建名为 Person 的类,使用 __init__() 函数为 name 和 age 赋值:
    
    class Person:
      def __init__(self,name,age):
          self.name=name 
          self.age=age
    
    p2=Person('hello',55)
    print(p2.name)#hello
    print(p2.age)#55
    
    
    #对象方法
    class Animal:
        def __init__(self,name,age):
            self.name=name
            self.age=age
        #self 参数是对类的当前实例的引用,用于访问属于该类的变量。
        def my_function(self):
            print('hello world '+self.name)
    
    p3=Animal('miaomiao',100)
    
    p3.my_function()#hello world miaomiao
    
    #self参数
    #self 参数是对类的当前实例的引用  用于方位属于该类的变量
    #它不必被命名为 self,您可以随意调用它,但它必须是类中任意函数的首个参数:
    
    class Animal1:
        def __init__(this,name,age):
            this.name=name
            this.age=age
        def my_function(this):
            print(this.name)
    
    p4=Animal1('bill',65)
    p4.my_function()#bill
    
    #修改属性
    p4.name='wanglaowu'
    print(p4.name)#wanglaowu
    
    #del 关键字 删除对象属性
    del p4.name
    
    #del 关键字 删除对象
    del p4
    
    #pass 语句
    #类定义不能为空,但是如果您处于某种原因写了无内容的类定义语句,请使用 pass 语句来避免错误。
    class Dog:
        pass
    View Code

    Python 继承

    继承允许我们定义继承另一个类的所有方法和属性的类。

    父类是继承的类,也称为基类。

    子类是从另一个类继承的类,也称为派生类。

    #继承
    #创建一个Person的类
    class Person:
        def __init__(self,name,age):
            self.name=name
            self.age=age
        def my_function(self):
            print('my name is'+self.name+'i am '+self.age)
    
    #创建一个名为 Student 的类,它将从 Person 类继承属性和方法:
    #如果您不想向该类添加任何其他属性或方法,请使用 pass 关键字。
    #现在,Student 类拥有与 Person 类相同的属性和方法。
    class Student(Person):
        pass
    
    #实例
    x=Student('walaowu','18')
    
    x.my_function()
    
    
    
    #添加 __init__() 函数
    #到目前为止,我们已经创建了一个子类,它继承了父类的属性和方法。
    
    #注释:每次使用类创建新对象时,都会自动调用 __init__() 函数。
    class Animal(Person):
        #子的 __init__() 函数会覆盖对父的 __init__() 函数的继承。
    
        #如需保持父的 __init__() 函数的继承,请添加对父的 __init__函数
        def __init__(self,name,age,year,month):
            Person.__init__(self,name,age)
            self.year=year
            self.month=month
    
        
    E=Animal('zhangsan','18','2021','8')
    E.my_function()
    
    #使用super()函数 ,它会使子类从其父继承所有方法和属性:
    class AnimalOne(Person):
        def __init__(self,name,age):
            #通过使用 super() 函数,您不必使用父元素的名称,它将自动从其父元素继承方法和属性。
            super().__init__(name,age)
    
    F=AnimalOne('panghu','18')
    F.my_function()#my name ispanghui am 18
    #如果您在子类中添加一个与父类中的函数同名的方法,则将覆盖父方法的继承。
    View Code
  • 相关阅读:
    AQtime实战
    升级到 Fedora 12 后系统无法启动
    PostMortem Debugging Your Application with Minidumps and Visual Studio .NET
    分析、调试内存泄漏的应用程序
    中兴通讯有限公司 招聘“dotnet 高级工程师”
    快速构建大数据缓存
    【翻译 windbg 6】NET 调试示例实验 1:挂起
    【翻译 Windbg 5】.Net 调试举例
    【翻译 windbg 1】Getting started with windbg part I (第一部分 1)
    反汇编教程及汇编命令详解(一)
  • 原文地址:https://www.cnblogs.com/lvlisn/p/15123384.html
Copyright © 2011-2022 走看看