Почему я получаю typeerror при использовании переменной в классе python?

#python #class #attributes

#python #класс #атрибуты

Вопрос:

У меня есть эта программа для банковского счета с классом. Предполагается внести баланс на счет, как вы можете видеть в a1.deposit(1000), а затем обновить баланс на счете.

 class BankAccount:
    def __init__(self,first_name,last_name,number,balance):

        self.first_name = first_name
        self.last_name = last_name
        self.number = number
        self.balance = balance

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

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

    def print_info(self):
        first=self.first_name
        last=self.last_name
        number=self.number
        balance = self.balance
        s=f'{first} {last}, {number}, balance: {balance}'
        print(s)

a1= BankAccount('Gang', 'Land', '19371554951', '20000')

a1.deposit(1000)

print(a1.balance)
  

Я не понимаю, что не так, потому что я получаю только ошибку типа:

 self.balance  = amount

TypeError: can only concatenate str (not "int") to str
  

Ответ №1:

Я полагаю, что ваша ошибка связана с этой строкой :

 a1= BankAccount('Gang', 'Land', '19371554951', '20000')
  

если вы хотите увеличить значение balance , вам нужно инициализировать эту переменную как целое число или число с плавающей запятой. Так что просто удалите » около 20000 и повторите попытку.