Python/ target=_blank class=infotextkey>Python 是一种面向对象的编程语言。这意味着几乎所有代码都可以使用称为“类”的特殊结构实现。
类:用户定义的数据结构,是用于创建对象的模板。使用类,您可以根据需要创建任意数量的对象。
对象:类的实例,是属性和方法的集合。
方法:类中定义的函数。
例如,我们设计一个类 Teacher,具有“姓名”、“年龄”等属性,有“工作”等行为。根据类,创建多个对象,具体到某位老师。
类:Teacher |
属性:姓名、年龄 |
行为:工作 |
对象 1 |
对象 2 |
…… |
姓名:张老师 |
姓名:李老师 |
…… |
年龄:30 |
年龄:36 |
…… |
工作:语文 |
工作:数学 |
…… |
在 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, '学科教学工作。')
对象是使用类名创建的。当我们创建类的对象时,它被称为实例化。该对象也称为类的实例。
构造函数是用于创建和初始化类对象的特殊方法。此方法在类中定义。
「语法:」
<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
李老师 从事 语文 学科教学工作。
学校: 北京大学
李老师 从事 数学 学科教学工作。