Python:OOP 教程 1:类 和实例:如何使用 self?

Python: OOP Tutorial 1: Classes and instances: How to use self?

我尝试在 Python 中了解 类。目前,我使用 Corey Schafer 的教程。

这是他写的:

class Employee:
    def __init__(self, first, last, pay):
        self.first = first
        self.last = last
        self.pay = pay
        self.email = first + "." + last + '@company.com'
emp_1 = Employee('First1', 'Last1', 50000)
emp_2 = Employee('First2', 'Last2', 60000)
print(emp_1.email)
print(emp_2.email)

我的问题是:为什么他没有在这里使用self:self.email = self.first + "。 “ + self.last + '@company.com'

class Employee:
    def __init__(self, first, last, pay):
        self.first = first
        self.last = last
        self.pay = pay
        self.email = self.first + "." + self.last + '@company.com'
emp_1 = Employee('First1', 'Last1', 50000)
emp_2 = Employee('First2', 'Last2', 60000)
print(emp_1.email)
print(emp_2.email)

两种方式的输出是相同的。

如果在 __init__ 方法中使用 self.firstfirst 没有区别,因为 self.first 也指向相同的变量,即 first. 使变量成为 self 的属性只会使其成为实例变量,并允许您在 class

中的任何位置访问它