본문 바로가기

Python5

Python multiple inheritance with diamond hierarchy super를 사용해 multiple inheritance를 구현하다 보면, 다른 언어와는 다른 특성을 발견하게 됩니다. 예제와 그 실행 결과를 보시죠. class Mixin(object): def create(self, str): print str + ".t" class MixinA(Mixin): def create(self, str): super(MixinA, self).create(str+".a") #Mixin.create(self, str) class MixinB(Mixin): def create(self, str): super(MixinB, self).create(str+".b") #Mixin.create(self, str) class Aggregate(MixinB, MixinA): def __i.. 2014. 12. 11.
Coursera 무료 강의 소개 파이썬도 공부하고, 컴퓨터 프로그래밍의 기본기를 배울 수 있게 하는 괜찮은 강의가 있어서 소개합니다. 프로그래밍 개론 격의 강의인데, 정작 OOP 개념을 잘 모르면 강의를 따라가기가 만만치 않습니다. 제목은 "Principles of Computing" 입니다. https://www.coursera.org/course/principlescomputing 이런 분들께 추천합니다. 1. 파이썬 문법은 대충 알고 있는 분 (완벽하게는 몰라도 됨) 2. 프로그래밍 개론 수업을 다시 한번 들어보고 싶은 분3. 외국 대학에서 주관하는 온라인 개론 수업이 어떻게 진행되는지 알고 싶은 분4. 프로그래밍과 관련된 여러 개념을 기본부터 다시 배우고 싶은 분5. 영어 좀 되시는 분 이 중 1번과 5번이 안 되면 시작부터 무.. 2014. 6. 16.
파이썬(Python)을 배워야 할 다섯가지 이유 1. 다양한 기능을 갖춘 언어가 필요하다면 "실용주의 프로그래머(Pragmatic Programmer)"라는 책을 보면 일년에 하나 정도의 새 언어를 배우라는 조언이 있어요. Peter Norvig라는 사람이 쓴 "Teach Yourself Programming in Ten Years"라는 에세이를 봐도, 적어도 여섯 개의 "종류가 서로 다른" 언어를 10년간 배우라는 조언이 있지요. 뒤집어 이야기하면, 세상에는 여섯 가지 부류의 언어가 있다는 이야긴데요. 대충 정리해보면 다음과 같습니다. (1) 클래스 추상화(class abstraction)를 제공하는 언어 (2) 함수형 추상화(functional abstraction)를 제공하는 언어 (3) 문법 추상화(syntactic abstraction)을 지.. 2014. 1. 1.
[Python] 신속하게 소수 리스트를 구하는 방법 이 방법은 http://stackoverflow.com/questions/2068372/fastest-way-to-list-all-primes-below-n-in-python에 공개된 방법입니다. 아래에는 결과만 보여드립니다. import itertools def erat2( ): D = { } yield 2 for q in itertools.islice(itertools.count(3), 0, None, 2): p = D.pop(q, None) if p is None: D[q*q] = q yield q else: x = p + q while x in D or not (x&1): x += p D[x] = p 이 함수를 실행하는 함수를 다음과 같이 정의합니다. def get_primes_erat(n): r.. 2013. 9. 30.