본문 바로가기
반응형

Programming Language/Python14

[파이썬/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.
virtualenv, pipenv 그리고 pyenv virutualenv와 pipenv는, 둘 다 파이썬 패키지 관리 툴로써, 사실상 기능이 거의 동일하다. (심지어, pipenv는 내부적으로 virtualenv를 사용한다.) 다만, pipenv가 virtualenv보다 조금 더 편리한 기능을 제공한다고 보면 된다. 가상환경을 만들고, 그 가상환경을 활성화(activate)시키는 과정이 virtualenv에 비해, pipenv가 더 간결하다. 그리고, pipenv에서는, 파이썬의 requirements.txt와 같이, 적용한 패키지들을 쉽게 재적용할 수 있도록 만들어주는 문서파일(Pipfile)이 자동으로 만들어져서, 별도로 내가 만드는 노력이 없어도 된다. virtualenv virtualenv를 설치한다. $ pip3 install virtualenv.. 2020. 3. 3.
반응형