프로그래밍/Python 29

[develop] 개발 환경 구축하기 - pyenv, virtualenv, autoenv

python 개발 환경을 셋팅 해보자!Mac 기준으로 작성하였습니다. ^^pyenv 설치하기brew update ​ brew install pyenv ​ echo 'eval "$(pyenv init -)"' >> ~/.zshrc #bash shell을 쓰신다면, 아래 처럼 하시면 됩니다. echo 'eval "$(pyenv init -)" >> ~/.bash_profile' ​ # installed python version pyenv version # show python version of available install pyenv install -list pyenv install 3.5.3 python -version # check version pyenv global 3.5.3 #set globa..

Python에서 Module 사용하기

Module이란 뭘까요 ? 그냥 "같은 기능을 하는 함수 또는 클래스를 합쳐 놓은 것"? 이 정도쯤으로 생각하면 될까요?제 생각에는 맞는 것 같습니다. ^-^ 사실 다를게 없네요. 파이썬에서 파일을 추가하는 명령은 import입니다. 대신 확장자를 명시하지 않아도 됩니다.lib.py 내에 존재하는 class A를 생성하기 위해서는 모듈명.(dot) 클래스명() 이러한 구조를 가집니다. 쉽죠? 파일이 조금만 많아져도 모듈로 관리하는 것이 프로젝트시에는 훨씬 빠른 검색?!을 돕습니다. 무조건 기억하세요. "같은 기능의 것을 모은다" 이 것이 OOP의 가장 핵심 개념이라고 생각합니다. 생활코딩 자료입니다.

Python class의 멤버에 관한 이야기 2

Python에 대한 클래스 멤버 이야기 2 출처:생활코딩 여기서 보시다 시피 루비와 유사합니다. 우선 파이썬에서 클래스 변수 선언 방법은 ............... 잘 들으셔야 합니다. 바로 ,,, "클래스 내 / 메소드 밖" 입니다. 즉, count가 선언 되어 있는 곳에서 선언 해주신다면, 클래스 변수가 됩니다. 참 쉽죠??ㅎ 그리고, 루비도 마찬가지로 클래스 변수는 초기화를 해주어야 합니다. 그렇지 않으면, 시작 값이 뭔지 모르기에 컴퓨터가 "뭔 코드냐?"라며 에러를 내 뿜습니다. 그리고 __init__은 파이썬의 생성자라 생각 하시면 쉽습니다. 그리고 메소드에서 빠져서는 안되는 self의 인자! 기억 해둡시다. 파이썬에서는 self 파라미터를 입력 해주어야 합니다.

Python class의 멤버에 관한 이야기 1

Python에서 클래스 멤버에 관한 이야기입니다.출처:생활코딩 루비와는 다르게 파이썬언어는 두가지 형태가 존재 합니다. 클래스 메소드와 static 메소드입니다. 두가지를 사용하려면 루비와는 다르게 메소드 위에 @staticmethod / @classmethod를 지정해주어야 합니다. 그렇게 되면 클래스 멤버로 소속 되는 거죠. 인스턴스 메소드와는 다른 차이점을 가지게 됩니다. 그리고 중요한 팁! 클래스 메소드의 경우 cls 라는 인자를 넣어주셔야 합니다. 그 외는 기타 다른 언어에서 사용 했듯이 클래스 메소드를 사용하시면 됩니다. 사용 예시는 차차 진행하면서 사용하도록 하겠습니다. 보통 공통된 변수(예를 들어 동일한 객체가 공유해야 하는 값들), 공통된 작업을 해야 하는 경우 클래스 메소드로 지정하여 ..

python 에서 상속 이야기

class Class1로 하나의 클래스가 정의 되고 있습니다. 가진 것은 method1 인 함수를 지니고 있네요 ? 그렇지만 4line~8line에 걸친 class2가 가진 것은 method1 , method2를 가지고 있습니다. 사실 밑의 코드를 실행 하면 결과는 같습니다. 그리고 #:주석 밑의 코드의 경우에는 Class3로 괄호 안에 Class1을 품고 있습니다. 품는다? 가진다? 사람은 사람에게 상속을 받고, 상속 하기도 하죠 ? 코드에서는 상속이 돈. 금은 보화를 주는게 아닌 자신이 가진 코드를 줍니다. Class1이 가진것은 method1 이었죠 ? 그럼 Class3는 method1을 가지고 있지 않지만, Class1로 부터 상속을 받아 가지게 됩니다. 즉, Class3는 method2와 그리고..

