본문 바로가기
반응형

개발220

[기술의역사] 파이썬(Python) 파이썬(Python) "인생은 너무짧다. 그래서 파이썬이 필요하다."파이썬은 짧은 코드에서 나오는 효율성 뿐만아니라 들여쓰기로 만들어지는 자동 정렬,어떤 분야든 가리지 않고 닥치는대로 사용할 수있는 범용성 등 많은 무기를 가지고 있다.이 때문인지는 몰라도 2017년 6월 기준 프로그래밍 점유율 수준은 당당하게 4위를 차지하고 있다. (파이썬의 창시자 - 귀도 반 로썸) 파이썬이 최근에 주목받고 있다고 생각할지 모르겠지만 발표시기는 1991년,웹 서비스가 일반인들에게 널리 상용화되기 전에 나온 언어이다.언어를 만든이는 귀도 반 로썸(Guido van Rossom)으로 1989년 크리스마스 주에 연구실이 닫혀있어 심심한 김에 만들었다고 한다.리누스나 귀도 둘다 심심한 김에 걸작을 만들었다는데 있어서, 위대한.. 2017. 6. 9.
[파이썬&루비] 믹스인(Mixin) 믹스인(Mixin) 앞서 파이썬에서 다중 상속에 대해 살펴보았다.다중 상속에서 루비에 대해 다루지 않은 이유는 루비는 다중상속을 지원하지 않기때문이다.대신 믹스인이라는 세련된 방법을 사용한다. 믹스인이라는 것은 객체와 모듈의 관계이다. 1234567891011121314151617# rubymodule M1 def m1_m p "m1_m" endendmodule M2 def m2_m p "m2_m" endendclass C include M1, M2 endc = C.new()c.m1_m()c.m2_m()cs 위의 코드를 찬찬히 읽어보면 단번에 어떤 부분이 믹스인인지 알수 있을 것이다. 바로 include라는 부분이다.먼저 모듈 M1과 M2가 선언되며, 클래스 C가 이 모듈들을 include한다.모든 과정.. 2017. 6. 2.
[파이썬&루비] 다중상속(Multiplex Inheritance) 다중상속(Multiplex Inheritance) 기존에 부모 객체로 부터 메소드를 받을 수 있는 것을 상속이라고 하며,여러개의 부모객체로 부터 상속을 받는 것을 다중 상속이라고 한다.객체 지향을 하는 언어들이 모두 다중 상속을 지원 하는 것은 아니며, 대부분은 지원하지 않는다.이유는 죽음의 다이아몬드라는 다중상속의 크나큰 단점때문인데,이 때문인지 몰라도 루비에서는 다중상속을 지원하지 않고 파이썬에서는 지원한다.대신 루비에서는 Mixin이라는 기능을 이용해서 비슷한 목적을 이룰수 있다.따라서 이번에는 파이썬 코드만 보도록 하겠다. 12345678910111213141516171819202122# pythonclass C1(): def c1_m(self): print("c1_m") def m(self): .. 2017. 6. 2.
[파이썬&루비] 객체와 모듈 객체와 모듈 123456789# test.pyimport libobj = lib.A()print(obj.a()) #lib.pyclass A: def a(self): return 'a' cs 이번에는 객체를 모듈화 하는 것에 대해 알아보도록 한다.먼저 클래스에 대한 모듈 파일을 만든다.이렇게 만들어진 모듈 파일을 사용할 파일에서 import 시켜야한다.그리고 나서 모듈 내부의 객체 이름으로 인스턴스를 만들어 준다.결과적으로, 해당 객체 인스턴스가 생성되고, 내부 메소드를 사용할 수 있게된다. 12345678910111213# test.rbrequire_relative 'lib' obj = Lib::A.new()p obj.a() #lib.rbmodule Lib class A def a() return 'a'.. 2017. 6. 2.
반응형