728x90
반응형
728x90
반응형
객체로서의 클래스 메타 클래스를 이해하기 전에 파이썬에서 클래스를 마스터해야 합니다. 파이썬은 스몰토크 언어에서 차용한 클래스가 무엇인지에 대한 매우 독특한 생각을 가지고 있습니다. 대부분의 언어에서 클래스는 객체를 생성하는 방법을 설명하는 코드 조각일 뿐입니다. 그것은 파이썬에서도 약간 사실이다: >>> class ObjectCreator(object): ... pass ... >>> my_object = ObjectCreator() >>> print(my_object) 하지만 파이썬에서는 클래스가 그 이상이다. 클래스도 객체입니다. 네, 물건들이요. 키워드 class를 사용하는 즉시 Python은 이를 실행하고 생성합니다 강한[강력한[강력한] 물건. 설명서 >>> class ObjectCreator(..
단답 그것은 사용자가 의도하지 않았을 때 실수로 스크립트를 호출하는 것을 방지하는 상용 코드이다. 다음은 스크립트에서 가드가 누락될 때 발생하는 몇 가지 일반적인 문제입니다 다른 스크립트에서 가드 없는 스크립트를 가져오면(예: Import my_script_without_a_name_eq_main_guard) 후자의 스크립트는 전자를 가져올 때 실행하고 두 번째 스크립트의 명령줄 인수를 사용하여 실행합니다. 이것은 거의 항상 실수이다. 가드리스 스크립트에 사용자 지정 클래스가 있고 이 클래스를 피클 파일에 저장한 경우 다른 스크립트에서 선택을 해제하면 이전 글머리표에서 설명한 것과 동일한 문제가 발생하여 가드리스 스크립트를 가져올 수 있습니다. 긴 대답 이것이 왜 그리고 어떻게 중요한지 더 잘 이해하기 ..
수율이 무엇을 하는지 이해하려면 제너레이터가 무엇인지 이해해야 합니다. 그리고 발전기를 이해하기 전에, 여러분은 반드시 반복해서 사용할 수 있는 것들을 이해해야 합니다. 읽을거리 목록을 만들 때 목록의 항목을 하나씩 읽을 수 있습니다. 항목을 하나씩 읽는 것을 반복이라고 합니다: >>> mylist = [1, 2, 3] >>> for i in mylist: ... print(i) 1 2 3 내 리스트는 참을 수 있다. 목록 이해를 사용할 때 목록을 작성하므로 필수: >>> mylist = [x*x for x in range(3)] >>> for i in mylist: ... print(i) 0 1 4 ""를 사용할 수 있는 모든 것은..."은(는) 반복할 수 있는 항목입니다. 목록, , 파일... 이 반..
간만에 올리는 오류노트 한줄 해결법 아래의 오류를 해결하려면, AttributeError: 'NoneType' object has no attribute 'get_frame' clip.close()가 선언되어 있다면, 지워야한다. (VideoFileClip() 객체가 close가 되어있다면 오류 발생함) 오류 해결 끝!
아래와 같이 base.py (settings.py)의 설정을 변경한다. 생각보다 간단했는데 막상 찾으려니...
한줄 요약 : config 폴더 안의 wsgi.py 파일을 아래와 같이 수정한다. 오류 내용을 보면 Settings 파일을 찾지 못해 ROOT_URLCONF를 불러오지 못한다는 오류인데, 이 때 wsgi 프로그램을 현재 배포하는 base.py에 연결시켜야 해당 파라미터를 받을 수 있다.
def를 선언하여 함수를 실행할 때 함수 밖의 전역 변수를 변경해야 할 때가 있다. 이때 global키워드를 선언하여 함수 밖에 선언된 전역변수를 참조하여 실행할 수 있다. a = 0 #전역변수 def func(): global a #global 키워드로 함수 밖의 전역변수를 참조 a+=1 for i in range (5): func() print(a) 1 2 3 4 5 파이썬에서 람다 표현식을 사용할 수 있는데 특정한 기능을 한줄에 작성할 수 있게 만들어준다. add메서드를 람다 표현식으로 구현하는 아래의 예시코드 print((lambda a, b: a+b)(5,5)) 10
집합은 리스트, 문자열을 사용하여 만들 수 있다. 집합은 아래의 특징을 가진다. 중복을 허용하지 않음 순서가 없음 리스트와 튜플과는 다르게 순서가 없기 때문에 오직 키를 조회하여 값을 받아낼 수 있다. 인덱싱을 사용해서 값을 받는 것은 불가능. 집합 자료형으로 초기화 시 아래의 코드를 입력하면 된다. a = {1,2,3,3,3,3} b = set([1,2,3,3,3,3]) print(a) print(b) {1, 2, 3} {1, 2, 3} 집합 자료형을 연산할 때 아래의 기호로 연산한다. 합집합 : | 교집합 : & 차집합 : - 아래는 예시코드. * 차집합은 기준이 다르면 값이 다르게 나오기 때문에 주의해야 한다. a = {1,2,3,4,5} b = {3,4,5,6,7} print(a | b) prin..