PEP8 가이드를 성배처럼 사용할 수 있습니다. 거의 모든 파이썬 세계는 이 가이드를 사용하여 명확하고 이해하기 쉬운 표준 파이썬 코드를 작성합니다. 이것은 모든 최신 텍스트 편집기를 위한 린터로 확장으로 사용할 수 있습니다. https://www.python.org/dev/peps/pep-0008/에서 확인할 수 있습니다. 폴더를 적절하게 구성하십시오. 모든 프로젝트에는 적절한 구조화가 필요합니다. 이것은 코드를 더 잘 구성하는 데 도움이 됩니다. Python에는 사용해야 하는 확고한 폴더 구조가 있습니다. README.rst LI
Python 2에서는 한 줄에 여러 인쇄 문을 결합하고 Python 3에서는 end 인수를 사용하여 함수를 인쇄할 수 있습니다. 예시 Python2.x print "Hello", print " world" Python3.x print ("Hello", end='') print (" world") 출력 이것은 출력을 줄 것입니다 - Hello world 당신이 할 수 있는 또 다른 일은 모든 것을 배열에 넣고 .join(array)를 호출하는 것
Python 변수는 메모리 공간을 예약하기 위해 명시적 선언이 필요하지 않습니다. 선언은 변수에 값을 할당할 때 자동으로 발생합니다. 등호(=)는 변수에 값을 할당하는 데 사용됩니다. =연산자 왼쪽에 있는 피연산자는 변수의 이름이고 =연산자 오른쪽에 있는 피연산자는 변수에 저장된 값입니다. 예 counter = 42 # An integer assignment speed = 60.0 # A floating point name = "Google" # A string print(counter) print(miles)
접근 연산자 []를 사용하여 Python에서 변수에 사전 값을 할당할 수 있습니다. 예시 my_dict = { 'foo': 42, 'bar': 12.5 } new_var = my_dict['foo'] print(new_var) 출력 이것은 출력을 줄 것입니다 - 42 예시 이 구문은 이 키와 관련된 값을 재할당하는 데에도 사용할 수 있습니다. my_dict = { 'foo': 42, &n
Python에서 다음과 같은 작업을 시도하는 경우 a = b = c = [0,3,5] a[0] = 10 에서 동일한 값으로 끝납니다. a, b, and c: [10, 3, 5] 여기에 있는 세 변수 모두 동일한 값을 가리키기 때문입니다. 이 값을 수정하면 모든 이름(예:a,b 및 c)에 변경 사항이 반영됩니다. 새 개체를 만들고 할당하려면 복사 모듈을 사용할 수 있습니다. 예 a = [0,3,5] import copy b = copy.deepcopy(a) a[0] = 5 print(a) print(b) 출력 이것은 출력을 제
문자열을 생성하려면 바이트열 객체를 디코딩해야 합니다. 이것은 디코딩하려는 인코딩을 수락할 문자열 클래스의 디코딩 기능을 사용하여 수행할 수 있습니다. 예시 my_str = b"Hello" # b means its a byte string new_str = my_str.decode('utf-8') # Decode using the utf-8 encoding print(new_str) 출력 이것은 출력을 줄 것입니다 - Hello
모든 클래스는 객체입니다. 메타클래스라고 하는 것의 인스턴스입니다. 기본 메타클래스가 입력됩니다. is instance 함수를 사용하여 확인할 수 있습니다. 예를 들어, class Foo: pass foo = Foo() isinstance(foo, Foo) isinstance(Foo, type) 이것은 출력을 줄 것입니다: True True 메타 클래스는 객체의 클래스 계층 구조의 일부가 아니지만 기본 클래스는 있습니다. 이러한 클래스는 개체가 아니라 클래스를 초기화하는 데 사용됩니다. https://
문자열을 생성하려면 바이트열 객체를 디코딩해야 합니다. 이것은 디코딩하려는 인코딩을 수락할 문자열 클래스의 디코딩 기능을 사용하여 수행할 수 있습니다. 예 my_str = b"Hello" # b means its a byte string new_str = my_str.decode('utf-8') # Decode using the utf-8 encoding print(new_str) 출력 이것은 출력을 제공합니다 Hello 바이트열이 문자열이면 JSON.dumps 메서드를 사용하여 문자열 개체를 JS
문자열 튜플이 있고 특정 문자열을 검색하려면 in 연산자를 사용할 수 있습니다. 예시 tpl = ("Hello", "world", "Foo", "bar") print("world" in tpl) 출력 이것은 출력을 줄 것입니다 - True 예시 하위 문자열이 있는지 확인하려는 경우. 다음을 사용하여 튜플을 반복하고 찾을 수 있습니다. tpl = ("Hello", "world", "Foo"
Python에는 동종 목록과 같은 것이 없습니다. python 문서는 동종 데이터에 목록을 사용하도록 제안합니다. 문서 인용 목록은 변경 가능한 시퀀스로, 일반적으로 동종 항목의 컬렉션을 저장하는 데 사용됩니다(정확한 유사도는 애플리케이션에 따라 다름). 이기종 데이터에 대해서도 목록을 매우 잘 사용할 수 있습니다.
JSON 형식에는 튜플의 개념이 없습니다. Python의 JSON 모듈은 Python 튜플을 튜플에 가장 가까운 JSON 목록으로 변환합니다. 불변성은 보존되지 않습니다. 보존하려면 피클과 같은 유틸리티를 사용하거나 인코더 및 디코더를 직접 작성하세요. 피클을 사용하는 경우 Python 사원을 JSON 파일이 아닌 pkl 파일에 저장합니다. 웹을 통해 데이터를 보내는 경우에는 유용하지 않습니다. 가장 좋은 방법은 인코더와 디코더가 작동하도록 선택한 방법에 따라 목록과 튜플을 구별하는 자체 인코더와 디코더를 사용하는 것입니다.
Python은 일부 데이터를 반환할 때 데이터를 변경하지 않을 것으로 예상합니다. 튜플은 또한 목록보다 빠릅니다. 튜플은 일반적으로 순서와 위치가 의미 있고 일관성이 있는 곳에 사용됩니다. 예를 들어, 파이썬에 데이터베이스 드라이버가 있고 일부 데이터에 대해 쿼리하는 경우 드라이버가 데이터를 가져와 변경하지 않고 사용할 것으로 예상하므로 튜플 목록을 다시 얻을 수 있습니다. 이렇게 하면 데이터가 쿼리한 필드와 같은 순서로 정렬될 수도 있습니다.
파이썬 튜플은 본질적으로 요소의 불변 배열입니다. 이것은 C에 배열로 매핑됩니다. 그러나 우리는 C에서 직접 메모리로 작업하고 C에는 불변 배열과 같은 구조가 없기 때문에 튜플을 불변 속성을 가진 C 배열로 변환할 수 없습니다. 할 수 있는 것은 C 배열을 정의하는 것이지만 튜플보다는 목록에 더 가깝습니다.
이 작업을 수행하는 가장 쉬운 방법은 집합을 사용하는 것입니다. 집합은 목록을 사용하고 고유한 값만 사용합니다. 그런 다음 목록에서 공통 개체를 가져오기 위해 교차와 같은 역할을 하는 &연산을 수행할 수 있습니다. 예시 >>> a = [1, 2, 3, 4, 5] >>> b = [9, 8, 7, 6, 5] >>> set(a) & set(b) {5} set.intersection 함수를 사용하여 이 작업을 수행할 수도 있습니다. 예시 >>> a = [1, 2,
튜플은 위치별로 비교됩니다. 첫 번째 튜플의 첫 번째 항목은 두 번째 튜플의 첫 번째 항목과 비교됩니다. 같지 않으면 비교 결과이고, 그렇지 않으면 두 번째 항목이 고려되고 세 번째 항목이 고려됩니다. 예시 >>> a = (1, 2, 3) >>> b = (1, 2, 5) >>> a < b True 유사하고 다른 요소를 고려하는 또 다른 유형의 비교가 있습니다. 이것은 세트를 사용하여 수행할 수 있습니다. 집합은 튜플을 사용하고 고유한 값만 사용합니다. 그런 다음 튜플에서 공통
파이썬의 dict도 클래스입니다. 여기에는 __eq__메서드가 재정의되므로 ==연산자를 사용하여 2개의 사전이 동일한지 여부를 확인할 수 있습니다. 예시 a = {'foo': 10, 'bar': 150} b = {'foo': 10, 'bar': 150} print(a == b) 출력 이것은 출력을 제공합니다 - True 2개의 사전에 있는 공유 항목 목록을 원하면 세트와 &연산자를 사용하여 얻을 수 있습니다. 예시 a = {'foo': 10, 'bar
Python에는 첫 번째 요소로 Python 튜플 요소를 그룹화하는 defaultdict라는 함수가 있습니다. 예시 lst =[ (1, 안녕하세요, 세계, 112), (2, 안녕하세요, 사람, 42), (2, 안녕하세요, 세계, 200)] 컬렉션에서 defaultdict 가져오기 d =defaultdict(list) for k, *v in lst:d[k].append(v)print(d) 출력 이것은 출력을 제공합니다 defaultdict(, {1:[[Hello, World, 112]], 2:[[Hello, People, 42], [
튜플을 사용하여 Python에서 변경할 수 없는 벡터를 나타낼 수 있습니다. 튜플은 목록처럼 동작하지만 순서를 유지하고 목록보다 빠른 불변 데이터 구조입니다. 예시 myVec = (10, 15, 21) myVec[0] = 10 튜플을 변경할 수 없으므로 오류가 발생합니다.
먼저 목록을 구성한 다음 변경하려는 단일 값을 변경한 다음, 문자가 아닌 파이썬 튜플을 생성하려는 경우 마지막으로 이를 튜플로 변환할 수 있습니다. 예를 들어, def create_non_literal_tuple(a, b, c): x = [1] * a x[c] = b return tuple(x) create_non_literal_tuple(6, 0, 2) 이것은 출력을 줄 것입니다: (1, 1, 0, 1, 1, 1) 길이가 6인 배열의 위치 2에 있는 0.
이 튜플을 정의할 때 u 구문을 사용하여 파이썬에서 유니코드 문자열의 튜플을 만들 수 있습니다. 예시 a = [(u'亀',), (u'犬',)] print(a) 출력 이것은 출력을 줄 것입니다 [('亀',), ('犬',)] 유니코드 문자열이라고 말하고 싶다면 u를 제공해야 합니다. 그렇지 않으면 일반 이진 문자열로 처리됩니다. 그리고 예상치 못한 결과를 얻게 될 것입니다. 예시 a = [('亀',), ('犬',)] print(a) 출력 이것은