>source

Python으로 simpe OOP 프로그램을 작성하고 있습니다. 작업은 객체의 속성을 txt 파일에 쓰는 것입니다. 여러 가지 방법을 시도했지만 얻을 때마다 AttributeError: 'Message' object has no attribute 'self' . 나는 변하고있다 file.write(ms1.self.__id) 많은 시간 이었지만 아무도 도와주지 않았습니다.

class Message:
def __init__(self, id=10000000, subject='Title', text='Sample Text ', created_at='11.11.11', seen_at='11.11.11', support_group='sample text'):
    self.__id = id
    self.__subject = subject
    self.__text = text
    self.__created_at  = created_at
    self.__seen_at = seen_at
    self.__support_group = support_group
ms1 = Message(5775575, 'Order Telephone', 'The order is: Iphone 12 Pro Max 512 gb ', 'Created at: 
30.03.20', 'Seen at: 01.04.20', 'Account: Kim2030 \n Tech: Eldorado \n Billing: 5169147129584558 \n 
Order: 28048')
file = open('testfile.txt', 'w')
file.write(ms1.self.__id)
file.write(ms1.self.__subject)
file.write(ms1.self.__text)
file.write(ms1.self.__created_at)
file.write(ms1.self.__seen_at)
file.write(ms1.self.__support_group)
file.close()

  • 답변 # 1

    구문을 약간 잘못 사용하고 있습니다. 제거 self 참조하고 변수 접두사에 밑줄을 사용하지 마십시오.

    class Message:
        def __init__(self, id=10000000, subject='Title', text='Sample Text ', created_at='11.11.11', seen_at='11.11.11',
                     support_group='sample text'):
            self.id = id
            self.subject = subject
            self.text = text
            self.created_at = created_at
            self.seen_at = seen_at
            self.support_group = support_group
    ms1 = Message(5775575, 'Order Telephone', 'The order is: Iphone 12 Pro Max 512 gb ', 'Created at:30.03.20', 'Seenat: 01.04.20', 'Account: Kim2030 \nTech: Eldorado \nBilling: 5169147129584558 \nOrder: 28048')
    file = open('testfile.txt', 'w')
    file.write(str(ms1.id))
    file.write(ms1.subject)
    file.write(ms1.text)
    file.write(ms1.created_at)
    file.write(ms1.seen_at)
    file.write(ms1.support_group)
    file.close()
    
    

관련 자료

  • 이전 bash - stdin의 입력을 허용하지 않는 vint (vim lint)에 대한 해결 방법
  • 다음 Javascript의 Typeof 비교