본문 바로가기

반응형

Python Tutorial

(46)
[Python] 파이썬 기초부터 시작하기 - 목차 파이썬 프로그래밍을 하는데 있어서 기본이라 생각되는 부분을 모두 나열하여 정리해 보았다. 단계적으로 파이썬에 대해 이해 할 수 있도록 글의 순서를 구성해 놓았으니 파이썬을 처음 시작하는 분들이라면 처음 부터 차근차근 읽기 권해드린다. 파이썬 소개 Overview 파이썬 코드의 특징 변수와 타입 파이썬 변수의 소개 변수의 타입 변수의 다양한 정보 확인 ctype 모듈을 활용한 변수의 정보 확인 == 와 is 연산자 mutable 변수와 immutable 변수 변수의 삭제 파이썬 정수는 Overflow가 없다? 문자열 이터레이터(iterator)와 이터러블 타입(iterable type) 이뉴머레이트(enumerate) 제너레이터(generator) 시퀀스 데이터 리스트(list) 튜플(tuple) 셑(se..
[Python] 비동기 함수 - asyncio 이번 포스트는 파이썬 기초 강의의 마지막 장으로써 비동기 함수의 개념과 활용 방법에 대해 설명 한다. 비동기 함수는 프로그램의 성능 향상을 위해서는 필수적인 기능이고 마지막 답게 다소 어려운 내용이므로 집중해서 읽도록 하자. 비동기 함수의 개념 본론을 시작하기 전에 우리는 먼저 비동기 함수의 개념에 대해 이해해야 한다. 일반적으로 함수를 호출하게 되면 함수의 처음 부터 진행하다 함수의 끝에 다다르거나 도중에 return문을 만나게 되면 함수는 종료되고, 제어권은 다시 호출자에게 되돌아 간다. 이 경우 호출자는 자신이 호출한 함수가 종료하고 리턴 할 때까지 기다리고, 함수가 리턴 했다는 것은 호출 된 함수의 실행이 완료 되었다는 것을 보장한다. import time def foo() : print('hel..
[Python] 예외 처리(Exception Handling) 파이썬에서 에러를 처리하는 방법은 다양하다. 간단한 처리 방법으로는 함수의 리턴 값을 이용하는 방법이 있다. 하지만 이는 호출자가 에러를 처리하도록 강제할 수 있는 방법이 없는 단점이 있다. 그래서 에러 상황에 대한 처리가 중요한 부분에서는 exception을 사용하여 에러 처리를 강제 할 수 있다. 이번 포스트에서는 파이썬의 예외 처리(exception handling)에 대해 자세히 살펴 보도록 하겠다. None이나 False 리턴 함수 실패 시 None이나 False 또는 다른 미리 약속된 값을 반환하여 함수의 실패를 알린다. 호출자가 반드시 실패에 대한 처리를 할 필요는 없다. 주로 심각하지 않고 무시해도 되는 사소한 에러 처리를 할 때 이런 방식을 사용하면 좋다. def foo(flag) : i..
[Python] 모듈 객체(module object) 이번 포스트에서는 저번 파이썬 모듈에 이어 "모듈 객체(module object)"에 대해 살펴 본다. 이번 장은 코드 작성을 통해 무엇을 만들어 보기 보다는 모듈 객체를 통해 얻을 수 있는 정보들을 알아 보는 위주로 진행 된다. 모듈 객체란 지금 까지 강의에서 파이썬은 모든 것이 객체로 관리 된다고 이야기 해왔다. 모듈은 하나의 객체이며 어떤 함수와 클래스가 모듈 안에 있고 모듈의 이름은 무엇인지, 어떤 파일인지에 대한 정보들을 가지고 있다. 모듈 역시 객체이므로 아래와 같이 주소와 타입, 사이즈 등을 확인 할 수 있다. import mylib import sys print('address :',hex(id(mylib))) print('type :', type(mylib)) # print('size :..
[Python] 모듈(module) 이번 포스트에서는 코드 재사용의 끝판왕 '모듈(module)'에 대해 살펴보겠다. 정확한 사용법을 언급하진 않았지만 지금까지 예제들에서도 이미 많이 써왔던 것이라 큰 거부감은 없을 것이라 생각 한다. 가벼운 마음으로 읽고 넘어 가도록 하자. 파이썬 모듈 임포트 만일 여러분이 어떤 함수를 정말 잘 만들었다고 가정하자. 그럼 이 함수를 다른 파이썬 프로그램에서도 가져다 사용하고 싶은데 어떻게 해야 할까? 지금까지 여러분이 표준 파이썬 모듈을 임포트(import) 했던 것과 똑같이 사용 할 수 있다. 예를 들어 아래와 같이 여러분은 'mylib.py'라는 파이썬 파일을 만들고 그 안에 함수를 작성했다고 가정하자. # file: mylib.py def add(a, b) : return a + b def mul(..
[Python] 디스크립터(Descriptor) 이번 포스트에서는 파이썬의 디스크립터에 대해 배워보자. 디스크립터는 이전에 배웠던 classmethod, staticmethod, property 등을 구현 할 때 사용되는 중요한 파이썬 기능중에 하나다. 디스크립터 자체는 어렵지 않지만 각 개념들이 서로 꼬여있어 순서대로 차근 차긴 설명하기가 다소 어렵다. 처음에는 간단한 예제 부터 시작해 점차로 발전 시켜 나가는 형태로 설명이 앞뒤로 약간 왔다 갔다 할 수 있으니 집중해서 따라 오도록 하자. 그리고 포스트 끝에는 요약을 덧붙여 앞의 내용들을 다시 한번 상기 할 수 있도록 할 예정이니 맨 마지막은 꼭 읽어 보도록 하자. 지금 까지 강의들은 이런게 있다는 것만 알고 넘어가는 정도로 봐달라고 했는데, 이번 강의는 앞의 다른 강의들과는 다르게 처음 부터 끝까..
[Python] 클래스(class) #9 추상 클래스와 추상 메소드 이번 포스트는 파이썬 클래스 시리즈의 마지막 장으로 파이썬 클래스의 추상 클래스와 추상 메소드에 대해 알아보도록 하겠다. 이 강의는 이전에 배운 클래스 상속과 이어진다. 목차 파이썬 클래스 소개 instance vs static dict vs slots property의 활용 special method callable object 클래스 데코레이터(class decorator) 상속 >> 추상 클래스와 추상 메소드 추상 클래스(abstract class)란? 파이썬은 추상 클래스(abstract class)를 제공한다. 추상 클래스란 구현 내용이 없고 메소드 목록만 가진 클래스이며, 추상클래스 자체로는 인스턴스화가 불가능 하다. 추상 클래스는 클래스의 메소드를 상속 받는 파생 클래스에게 구현하도록 강제하..
[Python] 클래스(class) #8 상속 이번 포스트에서는 파이썬 클래스의 상속에 대해서 알아 보도록 하겠다. 상속의 기본 문법을 시작으로 상속과 관련된 문제와 그 문제들의 해결 방법을 알아 본다. 목차 파이썬 클래스 소개 instance vs static dict vs slots property의 활용 special method callable object 클래스 데코레이터(class decorator) >> 상속 추상 클래스와 추상 메소드 클래스 상속이란 클래스의 '상속'이란, 기존에 정의 되어 있는 클래스에 정의 된 속성(필드와 메소드들)을 이어 받아, 그대로 사용하거나 수정 또는 다른 속성들을 추가하여 사용하는 것을 말한다. 기존에 정의 되어 있던 클래스를 기초 클래스(base class) 또는 부모 클래스(parent class), 상..
[Python] 클래스(class) #7 클래스 데코레이터 이번 포스트에서는 이전에 배운 callable object를 이용하여 클래스 형태의 데코레이터(decorator)를 만들어 보도록 하겠다. 목차 파이썬 클래스 소개 instance vs static dict vs slots property의 활용 special method callable object >> 클래스 데코레이터(class decorator) 상속 추상 클래스와 추상 메소드 Callable Object 와 Decorator 본격적인 설명에 앞서 이전 강좌를 못 본 분들도 있을 것이므로 callable object와 decorator에 대해 간단한 한줄 요약을 정리하고 넘어 가도록 하겠다. 자세한 사항은 각 링크된 포스트들을 살펴 보도록 한다(아무리 요약이 있더라도 꼭 살펴 보도록 하자). ca..
[Python] 클래스(class) #6 callable object 이번 포스트는, 이전 #5 special method에 이어 객체를 함수 처럼 사용 할 수 있는 callable object라는 개념에 대해 살펴 보고, __call__ 스페셜 메소드를 이용해 어떻게 만드는지 알아 볼 것이다. 또한, 객체를 함수 처럼 사용 할 수 있을 때 얻을 수 있는 장점에 대해서도 살펴 보도록 한다. 이번 장은 나중에 나올 클래스 데코레이터나 기타 많은 부분에서 유용하게 사용되므로 주의 깊게 살펴 보도록 하자. 목차 파이썬 클래스 소개 instance vs static dict vs slots property의 활용 special method >> callable object 클래스 데코레이터(class decorator) 상속 추상 클래스와 추상 메소드 __call__ 스페셜 메소..

반응형