首页 > 编程语言 >PYTHON对象

PYTHON对象

时间:2023-03-02 17:25:29浏览次数:50  
标签:__ tel name PYTHON self 对象 方法 age

PYTHON对象

  • 类的属性称之为成员变量

  • 类的行为称之为成员方法

  • self关键字

    • 用来表示类对象自身
    • 在方法内部,想要访问类的成员变量,必须使用self
    • 可以在传参的时候忽略

构造方法

  • PYTHON类可以使用__init__()方法,称之为构造方法
  • 在创建类对象的时候会自动执行
  • 在创建类对象的时候将传入参数自动传递给__init__方法使用
# 例

class Student:
    name = None
    age = None
    tel = None

    def __init__(self,name,age,tel):
        self.name = name
        self.age = age
        self.tel = tel
        
stu = Student("小明",18,15811112222)

其他内置方法

  • 上文学习的__init__构造方法,是PYTHON类内置的方法之一
  • 这些内置的类方法,各自有各自特殊的功能,这些内置方法我们称之为:魔术方法
  • 例:__init__、__str__(字符串方法)、__lt__(小于比较方法)、__le__(小于等于比较方法)、__eq__(比较运算符实现方法)

封装

  • 将现实世界事物再类中描述为属性和方法,即为封装

  • 私有成员:

    • 私有成员变量:变量名以__开头
    • 私有成员方法:方法名以__开头
  • 私有成员无法被类对象使用,但是可以被其他的成员使用

继承

  • 单继承
# 例

class People:
    name = None
    age = None
    tel = None

    def __init__(self,name,age,tel):
        self.name=name
        self.age=age
        self.tel=tel

    def __str__(self):
        return f"姓名:{self.name},年龄{self.age}岁,电话{self.tel}"

class Student(People):
    grade = None

    def __init__(self,name,age,tel,grade):
        self.name=name
        self.age=age
        self.tel=tel
        self.grade=grade

stu = Student("小明",18,15311112222,"大二")
print(stu)
  • 多继承
    • class 子类(父类1,父类2,...):
    • 若父类之间存在名字相同的成员,优先继承括号中靠左父类的成员

* pass:本身为空,让语法不产生错误

复写

  • 在子类中重新定义父类中同名的属性或方法
  • 如果需要使用被复写的父类成员,需要特殊的调用方式:
    • 父类.成员或方法(self)
    • super().方法或成员
  • 只能在子类内部调用父类的同名成员,子类的实体类对象调用默认是调用子类复写的

类型注解

  • PYTHON在3.5版本引入了类型注解,以方便静态类型检查工具,IDE等第三方工具

  • 类型注解:在代码中涉及数据交互的地方,提供数据类型的注解(显式的说明)

  • 类型注解仅仅是提示性的,不是决定性的

  • 支持:

    • 变量的类型注解
    • 函数(方法)形参列表和返回值的类型注解
  • 变量的类型注解:

    • 基础语法: 变量:类型
    • 在注释中使用类型注解的语法: # type:类型
  • 函数(方法)的类型注解:

    def 函数方法名(形参:类型,形参:类型,形参:类型...) -> 返回值类型:
    
  • Union类型:

    # 例
    from typing import Union
    my_dict: dict[str,Union[str,int]] = {"name":"小明","age":18}
    def func(data:Union[int,str]) -> Union[int,str]:
        pass
    

多态

  • 在完成某个行为时,使用不同的对象会得到不同的状态
# 例

class Animal:
    def speak(self):
        print("**************")

class Dog(Animal):
    def speak(self):
        print("汪汪汪")

class Cat(Animal):
    def speak(self):
        print("喵喵喵")

def make_noise(animal:Animal):
    animal.speak()

dog = Dog()
cat = Cat()
make_noise(dog)
make_noise(cat)

抽象类(接口)

  • 父类用来确定有哪些方法(pass),具体的方法实现由子类决定,这种写法叫做抽象类
  • 抽象类多用于顶层设计(设计标准),以便子类做具体实现
  • 对子类的软性约束,要求子类必须复写(实现)父类的一些方法

标签:__,tel,name,PYTHON,self,对象,方法,age
From: https://www.cnblogs.com/Learn1ng/p/17172485.html

相关文章

  • 【编程基础之Python】7、Python基本数据类型
    (【编程基础之Python】7、Python基本数据类型)Python基本数据类型Python是一种动态类型语言,它支持多种基本数据类型和复合数据类型,让开发人员能够更加方便地处理不同类型......
  • Python类和对象的绑定方法及非绑定方法
    类中定义的方法大致可以分为两类:绑定方法和非绑定方法。其中绑定方法又可以分为绑定到对象的方法和绑定到类的方法。一、绑定方法1对象的绑定方法在类中没有被任何装饰器修......
  • Python 入门的基本语法规则
    官方对Python的介绍如下:Python是一款易于学习且功能强大的编程语言。它具有高效率的数据结构,能够简单又有效地实现面向对象编程。Python有着非广泛的应用,几乎所有大......
  • python监听麦克风数据
    importpyaudioimportnumpyasnpimporttimeCHUNK=1024FORMAT=pyaudio.paInt16CHANNELS=2RATE=44100defaudioCheckAI():#麦克风检测aiglobal......
  • 面向对象高级特性
    面向对象高级特性抽象为什么会有抽象类当子类中都有一个共同的方法,每一个子类都有不同的实现,在父类中又要体现所有子类的共同的特点,所以要体现有这个方法,但是在父类......
  • Python设置字符串颜色
    使用\033[3表示字体颜色,\033[4表示背景色。示例print("\033[31;1mhello")print("\033[32;1mhello")print("\033[33;1mhello")print("\033[34;1mhello")print("\033[3......
  • Python生成PDF:Reportlab的六种使用方式
     Reportlab是Python创建PDF文档的功能库这里是整理过的六种Reportlab使用方式,主要参考的是《ReportLabUserGuide》 一、使用文档模板DocTemplateReportlab的基础......
  • 新手:python里面while循环2——代码优化
    上一笔记里面,有大量重复的代码,这次来进行优化,如果有其他方法,请教教我,respect!点击查看代码#-*-coding:utf-8-*-#__author:AndyLiu#Date:2023/3/2menu={......
  • python存 文件报错
    withopen("regulation_news_02.json","w")asfile:file.write(json.dumps(data,indent=2,ensure_ascii=False))报错:Traceback(mostrecentcalllast):File......
  • python模块xlsxwriter使用
    1.安装pipinstallXlsxWriter2.使用#-*-coding:utf-8-*-fromioimportBytesIOimportqrcode#[email protected]('/atta......