您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > Python

一文搞懂 Python 中的类和对象

时间:2023-05-18 15:19:39  来源:  作者:信息科技云课堂

Python/ target=_blank class=infotextkey>Python 是一种面向对象的编程语言。这意味着几乎所有代码都可以使用称为“类”的特殊结构实现。

 

什么是类和对象

类:用户定义的数据结构,是用于创建对象的模板。使用类,您可以根据需要创建任意数量的对象。

对象:类的实例,是属性和方法的集合。

方法:类中定义的函数。

例如,我们设计一个类 Teacher,具有“姓名”、“年龄”等属性,有“工作”等行为。根据类,创建多个对象,具体到某位老师。

类:Teacher

属性:姓名、年龄

行为:工作

对象 1

对象 2

……

姓名:张老师

姓名:李老师

……

年龄:30

年龄:36

……

工作:语文

工作:数学

……

在 Python 中创建类

在 Python 中,类是使用关键字 class 定义。

「语法:」

class class_name:
    <statement 1>
    <statement 2>
    .
    .
    <statement N>

class_name:类的名称。

statements:属性和方法

「示例:」

在此示例中,我们将创建一个具有姓名、年龄和工作的 Teacher 类。

class Teacher:
    def __init__(self, name, age, profession):
        self.name = name
        self.age = age
        self.profession = profession

    def show(self):
        print('姓名:', self.name, '年龄:', self.age)

    def work(self):
        print(self.name, '从事', self.profession, '学科教学工作。')

在 Python 中创建对象

对象是使用类名创建的。当我们创建类的对象时,它被称为实例化。该对象也称为类的实例。

构造函数是用于创建和初始化类对象的特殊方法。此方法在类中定义。

「语法:」

<object-name> = <class-name>(<arguments>)  

下面是创建 Teacher 类及对象的完整代码。

class Teacher:
    def __init__(self, name, age, profession):
        self.name = name
        self.age = age
        self.profession = profession

    def show(self):
        print('姓名:', self.name, '年龄:', self.age)

    def work(self):
        print(self.name, '从事', self.profession, '学科教学工作。')

#创建对象        
li = Teacher('李老师', '30', '语文')

#调用
li.show()
li.work()

「输出:」

姓名: 李老师 年龄: 30

李老师 从事 语文 学科教学工作。

类中的变量和方法

类变量是在类内部声明的变量,类的所有实例(对象)共享类变量,值不会因对象而异。通过对象可以访问或修改类变量。

类方法用于访问或修改对象状态。

class Teacher:
    
    #变量
    School = '北京大学'    
    def __init__(self, name, age, profession):
        self.name = name
        self.age = age
        self.profession = profession

    #方法
    def show(self):
        print('姓名:', self.name, '年龄:', self.age)

    def work(self):
        print(self.name, '从事', self.profession, '学科教学工作。')
        
    def change_profession(self, new_profession):
        self.profession = new_profession   
    
#创建对象        
li = Teacher('李老师', '30', '语文')

#调用
li.show()
li.work()
print('学校:', Teacher.School)
li.change_profession('数学')
li.work()

「输出:」

姓名: 李老师 年龄: 30

李老师 从事 语文 学科教学工作。

学校: 北京大学

李老师 从事 数学 学科教学工作。



