存储什么信息?

2024-09-28 17:15:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我在某个地方读到__init__在创建对象时存储信息。所以,假设我有这个代码:

class BankAccount(object):
    def __init__(self, deposit):
        self.amount = deposit 

    def withdraw(self, amount):
        self.amount -= amount

    def deposit(self, amount):
        self.amount += amount

    def balance(self):
        return self.amount 

myAccount = BankAccount(16.20)

x = raw_input("What would you like to do?")

if x == "deposit":    
    myAccount.deposit(int(float(raw_input("How much would you like to deposit?"))))
    print "Total balance is: ", myAccount.balance()   
elif x == "withdraw":    
    myAccount.withdraw(int(float(raw_input("How much would you like to withdraw?"))))
    print "Total balance is: ", myAccount.balance()    
else:
    print "Please choose 'withdraw' or 'deposit'. Thank you."

__init__在做什么或在存储什么。我不明白”自身金额“是或如何使它=存款做任何事。是“自身金额“在__init__下面和{}下面的一样吗?我只是不明白“自我数量”是什么意思。在


Tags: toselfyouinputrawinitdefamount
3条回答

在Python中,^{}是在创建类的实例时调用的方法。此方法通常用于初始化实例变量。初始化后,可以在其他方法中使用它们。在

关于self.amount,它是一个实例变量(也有类变量)。换句话说就是一种属性。在

你的类是BankAccount,每个银行账户都应该有一个金额。这时实例变量就变得有用了!在

创建实例时

myAccount = BankAccount(16.20)

调用__init__()方法(您可以通过在里面放一个print来看到这一点),它将用16.20设置{}。在

从你的问题来看,我认为你对面向对象编程(OOP)还不熟悉。 我建议阅读一下它,以及它是如何在Python中实现的。 这里有一个简短的起点:http://www.tutorialspoint.com/python/python_classes_objects.htm

然后你可以随意搜索你在那里学到的新概念。在

简言之,要直截了当地回答问题:

  • 类是对象模板
  • 实现这种模板的对象称为类的实例
  • 对象可以有实例变量,这些变量存储特定于每个实例的值
  • 类可以定义构造函数,在创建类的实例时调用。这些构造函数通常用于初始化实例变量。在
  • 在Python中,一个类的所有方法都将它们所处理的实例作为参数,按照惯例命名为self
  • 在Python中,__init__是构造函数的名称

所以在Python中,当您调用myAccount.deposit(10)时,可以说它等价于BankAccount.deposit(myAccount, 10)。因此,是的,self变量在您的四个方法中都是“相同的”,并且在您的示例中,它被赋值为myAccount。在

Q什么是__init__在做什么或存储什么?在

无论何时构造类的实例,都会调用__init__。这适用于所有类别。通常在这个函数中初始化所有数据。在您的特定情况下,您将创建一个名为amount的成员数据,并将其赋值为与传递给函数的deposit参数相同的成员数据。在

Q我不明白"self.amount"是什么,也不知道如何使它= deposit起作用。在

A语句self.amount = deposit完成了几件事情。它创建一个名为amount的类的成员数据,并将其赋值为deposit的值。在

Q__init__下的"self.amount"是否与撤销下的相同?在

A是的。在

我只是不明白"self.amount"的作用。在

A它允许您捕获对象的数据。每个类都需要找出正确工作所需的成员数据。在您的例子中,您只需要amount。如果有一个名为Employee的类,它可能看起来像:

class Employee(object):
    def __init__(self, firstName, lastName, id, salary):
        self.firstName = firstName 
        self.lastName = lastName 
        self.id = id 
        self.salary = salary 

相关问题 更多 >