python/기본
-
Template, Csvpython/기본 2022. 5. 1. 21:19
# template import string s = """\ Hi $name. $contents Have a good day """ t = string.Template(s) c = t.substitute(name='Mike', contents='How are you?') print(c) #################################################################### # csv import csv # windows 의 경우 \r\n 때문에 newline 을 '' 로 설정 with open('test.csv', 'w', newline='') as csv_file: fieldnames = ['Name', 'Count'] writer = csv.DictWriter(cs..
-
Filepython/기본 2022. 5. 1. 20:51
f = open('test.txt', 'w') f.write('test') # 아래도 가능하다. # print('I am print', 'Mike', file=f, sep='#') f.close() with open('test.txt', 'w') as f: f.write('test\n') #################################################################### with open('test.txt', 'r') as f: all = f.read() # f.read(2) # 2 bytes 만 읽어옴 print(all) # with 문 밖에서도 all 참조 가능 !!! # 라인 단위로 읽기 with open('test.txt', 'r') as f: while T..
-
Classpython/기본 2022. 5. 1. 19:52
# 클래스 생성자 / 소멸자 class Person(object): def __init__(self, name): self.name = name def __del__(self): print('good bye') def say(self): print('hello') self.run(2) def run(self, num): print('run' * num) person = Person('Mike') person.say() # del 을 사용하면 강제로 소멸자가 호출되게 할 수 있다. del person #################################################################### # 클래스 상속 class Car(object): def __init__(self, ..
-
__name__ 과 __main__python/기본 2022. 5. 1. 18:29
아래와 같이 config.py, app.py 파일이 있을 때 config.py print("config.py:", __name__) app.py import config print("app.py", __name__) 1. config.py 를 실행한 결과 config.py: __main__ 2. app.py 를 실행한 결과 config.py: config app.py __main__ app.py 에 config.py 를 import 해 사용할 경우 config.py 의 __name__ 이 __main__ 이 아니라 config 가 된다 !!! 그래서 config 를 import 하더라도 print 코드가 실행되지 않게 하기위해 아래처럼 작성한다. config.py if __name__ == '__main..
-
Librarypython/기본 2022. 5. 1. 17:22
Standard Library https://docs.python.org/3/library/ defaultdict 예제 s = "abcdadbcaad" d = {} for c in s: if c not in d: d[c] = 0 else: d[c] += 1 print(d) # {'a': 4, 'b': 2, 'c': 2, 'd': 3} d = {} for c in s: d.setdefault(c, 0) d[c] += 1 print(d) # {'a': 4, 'b': 2, 'c': 2, 'd': 3} #################################################################### from collections import defaultdict d = defaultdi..
-
Built-in Functionspython/기본 2022. 4. 30. 22:15
https://docs.python.org/3/library/functions.html sorted 예제 ranking = { 'A': 100, 'B': 85, 'C': 95 } print(sorted(ranking, key=ranking.get, reverse=True)) print(sorted(ranking, key=lambda k: ranking[k], reverse=True)) # k 값으로 'A', 'B', 'C' # ['A', 'C', 'B'] any, all 예제 b = any([0, '', None]) # False b = any([0, '', None, 1]) # True b = all([0, 1, 2]) # False b = all([True, True]) # True
-
setup.py 로 패키지 만들기python/기본 2022. 4. 30. 21:51
setup.py 생성하기 PyCharm 의 Tools > Create setup.py 메뉴로 setup.py 만들기 (혹은 직접 파일을 생성할 수도 있다.) from setuptools import setup setup( name='my_pkg', version='1.0', packages=['my_pkg', 'my_pkg.util_a', 'my_pkg.util_b'], url='http://windbird123.github.com', license='free', author='windbird123', author_email='unknown@gmail.com', description='util module package' ) sdist 로 배포 만들기 PyCharm 의 Tools > Run setup.p..
-
Module Importpython/기본 2022. 4. 30. 20:06
문제 my_project/ ├── main.py └── my_pkg ├── __init__.py ├── util_a │ ├── __init__.py │ └── a.py └── util_b ├── __init__.py └── b.py python 프로젝트가 위와 같이 구성되어 있을 때, 디렉토리 하위에 __init__.py 파일이 있으면 모듈로 인식한다. b.py 에서 a.py 를 참조하는 예제를 만들어 보자 코드 a.py def a_echo(): print('AAA') b.py # from ..util_a import a from my_pkg.util_a import a def b_echo(): a.a_echo() print('BBB') from ..util_a import a 처럼 사용할 수도 있지만 ..