본문 바로가기
반응형

파이썬12

파이썬 메타클래스 쉽고 깊게 이해하기, Python Metaclass A to Z Prerequisite 파이썬 메타클래스를 이해하기전에 먼저 확실하게 구분하고 가야하는 것이 있는데, "객체와 인스턴스의 차이"이다. 우리가 객체 지향 언어를 배울 때, 대개 클래스라는 '틀'부터 객체라는 '실체'가 만들어진 것이라고 배운다. 이때 그 '실체'를 우리는 객체라고도 하고, 인스턴스라고도 하는데, 사실 정확히 따지면 약간의 어감상 차이가 있다. 그리고 그 약간의 차이를 정확하게 인지하고 있어야, 파이썬의 메타클래스를 이해하는데 더욱 도움이 된다. 객체와 인스턴스 클래스로 만든 객체를 인스턴스라고도 한다. 그렇다면 객체와 인스턴스의 차이는 무엇일까? 이렇게 생각해 보자. a = Cookie() 이렇게 만든 a는 객체이다. 그리고 a 객체는 Cookie의 인스턴스이다. 즉, 인스턴스라는 말은 특.. 2020. 3. 16.
파이썬 문자열 조작하기 문자열 바꾸기 >> 'Hello, world!'.replace('world', 'Python') 'Hello, Python!' 문자열 분리하기 >>> 'apple pear grape pineapple orange'.split() ['apple', 'pear', 'grape', 'pineapple', 'orange'] 만약 특정 문자(예: ,)를 기준으로 나누고 싶다면 아래와 같이한다. >>> 'apple, pear, grape, pineapple, orange'.split(', ') ['apple', 'pear', 'grape', 'pineapple', 'orange'] 대소문자 변경 대문자 -> 소문자 >>> 'python'.upper() 'PYTHON' 소문자 -> 대문자 >>> 'PYTHON'.lo.. 2020. 3. 9.
파이썬, 파일 읽고 쓰기 파이썬에서 파일을 읽고 쓸 땐, 기본적으로, 내장 함수인 open을 사용한다. 파일 쓰기 파일 쓰기에는 크게 두 가지로 나누어진다. (1) 기존에 있던 내용을 삭제하고 쓰기, (2) 기존에 있던 내용에 이어서 쓰기. 이 둘은 open 함수의 파라미터로 구분할 수 있다. 1. 기존에 있던 내용을 삭제하고 쓰기 파일을 새로 생성해서 쓰거나, 같은 이름의 파일이 있더라도 기존의 내용을 모두 삭제하고 내용을 새로 쓰고 싶다면, 파일명 다음의 파라미터로 "w" 옵션을 입력한다. 그리고 실제로 내용을 입력할 때는 write 함수를 이용한다. file = open("file_name.txt", "w") file.write("hello world") file.close() 파일에 내용을 다 쓴 후에는 close 함수를.. 2020. 3. 2.
파이썬 버전 관리: pyenv, virtualenv, autoenv pyenv, virtualenv, autoenv 이게 다 뭔데? 프로그래밍을 하다보면, 내가 사용해야하는 언어나 패키지의 여러 버전을 사용해야 될 때가 있다. 예를 들어, 내가 두 개의 프로젝트에 참여하고 있는데, 하나의 프로젝트에서는 Python 2.7을 사용하고 있는데, 다른 프로젝트에서는 Python 3.8을 사용하고 있다면 어떻게 해야할까? 프로그래밍을 할때마다 일일이 Python을 삭제 했다가 버전에 맞는 것을 새로 설치해야할까? 생각만해도 끔찍하다. 스위치를 딸깍 누르는 수준으로 쉽게, 원하는 버전의 언어나 패키지를 썼으면 좋겠다. pyenv, virtualenv, autoenv는 다 그런 목적으로 태어났다. 그러면 세 개의 차이는 뭔데? 위의 예시처럼 Python의 버전을 그때 그때 바꿔주고.. 2020. 2. 27.
반응형