Python
-
File ObjectsPython 2020. 8. 22. 13:52
with open('path_to_file', 'r') as f: # Do something with f 위 사용법 이외의 사용법외의 다른 유용한 method, attribute를 찾아봤다 1-1. 파일 내용 가져오기: read() with open('test.txt', 'r') as f: f_contents = f.read() print(f_contents) 1-2. 글자수만큼 가져오기: read(num_characters) with open('test.txt', 'r') as f: size_to_read = 10 f_contents = f.read(size_to_read) print(f_contents) 1-3. 파일 시작 지점으로 돌아오기: seek(0) with open('test.txt', 'r..
-
argparse 모듈로 커맨드라인 인자 가져오기Python 2020. 5. 28. 10:12
파이썬에서 커맨드라인 인자를 가져올때, 그동안 Copy&Paste 만 하고 문법을 제대로 공부하지 않았다. 그래서 이번에 argparse 모듈로 커맨드라인 인자를 파싱하는 방법을 알아봤다. 파이썬 공식 페이지에 Argparse Tutorial이 있어서 이걸 읽어봤다. 먼저 아래와 같은 간단한 샘플 코드 및 실행 결과가 나온다. import argparse parser = argparse.ArgumentParser() parser.add_argument("echo") args = parser.parse_args() print(args.echo) $ python3 prog.py usage: prog.py [-h] echo prog.py: error: the following arguments are requ..
-
(A,) <-- 콤마는 왜쓰는걸까? (1D Tuple)Python 2020. 5. 23. 17:19
파이토치로 코딩을 할 때, 가끔 이런 코드와 마주친다. torchvision.transforms.Normalize((0.1307,), (0.3081,)) Normalize 클래스의 인자로 두개의 숫자를 넣는것은 이해가 되는데, 괄호 안에 콤마(',')를 넣는것은 무슨 의미일까? 그냥 편하게 이런식으로 적으면 안되는걸까? torchvision.transforms.Normalize(0.1307, 0.3081) 구글링을 해보니 파이썬 문법중 튜플이라는 타입이 있는데, 원소가 1개인 튜플을 정의하려면 괄호안에 콤마(',') 를 하나 적어야 한다고 한다. 그냥 괄호만 적으면 튜플이 아닌 숫자 타입으로 인식되기 때문. Normalize 클래스는 다차원 텐서를 지원하기 위해서, 튜플 타입으로 ave, std 값을 입..
-
super()Python 2020. 5. 22. 20:35
미리 정의된 클래스를 상속받아 새로운 클래스를 만들때, super()를 자주 보게된다. class Parent(object) { def __init(self)__: print('I am parent') } class Child(Parent) { def __init(self)__: super(Parent, self) print('I am child') } 보통 이런식으로 사용되는것 같은데, 왜 심플한 파이썬에서 이렇게 명시적으로 부모의 생성자를 불러줘야 하는걸까? 정확히 super()는 어떤 경우에 사용하는 걸까? 파이썬 공식 문서를 조금 살펴보기로 했다. *참조: https://docs.python.org/3/library/functions.html#super Built-in Functions — Pyt..