首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有人可以提供一个创造性的解释“实例”,而不使用常见的例子在互联网上?

有人可以提供一个创造性的解释“实例”,而不使用常见的例子在互联网上?
EN

Stack Overflow用户
提问于 2021-12-30 01:37:06
回答 2查看 46关注 0票数 0

我对编程很陌生,并试图理解实例这个术语。我发现这是一个奇怪的词,我似乎无法掌握语言。即。即使你从来没有听过心理学这个词,你也可以很快地理解它,因为你可以理解“心理”指的是‘心理状态’,而“心理学”是指‘研究某事’。

但是编程中的“实例”是如此模糊。这是一种物体。好吧,很好,但是我对对象的理解仍然很模糊,而且缺乏经验,所以我没有什么可以把它与概念联系起来。

如果有非技术背景的人能用英语解释“实例”而不用“实例”这个词,或者仅仅说它是一种对象,那就太好了。

也许有人能解释他们做什么。关于他们是什么,有很多解释(我不明白),从他们的实际行动的角度来看,也没有答案。

提前感谢那些试图回答的人!

EN

回答 2

Stack Overflow用户

发布于 2021-12-30 01:49:12

我认为它是一个抽象的概念(对象)的“发生”。举个例子(请接受我的话)--柏拉图式的椅子,在本质上存在的椅子(或椅子的例子)将是餐厅的椅子,我可以在我的家庭办公室的入口处看到它。换句话说,柏拉图式的椅子是思想(或理想的)椅子--它只存在于我们的脑海中,但我能看到(和触摸)的餐椅就是一个例子。所以我们可以把实例看作一个抽象概念的具体例子。

票数 0
EN

Stack Overflow用户

发布于 2021-12-30 01:49:50

将类看作是创建对象的蓝图。蓝图是一种详细的照片印刷,它展示了如何建造某种东西。想想房子的蓝图。这个蓝图可以看作是一个阶级。有了同样的蓝图,我们就可以建造几座房子,这些房子可以看作是物体。每一个物体,或房子,都是根据这个蓝图建造的,是蓝图的一个实例。

让我们上一堂“雇员”课。您可以认为这是实体雇员的模板。这个类有两个与它相关的东西:属性和行为。类“Employee”将具有与其相关联的某些属性,如姓名、姓氏和薪资。类似地,类‘Employee’会有某些与其相关的行为,例如创建全名、应用提升等等。

对象是类的特定实例。如果‘Employee’是我们的类,那么‘Mario Rossi’、‘阿什利·布朗’和‘Gunther Schafer’将是类的具体实例,或者换句话说,这些就是类“Employee”的对象。

创建类和类的实例

在下面的示例中,我们创建一个名为Employee的类。然后,我们创建该类的两个对象(emp1和emp2)或实例。

代码语言:javascript
运行
复制
class Employee:
    pass

emp1 = Employee()
emp2 = Employee()

print(emp1)
print(emp2)

如果你打印这些物体,你会得到这个:

代码语言:javascript
运行
复制
<__main__.Employee object at 0x000002297B231A00>
<__main__.Employee object at 0x000002297B1A8970>

这从本质上显示了已经创建的两个对象是唯一的实例,因为它们在内存中有不同的位置。

在类对象就位后,我们现在可以手动为每个员工创建实例变量。例如,我们希望emp1和emp2有一个名字、一个姓、一个电子邮件和一个工资。您所需要做的就是设置实例变量并传递它们的唯一属性。既然每个实例变量都有自己的唯一属性,就可以打印出所需的信息。

代码语言:javascript
运行
复制
class Employee:
    pass

emp1 = Employee()
emp2 = Employee()

emp1.fname = 'Mario'
emp1.lname = 'Rossi'
emp1.email = 'Mario.Rossi@company.com'
emp1.wage = 100000

print(emp1.email)
print(emp1.wage)

输出:

代码语言:javascript
运行
复制
Mario.Rossi@company.com
100000

到目前为止,代码看起来不错,但并不实用。通过手动设置每个变量,我们不仅容易出错,而且没有利用类的力量。相反,我们将使用一个名为init__()的特殊函数。此函数是一个构造函数,在创建对象属性时,我们将从该构造函数中为对象属性赋值。

代码语言:javascript
运行
复制
class Employee:
    def __init__(self,fname,lname,wage):
        self.fname = fname
        self.lname = lname
        self.wage = wage
        self.email = f"{fname}.{lname}@company.com"

emp1 = Employee('Mario','Rossi',100000)
emp2 = Employee('Jane','Smith',70000)

print(emp1.email)
print(emp1.wage)

输出:

代码语言:javascript
运行
复制
Mario.Rossi@company.com
100000

当我们创建Employee类的实例时,我们可以传递我们在init__()函数中指定的值。现在,我们的init__()函数接受我们称为self的实例。自我必须始终是第一个参数。使用init__()函数为对象属性赋值

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70526641

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档