<返回更多

一文搞懂 Python 中的类和对象

2023-05-18    信息科技云课堂
加入收藏

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

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

学校: 北京大学

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

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>