일례 대상을 만드는 구덩이 채우기 과정을 기록합니다.

1954 단어

이해할 수 있으면 이해하고, 이해할 수 없으면 먼저 소매를 걷어 올리고 한 번 베껴라


오전 반나절을 고생한 후에 작은 단일 대상을 만드는 작은 프로그램이 비로소 해결되었다. 다수출의 사상에 따라 이 작은 과정을 기록하고 코드를 직접 올린다.
class Dog(object):
    '''          '''

    instace= None#          None
    def __new__(cls):
        '''      ,      __new__        ,        ,          '''
        if cls.instace == None:
            cls.instace = object.__new__(cls)
            return cls.instace
        else:
            return cls.instace
                        
#                       
dog1 = Dog()
print(id(dog1))
dog2 = Dog()
print(id(dog2))


인쇄 대상의 메모리 주소의 결과는 다음과 같습니다. 우리는 두 주소가 똑같다는 것을 보았습니다.
G:
otpad_code>python code_one.py 31817800 31817800

이 코드는 우리가 어떻게 하나의 단일 대상을 만들었는지 설명한다. 운행 과정에서 매우 깊은 구덩이를 만나 가까스로 기어나왔다.

구덩이를 메우는 과정:


첫째, 튜토리얼을 따라 ubuntu에서 코드를 작성하고 계속 축소 오류를 보고한다. 코드를 여러 번 대조했지만 축소 오류를 찾지 못했다. 원인을 ubuntu에게 미루고 자신에게 이 시스템에 익숙하지 않다고 말하고 해결 조치를 취한다.Notepad++까지.
둘째, Notpad++가 실행되는지 오타 보고 오타 보고 오류입니다. tap키는 4개의 빈칸으로 바뀌었지만 몇 번을 바꿔도 사용하기 어렵습니다. 홧김에 코드를 비우고 다시 썼습니다. 이번에는 오타 보고 오류가 없습니다. 왜냐하면 복제 과정 코드에 차용이 생겼기 때문입니다.python은 오타에 대한 요구가 매우 엄격해서 한 군데는 오타가 발생하지만 오타 보고를 하나 더 하면 오타가 발생합니다.
Traceback (most recent call last):
  File "code_one.py", line 16, in 

대상 판단은 오타가 정의되지 않은 것이다. 당시에 나는 코드에서 분명히 클래스에서 정의된 것을 보았는데 이것은 무슨 이유일까?마음속에 만 마리의 까마귀가 날아갔고 마지막에 코드를 자세히 대조해 봤는데 판단할 때 적게 넣었다cls.. 만약에 안 넣었다cls. 이것은 변수일 뿐 대상이 아니라는 것을 나는 이해했다. 우리가 판단한 것은 대상이 존재하는지 여부이다. 당연히 대상으로 판단해야 한다. 게다가 cls. 이후에 프로그램을 실행하면 완벽하게 끝난다!

요약:


도구는 단지 우리가 업무 효율을 향상시키는 것을 도울 뿐, 결코 우리가 일을 완성하는 것을 도울 수 없다.관건은 역시 도구를 사용하는 사람이 학습 내용의 본질을 깊이 이해해야 한다는 것이다.무슨 공구를 쓰느냐가 가장 중요한 것은 아니다.

좋은 웹페이지 즐겨찾기