AttributeError: у объекта 'str' нет атрибута 'name' при определении класса и его вызове - PullRequest
0 голосов
/ 17 сентября 2018

класс MyIntroduction:

def __init__(self, name ,age,education,masters,interestArea):
  self.name = name
  self.age = age
  self.education = education
  self.masters = masters
  self.interestArea = interestArea

def displayInformation(self):
    print({'name': self.name, 'a': self.age, 'e': self.education, 'M': self.masters, 'IA': self.InterestArea })
    emp = { 'emp1': MyIntroduction.__init__("Terex", "92", "BE", "MA", "Sports")}
    emp1.displayInformation(self)

1 Ответ

0 голосов
/ 17 сентября 2018

Хорошо. Вот как бы я это сделал.

Попробуйте:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# =============================================================================
"""Doc PlaceHolder."""
# =============================================================================


class MyIntroduction():
    """Doc PlaceHolder."""

    def __init__(self):
        """Doc PlaceHolder."""
        self.name = ""
        self.age = ""
        self.education = ""
        self.masters = ""
        self.interestarea = ""

    def set_info(self, name, age, education, masters, interestarea):
        """Doc PlaceHolder."""
        self.name = name
        self.age = age
        self.education = education
        self.masters = masters
        self.interestarea = interestarea

    def displayinformation(self):
        """Doc PlaceHolder."""
        a = {'name': self.name,
             'a': self.age,
             'e': self.education,
             'M': self.masters,
             'IA': self.interestarea
             }
        print(a)

a = MyIntroduction()
a.set_info('Jay', 453, 'SelfTaught', 'Making Stuff Up', 'Space Captain')
a.displayinformation()

Обратите внимание, конец кода.

Используйте инициализатор для установки значений по умолчанию, затем создайте метод для установки или обновления.Затем для удобства чтения я создал отдельный метод для установки / обновления вашего self.variables, затем разделил ваш dict на переменную и напечатал это.

Результаты:

python3 testy.py 
{'name': 'Jay', 'a': 453, 'e': 'SelfTaught', 'M': 'Making Stuff Up', 'IA': 'Space Captain'}

Полезные советы: Попробуйтеиспользование текстового редактора с подсветкой синтаксиса, который поможет вам научиться минимизировать эти ошибки и помнить о необходимости форматировать их =)

Я все еще учусь сам, поэтому я не сомневаюсь, что вы получите более интересные ответы, ни одинтем не менее, это то, что я сделал с вашим примером кода.

...