파이썬 API 둘러보기

입출력

print(), str(), repr(), format(), open()

print(*objects, sep=' ', end='\n')

>>> print('abc', end='**'); print('def') 
abc**def

>>> lst = ['abc', 'def', 'hij']

>>> print(*lst, sep='\n')
abc
def
hij

 

str() -> __str__(), repr() -> __repr__()

print(object) -> object.__str__(), 없으면 object.__repr__()

class Foo():
    def __repr__(self):
        return 'Foo.__repr__() is called'

    def __str__(self):
        return 'Foo.__str__() is called'


print(Foo())

결과:

Foo.__str__() is called

 

 __repr__()출력이 아니라 객체를 다시 생성하는 용도다(점프 투 파이썬).

틀린 말이지만, repr은 representation이 아니라 reproduce의 약자라고 기억하면 편하겠다.

>>> a = datetime.datetime(2017, 9, 27)
>>> b = repr(a)
>>> eval(b)
datetime.datetime(2017, 9, 27, 0, 0)

 

format()

>>> format(1, '03d')
'001'

>>> '{} + {} = {}'.format(1,2,3)
'1 + 2 = 3'

format() 만으로는 잘 쓰이지 않고, string.format()은 쓰는 방법이 아주 많다. 참고: 점프 투 파이썬

"str % tuple" 식은 old style 이라고 부르고 있어서 쓰기 꺼려진다.

 

Formated string literals 

javascript? PHP? 에서 비슷하게 썼던 거 같다. 

기본 사용법:

>>> animals = 'eels'
>>> print(f'My hovercraft is full of {animals}.')
My hovercraft is full of eels.

 

open()

디폴트 모드는 'r'이다. read 'r', write 'w', append 'a', readwrite 'r+'

대개 with와 함께 쓰인다.

with open(file, mode='r') as f

    f.read() #f.readline()

 

댓글

댓글 본문
작성자
비밀번호
버전 관리
장과장02
현재 버전
선택 버전
graphittie 자세히 보기