python에서 객체 지향 이야기( 캡슐화 )

파이썬에서 클래스 작성시 def __init__은 클래스를 객체로 만드는 중요한 함수입니다.꼭! 만드셔야 합니다. 그리고 파이썬의 함수는 self라는 매개변수를 추가 해주어야 합니다. 왜? 인지는 나중에 말씀드리겠지만, 지금은 무조건 추가!만 기억하시면 됩니다. 파이썬의 경우 9번 라인 처럼 c1.value를 통해 클래스 인스턴스 변수에 접근이 가능합니다. 이것은 중요한 차이가 존재 합니다. 왜냐하면 객체 지향 방법론에서는 캡슐화를 보장하는 것이 좋기 때문입니다. 캡슐화는 클래스를 포장하는 것을 말 합니다. 즉, 클래스라는 상자에 변수, 함수가 있더라도 사용자는 직접적인 접근을 허용 하는 건 불필요하다는 사실이죠. 왜냐? 변수에 접근만 하는 함수를 별도로 작성 하기 때문입니다. 그러나 , 파이썬의 경우 ..

CSV 파일을 읽어보자!

승돌즈 프로그래밍 오늘의 주제 CSV 파일을 읽어야 할 일이 생겼습니다. 이유는 과제 도중 게임 AI log 파일이 100개 정도인데 하나 하나 열어 보기엔 너무 힘이 듭니다...심지어 Sum도 해야하기에 파이썬으로 프로그래밍을 해보았습니다. 사실 csv 파일도 아닙니다. 원래 형태는 다른 형태지만 csv 파일로 만드는 프로그램도 만들었습니다.^^추후에 다듬어서 py file로도 제공하겠습니다. CSV 파일 입출력 우선 기본기를 알아 보죠! >>> import csv >>> of = file('test.csv','r') >>> data = csv.reader(of) >>> for item in data: print item ['0', '648', '351'] ['1', '500', '500'] ['2',..

wxPython 좀 더 알아보자.

1. wxPython 이 너석 뭐니...?...? 윈도우 GUI처럼 생겼으나 파이썬으로 동작하고 참... 창 하나 띄우는건 Java Swing이랑 유사합니다. 대체적으로 짧은 코드로 프레임 구성이 가능 하죠...(자바 잘하는 척 : 현실은 개못함) 창을 모니터 가운데로 ! 옮겨 봅시다. - 오잉? 그런 기술이???? 여러분들 프로그램은 가운데가 좋습니다. 그래야 집중을 하죠. 2. Source와 함께 살펴 보죠!어머 촌티 나는 녀석.... 또 등장... 하이라이트 안 쓰고 소스를 보여드립니다. import wx class Frame(wx.Frame):# 엥 ? 파이썬에 클래스가??? 파이썬은 함수형 프로그래밍 개념 + 객체지향 프로그래밍이 가능합니다. def __init__(self, parent, ti..

Python GUI 프로그래밍 시작

1. Python GUI 환경 설치 Python에서 GUI가 된다고???? 예 ,, 생소하더군요...저는 GUI에 능하지 않습니다. Java swing의 경우는 많은 삽질로 인해서 경험을 해보았으며, MFC의 경우 VIew는 도구상자의 어택이 있으므로 패스 하자면, Win32 api의 경우 View단이 까다로웠던 기억이 납니다. 파이썬에서 어떻게 해야 할까??? 우선 라이브러리 설치가 필요로 합니다. WXPython 라이브러리가 필요로 합니다. 예전에는 PyQT를 많이 쓰셨다던데 저는 친구와 작업중인 프로젝트 관련 작업중이라.. 뭐 곧 여기에도 프로그램을 올릴 수 있으면 좋겠네요 ^^ 다운로드 : http://www.wxpython.org/download.php 2. WXPython 설치 설치 캡쳐는 제..