본문 바로가기
반응형

Python12

[파이썬/Python] List 형태의 String을 List로. List 형태의 Dict를 Dict로. [List 형태의 String -> List] List 형태의 String s = "{'muffin' : 'lolz', 'foo' : 'kitty'}" List로 변환 import ast ast.literal_eval("{'muffin' : 'lolz', 'foo' : 'kitty'}") [Dict 형태의 String -> Dict] Dict 형태의 String u'[ "A","B","C" , " D"]' Dict로 변환 import ast ast.literal_eval(u'[ "A","B","C" , " D"]') 2020. 5. 21.
파이썬 메타클래스 쉽고 깊게 이해하기, 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.
파이썬 버전 관리: pyenv, virtualenv, autoenv pyenv, virtualenv, autoenv 이게 다 뭔데? 프로그래밍을 하다보면, 내가 사용해야하는 언어나 패키지의 여러 버전을 사용해야 될 때가 있다. 예를 들어, 내가 두 개의 프로젝트에 참여하고 있는데, 하나의 프로젝트에서는 Python 2.7을 사용하고 있는데, 다른 프로젝트에서는 Python 3.8을 사용하고 있다면 어떻게 해야할까? 프로그래밍을 할때마다 일일이 Python을 삭제 했다가 버전에 맞는 것을 새로 설치해야할까? 생각만해도 끔찍하다. 스위치를 딸깍 누르는 수준으로 쉽게, 원하는 버전의 언어나 패키지를 썼으면 좋겠다. pyenv, virtualenv, autoenv는 다 그런 목적으로 태어났다. 그러면 세 개의 차이는 뭔데? 위의 예시처럼 Python의 버전을 그때 그때 바꿔주고.. 2020. 2. 27.
반응형