Lunetzsche's House

Python - Dictionary Comprehension

지능형 딕셔너리라고도 하지만 여기서는 딕셔너리 컴프리헨션이라고 부를 것이다. 이 글을 읽기 전에 리스트 컴프리헨션을 먼저 읽어두자. List Comprehension 우리는 카드 게임을 만들고 싶다. 그걸 위해서 우선 리스트 데이터가 필요하다. name = ["Knight", "Archer", "Priest"] att = [10, 15, 5] ...

Python - Zip

여기서는 제네레이터 함수 zip을 설명한다. zip 메소드는 같은 인덱스를 가진 두 개의 iter(반복 가능한 객체)를 하나로 합쳐준다. 보면 쉽다. 설명이 필요없다. 백문이 불여일견. 일단 보자. myList1 = ["Qiqi", "Mimi", "Nana"] myList2 = ["Yorkshire Terrier", "Spitz", "Mix"] m...

Python - 이너믈레이트(enumerate)

읽을 때는 ‘이너믈레이트’ 라고 읽는다. C 계열 언어에서는 enum이라는 데이터형을 많이 사용해봤을 테지만 그것과는 엄연히 다른 것이다. enumerate는 인덱스를 붙여주는 역할을 한다. 예시로 모 게임의 주인공들을 일단 리스트로 열거해보자. atelierTwilight = [("Ayesha", 1), ("Escha", 2), ("Logix",...

Python - 자료 구조형들의 언패킹(unpacking)

1. 기본 언패킹 2. 딕셔너리(Dictionary)의 언패킹 기본 언패킹 tup = ("a", "b") a, b = tup print(a) print(b) 간단하다. 설명은 생략한다. 딕셔너리(Dictionary)의 언패킹 1. 먼저 Dict을 준비한다. peopleDict = { "People1": {"Height": 17...

Python - 배열(array.array)

숫자(실수)를 정말 많이 저장할 때는 리스트보다 오히려 배열이 더 유리하다. 배열은 시퀀스(https://shechren.github.io/lunetzsche/posts/Sequence/를 참조하라)의 한 종류로서 가변형이며, 파일을 읽어오거나 저장하는 메소드 또한 지원한다. 이제 우리는 무작위 배열 하나를 만들어보자. from array impo...

Python - 리스트와 튜플의 메소드(Method for List and Tuple)

파이썬에서 리스트와 튜플이 갖는 메소드는 다양한데, 둘이 동시에 갖는 메소드가 있고, 혹은 리스트만 갖는 메소드도 있다. 모두 알다시피 리스트는 가변형, 튜플은 불변형이기 때문이다. 따라서 융통성 있게 사용하기 위해서는 리스트가 권장된다. 또한 이하에는 매직 메소드가 있을 수도 있다. 더블 언더바, 속칭 던더(Dunder)가 있다면 그것이 되시겠다....

Python - 애스터리스크(Asterisk)

별표라고 많이 부르는 *. 프로그래밍에선 곱연산에 사용되며, 아스타라고도 불린다. C계열 언어에서는 이를 네이밍한 알고리즘인 에이스타 알고리즘도 있지만, 우리는 기본 표기인 에스터리스크로 부르도록 하자. 일단은, 단순히 a와 b에 값을 집어넣어 출력하는 부분부터 복습해보자. def test1(): a = 1 b = 2 print(a, b...

Python - List Comprehension

지능형 리스트라고 번역하면 그나마 알맞을 듯하다. 리스트 축약이라고 쓰시는 분도 있는 것 같은데, 그냥 우리는 리스트 컴프리헨션이라고 쓰자. 사용법은 간단하다. “안녕!” 이 들은 리스트를 3개 만들고 싶다. a = [["안녕!"] for \_ in range(3)] 어? for의 원소에 언더바 하나만 있네? 아무 문제 없다. 저기에 n이 들어...

Python - 시퀀스(sequence)

컨테이너 시퀀스는 서로 다른 자료형을 담을 수 있으며 list, tuple. collecction.deque형이 이에 속한다. 균일 시퀀스는 단 하나의 자료형만 담을 수 있으며 str, bytes, bytearray, memoryview, array.array형이 이에 속한다. 시퀀스형은 가변형에 따라 분류할 수도 있다. 가변 시퀀스에는 list, ...

Python - 매직 메소드 - magic method

전문가를 위한 파이썬(Fluent Python)에 나와있는 분류를 따르면 다음과 같다. 1. 문자열/바이트 표현 2. 숫자로 변환 3. 컬렉션 에뮬레이션 4. 반복 5. 콜러블 에뮬레이션 6. 컨텍스트(context) 관리 7. 객체 생성 및 소멸 8. 속성 관리 9. 속성 디스크립터 10. 클래스 서비스 1...