作者:小闯娃 | 来源:互联网 | 2024-10-31 14:43
对于Python初学者而言,掌握类的概念及其应用场景是至关重要的。本文详细探讨了类的定义、功能及其实用价值。类作为一种抽象的数据结构,能够有效地模拟现实世界中的对象,通过封装属性和方法,实现代码的复用性和模块化设计。文章结合实例分析,帮助读者深入理解何时以及为何需要定义类,从而提升编程效率和代码质量。
作为一个刚刚入门python的小白,对于类这个概念很是不理解,什么时候应该定义类,以及这个类有什么作用呢?在翻阅了很多书和网页以后归纳总结如下:
类(class):类是对现实生活中一类具有共同特征的事物的抽象
先放上代码,边看边说
参考代码:
# 定义“人”类
class Person(object):
class_name = "人类"
#初始化时需要给“人”分配一个名字name
# 工作时长 working_time则留给“男人”和“女人”去分开定义
def __init__(self, name):
self.name = name
self.working_time = None
#定义一个方法,它能输出工作时长
def work(self):
print(self.working_time)
#还可以定义其他方法
# 定义“男人”类, 它需要“继承”“人”类
class Man(Person):
def __init__(self, name):
# 调用“人”类的初始化方法以完成继承
Person.__init__(self, name)
# 定义工作时长
self.working_time = 8
# 定义“女人”类,它需要“继承”“人”类
class Woman(Person):
def __init__(self, name):
# 调用“人”类的初始化方法以完成继承
Person.__init__(self, name)
# 定义工作时长
self.working_time = 6
print(Person.class_name) # 输出 人类
zhangsan = Man("zhangsan")
print(zhangsan.working_time) # 输出 8
Lisi = Woman("Lisi")
print(Lisi.working_time) # 输出 6
第一行,这是Python3的固定语法。当然Person是我们自己命名的类名称,通常建议第一个字母大写。(object)也是固定语法。
第二行,class_name变量是一个类变量,它的值将在这个类的所有实例之间共享。
接下来,第一个def,被称为类的“构造函数”或“初始化方法”,其实就是这个类的基本信息,当创建了这个类的“实例”,就可以调用这些基本信息。__init__也是固定格式。在这里有两个参数self, name对应“自己,姓名”,其实你都可以自己喜欢的名字,当然第一个self也是大家约定俗成的,这里的self是指“自己”,是指“实例化”以后的那个人的“自己”。
什么叫实例化?就是别人听不懂的时候,举个例子。比如什么是人类?张三就是人类(之一)。举例子这个过程叫“实例化”,“张三”就是实例。然后接下来,就可以拿张三说事儿了,这时候,张三就是我们谈话的“对象”,定义一下,对象就是类的具体实例。
现在知道为什么定义类了吗?这么设想一下,如果不定义类,让你输出一千个人的工作时间,你会不会觉得很繁琐?
参考文章:
1.https://blog.csdn.net/qq_18495537/article/details/79301512
2.《python与机器学习实战》 电子工业出版社 何宇健编著