深刻的介绍
欢迎您在dev.to上找到的面向对象的编程(OOP)上最直接,最直观的博客。该博客系列(第1部分)旨在为您提供对主题的清晰了解。
让我们开始
我们将从Python中的代码块开始:
l = [1, 2, 3, 4, 5]
print(l.upper())
您认为输出是什么?令人惊讶的是,这将导致错误:
'list' object has no attribute 'upper'
现在,让我们在这里关注两个关键术语:“对象”和“属性”。
当您了解到列表是datatypeðä时,您可能想知道为什么错误将list: l
称为“对象”。另外,“属性”是什么意思?让我们使用另一个代码块进一步探索:
l = [1, 2, 3, "oops"]
print(type(l))
# Output: <class 'list'>
有趣的吧?当我们尝试获取列表的类型时,它说“ l
属于类'列表'。”但是什么是“班级”?
片刻前,我们看到一个错误提到“列表”是一个对象。让我们澄清一下这种混乱。
类,对象和属性
这是真实的时刻:您在Python中遇到的每个数据类型实际上都是一个类。
什么是班级?
您可以将班级视为蓝图,但是蓝图我的意思是什么?我们很快就会发现。
因此,每个数据类型都是类,每当我们创建类(数据类型)的变量时,它都会称为object
。
顺便说一句,现在我们知道数据类型是类,并且由于它们已经存在,因此数据类型被称为内置类。另一方面,我们有用户定义的类,我们将在另一个博客中探索。
因此,如果您尝试打印type(12)
,则输出将为class <int>
。如果您创建了类/datatype int的对象:
n = 1234 # n is an object of datatype int
print(n.append(1))
上述代码将导致错误:
AttributeError: 'int' object has no attribute 'append'
此错误告诉我们,我们创建的n
的对象被称为int
class/datatype的对象。
用更简单的话来说,一个对象是类的实例。
我们知道我们不能附加到int,但是为什么?
因为谁创建了int
或datatype int
的人都没有添加功能。对象的功能或我们可以在特定类的对象上执行的功能称为attribute
。
在上述代码的输出中,您可能会看到错误消息:
AttributeError: 'int' object has no attribute 'append'
这表明int
类的int object n
没有任何功能可以附加。
现在就全部!我们将尽快介绍更多主题,因此请继续关注,好友!