Tags:Python   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除。
▌相关推荐
译者序本文整理和翻译自 2023 年 Andrej Karpathy 的 twitter 和一篇文章: https://colab.research.google.com/drive/1SiF0KZJp75rUeetKOWqpsA8clmHP6jMgAndrej Karpathy 博...【详细内容】
2023-05-22  Tags: Python  点击:(1)  评论:(0)  加入收藏
许多程序员喜欢Python,因为它的语法简单简洁。下面提供的这些 Python 代码足够简练,可用于解决常见问题。 1.提取字典的键值对dict1 = {&#39;A&#39;:33, &#39;B&#39;:43, &#39...【详细内容】
2023-05-21  Tags: Python  点击:(0)  评论:(0)  加入收藏
程序员追求的是编写更少的代码实现更强的功能。你不应该浪费宝贵的时间来重新编写某些功能。Python 标准库包含许多函数来帮助完成编程任务。以下是 18 个非常有用的函数和...【详细内容】
2023-05-19  Tags: Python  点击:(0)  评论:(0)  加入收藏
在Python中,可以使用多种库和工具来识别图片中的文本。其中,比较常用的是Tesseract OCR和Pytesseract库。下面将介绍如何使用Python和Pytesseract库来识别图片中的文本,并将其...【详细内容】
2023-05-18  Tags: Python  点击:(7)  评论:(0)  加入收藏
在PyQt6中,应用程序类和窗口类是两个重要的概念。应用程序类是整个GUI应用程序的入口,它负责管理应用程序的生命周期和全局设置。而窗口类是GUI应用程序中的一个组成部分,它负...【详细内容】
2023-05-18  Tags: Python  点击:(8)  评论:(0)  加入收藏
Python 是一种面向对象的编程语言。这意味着几乎所有代码都可以使用称为“类”的特殊结构实现。 什么是类和对象类:用户定义的数据结构,是用于创建对象的模板。使用类,您可以根...【详细内容】
2023-05-18  Tags: Python  点击:(0)  评论:(0)  加入收藏
PyQt6是一个Python的GUI编程库,其中事件处理器是处理交互事件的重要组成部分。本文将深入讲解PyQt6的事件处理器,包括如何注册和处理事件、事件的传递机制、事件过滤器以及一...【详细内容】
2023-05-17  Tags: Python  点击:(11)  评论:(0)  加入收藏
在Django中,模型实例是指通过模型类创建出来的一个具体的数据库记录。模型实例可以使用一系列的实例方法和属性,进行数据的增删改查,以及访问关联的对象。本文将深入讲解Django...【详细内容】
2023-05-17  Tags: Python  点击:(8)  评论:(0)  加入收藏
撰稿丨千山 在AI 领域,Python无疑是最流行的编程语言。而且从近年的TIOBE排行榜来看,这种地位一时还很难撼动。不过在编程语言界,后浪总是层出不穷,不停地向前浪发起冲击。 最近...【详细内容】
2023-05-15  Tags: Python  点击:(17)  评论:(0)  加入收藏
下面是Python wxPython的教程,主要包括wxPython的基本概念、窗口、组件、布局、事件处理和样式等方面的内容。 wxPython的基本概念wxPython是Python中的GUI编程库,用于创建图...【详细内容】
2023-05-15  Tags: Python  点击:(10)  评论:(0)  加入收藏
▌简易百科推荐
译者序本文整理和翻译自 2023 年 Andrej Karpathy 的 twitter 和一篇文章: https://colab.research.google.com/drive/1SiF0KZJp75rUeetKOWqpsA8clmHP6jMgAndrej Karpathy 博...【详细内容】
2023-05-22  区块软件开发  今日头条  Tags:Python   点击:(1)  评论:(0)  加入收藏
许多程序员喜欢Python,因为它的语法简单简洁。下面提供的这些 Python 代码足够简练,可用于解决常见问题。 1.提取字典的键值对dict1 = {&#39;A&#39;:33, &#39;B&#39;:43, &#39...【详细内容】
2023-05-21  信息科技云课堂  今日头条  Tags: Python代码   点击:(0)  评论:(0)  加入收藏
程序员追求的是编写更少的代码实现更强的功能。你不应该浪费宝贵的时间来重新编写某些功能。Python 标准库包含许多函数来帮助完成编程任务。以下是 18 个非常有用的函数和...【详细内容】
2023-05-19  信息科技云课堂  今日头条  Tags:Python 函数   点击:(0)  评论:(0)  加入收藏
在Python中,可以使用多种库和工具来识别图片中的文本。其中,比较常用的是Tesseract OCR和Pytesseract库。下面将介绍如何使用Python和Pytesseract库来识别图片中的文本,并将其...【详细内容】
2023-05-18  你的老师父  今日头条  Tags:Python   点击:(7)  评论:(0)  加入收藏
在PyQt6中,应用程序类和窗口类是两个重要的概念。应用程序类是整个GUI应用程序的入口,它负责管理应用程序的生命周期和全局设置。而窗口类是GUI应用程序中的一个组成部分,它负...【详细内容】
2023-05-18  你的老师父    Tags:PyQt6   点击:(8)  评论:(0)  加入收藏
Python 是一种面向对象的编程语言。这意味着几乎所有代码都可以使用称为“类”的特殊结构实现。 什么是类和对象类:用户定义的数据结构,是用于创建对象的模板。使用类,您可以根...【详细内容】
2023-05-18  信息科技云课堂    Tags:Python   点击:(0)  评论:(0)  加入收藏
PyQt6是一个Python的GUI编程库,其中事件处理器是处理交互事件的重要组成部分。本文将深入讲解PyQt6的事件处理器,包括如何注册和处理事件、事件的传递机制、事件过滤器以及一...【详细内容】
2023-05-17  你的老师父  今日头条  Tags:PyQt6   点击:(11)  评论:(0)  加入收藏
在Django中,QuerySet是一种用于执行数据库查询的对象。它提供了一系列的方法和查询表达式,可以方便地执行复杂的数据库查询操作。本文将深入讲解Django中的QuerySet,包括如何执...【详细内容】
2023-05-17  你的老师父  今日头条  Tags:Django   点击:(9)  评论:(0)  加入收藏
在Django中,模型实例是指通过模型类创建出来的一个具体的数据库记录。模型实例可以使用一系列的实例方法和属性,进行数据的增删改查,以及访问关联的对象。本文将深入讲解Django...【详细内容】
2023-05-17  你的老师父  今日头条  Tags:Django   点击:(8)  评论:(0)  加入收藏
大家都知道,RocketMQ 消费模式有 PULL 模式和 PUSH 模式,不过本质上都是 PULL 模式,而在实际使用时,一般使用 PUSH 模式。不过,RocketMQ 的 PUSH 模式有明显的不足,主要体现在以下...【详细内容】
2023-05-16  君哥聊技术    Tags:RocketMQ   点击:(18)  评论:(0)  加入收藏
站内最新
站内热门
站内头条