이번 절에서는 namedtuple 에 대해서 다룹니다. namedtuple은 간단히 말하자면 각 항목에 이름을 붙일 수 있는 튜플입니다. 이는 꼭 알 필요는 없지만 적지 않은 곳에 유용하게 쓰일 수 있습니다. 개발 속도와 편리함이 최고 장점인 파이썬인만큼, 유용한 도구를 많이 알아두면 더더욱 편리해지겠지요. 하지만 지금까지 배웠던 클래스나 각종 기본 컨테이너들, 이를테면 리스트, 딕셔너리, 튜플 등에 익숙하지 않다면 그것부터 […]
[카테고리:] 파이썬 강좌
파이썬 강좌 – 변수의 범위 (Scope) ~ 이름을 탐색하기
파이썬 강좌 – 반복문 코딩하기
이제 본격적으로 반복문을 코딩해보는 작업을 할 것입니다. 반복문은 조건문과는 달리 조금의 코드만으로도 작업량이 굉장히 많아질 수 있습니다. 반복문에서는 한두 줄이라도 반복을 수천번 수백번 할 수 있기 때문에 다소 조심히 다루어야 합니다. 우선 이러한 반복을 유심히 살펴보게 해주는 도구를 먼저 알아볼 텐데요, 바로 우리가 지금까지 많이 써왔던 print 함수에 대한 중요성을 먼저 강조한 후 넘어가보겠습니다. print […]
파이썬 강좌 – 조건 표현식 (Conditional Expression) – 간단한 분기 나타내기
이번 시간에는 간단하게 표현식으로 조건을 나눌 수 있는 방법을 보여드립니다. 그냥 새로운 방법에 별로 관심이 없다면 가볍게 패스하셔도 좋습니다! 왜냐하면 조건 표현식은 다소 가독성이 떨어질 수 있다는 단점이 있고, 조건 표현식이 아닌 그냥 조건문을 이용해 코드가 몇 줄 더 길어지는 대신 더 가독성 좋고 의도가 확실한 코드를 작성할 수 있기 때문입니다. 우리는 이때까지 조건문(if statement)라고 […]
파이썬 강좌 – 지능형 리스트(List Comprehension) – 리스트 갖고 놀기
지능형 리스트 또는 리스트 컴프리헨션이란, 좀 더 편리하게 리스트를 만들 수 있는 방법을 제공합니다. List Comprehension을 한국어로 자연스럽게 번역한 것이 지능형 리스트이고, 우리나라의 저명한 파이썬 서적에 저렇게 표기되어 있습니다. 일각에서는 리스트 표현식이라는 표현도 심심찮게 보입니다. 다만 한국어로 번역된 파이썬 공식 문서에는 그대로 음차한 리스트 컴프리헨션이라고 되어있어, 추후 구글 검색시 유의해야 합니다. 간단한 예시 어떤 수의 […]
파이썬 강좌 – 슬라이싱 – 리스트 간편하게 접근하기
슬라이스를 사용하는 예제 일단 리스트 하나를 만들어봅시다. 아래 리스트는 항목이 총 18개입니다. 인덱스는 0에서 17이겠지요. 좋습니다, 이제 이 리스트에서 인덱스 2부터 17까지의 요소를, 3칸 간격으로 뽑아내고 싶습니다. 고전적인 while과 변수 하나를 이용해서 구현을 해봅시다. 좋습니다. 우리의 의도대로 아주 잘 동작합니다. 그런데 뭔가 스멀스멀 떠오르지 않나요? 저런 상황은 우리가 이전에 한 번 접했습니다. 곧바로 range가 떠오릅니다. […]
파이썬 강좌 – 실습 – 원카드 게임 만들기 (3) (작성중)
이번 시간이 원카드 게임 만들기의 마지막 시간입니다. 이번 시간에는 다음 4가지를 구현하며 완성시키도록 하겠습니다. 입력을 개선합니다. 현재 상황에서는 올바르지 않은 입력을 했을 시 에러를 뿜으며 프로그램이 종료되지만, 이제는 제대로된 입력을 하라고 메시지를 띄우며 다시 입력받도록 합니다. 낼 수 있는 카드가 있어도 먹는 행동을 구현하겠습니다. 먹는 행동은 충분히 전략적으로 이용할 수 있기 때문이죠. 0을 입력하면 카드를 […]
파이썬 강좌 – 어노테이션 – 수월하게 프로그래밍하기
어노테이션은 사전적 의미로는 주석입니다. 하지만 우리가 #으로 작성하는 주석과 혼동될 수 있기 때문에 어노테이션이라고 계속 말하도록 하겠습니다. 그리고 구글에다가 검색해보다 알게 된 사실인데, 자바에서는 어노테이션이 파이썬의 데코레이터(추가 예정)와 대응되는 것 같습니다. 파이썬의 어노테이션은 다소 다른 용도입니다. 어노테이션이 적용된 모습 제가 쓰는 Visual Studio Code를 포함하여 요즘의 텍스트 에디터 및 IDE는 타입을 추정하는 능력이 탁월합니다. 대부분의 […]
파이썬 강좌 – NotImplementedError와 NotImplemented
각종 에러를 접하다 보면 NotImplemented와 NotImplement가 혼동된다는 점을 알 수 있습니다. 여기서는 간단하게 그 차이만 알아보고, 자세한 사항은 연결고리를 참조합니다. 아래 두 주제 전부 클래스와 밀접한 연관이 있기 때문에 아직 클래스에 익숙하지 않다면, 클래스를 더 연습하고 오시기를 권장드립니다. NotImplementedError 상위 클래스를 설계할 때, 하위 클래스에서 반드시 오버라이드하여 상세하게 구현해야 하는 메소드를 명시하고자 하려면, 해당 메소드의 […]
파이썬 강좌 – 실습 – 원카드 게임 만들기 (2)
위의 메커니즘은 아주 러프하게 작성한 것입니다. 본격적으로 코드를 작성하기 전에 조금 더 생각을 정리해봅시다. 상황이 더 복잡해졌고, 중복되는 코드가 많아질 예정입니다. 무작정 코드를 작성하다가는 밀려드는 코드에 정신을 차리지 못할 것입니다!! 우선 게임을 좌지우지하는 두 가지 상황이 있습니다. 첫 번째는 공격 상황인지의 여부이고 두 번째는 그에 따라 낼 수 있는 카드가 존재하는 지의 여부입니다. 이를 각각 […]