一文搞懂 Python 中的类和对象

liftword4个月前 (01-07)技术文章33

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

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

学校: 北京大学

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

?

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!

?

相关文章

python入门038:创建类

一、面向对象编程1、面向对象编程(Object-oriented Programming简称 OOP)python 是面向对象的编程语言。面向对象编程是一种封装代码的方法。代码封装,其实就是隐藏实现功...

一、Python 中类的定义、创建、使用

Python 界的领袖 Tim Peters 说的:元类就是深度的魔法,99% 的用户应该根本不必为此操心。如果你想搞清楚究竟是否需要用到元类,那么你就不需要它。那些实际用到元类的人都非常清楚地知道他...

乐高python编程入门——类及其属性和方法

“ 类是面向对象语言的程序设计中的概念,是面向对象编程的基础。类的实质是一种引用数据类型,类似于 byte、short、int(char)、long、float、double 等基本数据类型,不同的是...

Python中的类对象、类属性、类方法与实例对象、实例属性

类对象:类名所对应的内存空间类属性:所有的类对象和实例对象都可以直接访问类方法:第一个形参是类对象cls,其上方有@classmethod,可获取或修改类属性的数据实例对象:变量名所对应的内存空间实例...