Python에 새롭게 추가되는 기능들. SeeAlso PythonTip
Built in functions
- enumerate() : for문돌릴때 i값까지
- isinstance(instance, class)
- object : 최상위객체
- staticmethod / classmethod : 클래스 정의시 따로 호출함
- property(getMethod, setMethod) : 클래스정의시 이걸 만들어놓으면, 값을 읽을때 getMethod, 쓸때 setMethod를 자동으로 호출한다.
- super(C,self) : 자신의 상위클래스 호출
- bool(), True, False
List comprehension
2.0부터 사용된 리스트 내장기능
Toggle line numbers
1 [(x,y) for x in seq1 for y in seq2]
Iterator of file
파일객체도 라인단위의 반복자 지원
Toggle line numbers
1 >>> f = open('readme.txt')
2 >>> for line in f:
3 print line,
Iterator / Generator / GeneratorExpression
See Iterator, Generator, GeneratorExpression, Decorator
내장자료형 서브클래싱
아래 코드는 의미하는 바가 크다. 문자열처리는 이런 방식으로 하는가 싶고, 내장자료형을 이런방식으로 상속받아서 쓰며, repr을 이용 적절하게 Recursion을 써먹는것도 눈여겨볼만하다.
Toggle line numbers
1 class xmldic(dict):
2 def __repr__(self):
3 res = ['\n<dictionary>']
4 for k,v in self.items():
5 res.append('<member>')
6 res.append('<name>%s</name>' % k)
7 res.append('<value>%s</value>' % repr(v))
8 res.append('</member>')
9 res.append('\n</dictionary>')
10 return '\n'.join(res)
11
12 d1 = xmldic({'one':1, 'two':2})
13 d3 = xmldic({'numbers':d1})
14 print d3
source code encoding
2.3부터, Python소스코드의 인코딩 명시. 없으면 디폴트 IsoLatin1
Toggle line numbers
1 #!/usr/bin/env python
2 # -*- coding: UTF-8 -*-
Extended slice
시퀀스자료형에 모두 적용가능
문자열메쏘드 zfill
자릿수를 맞춰야하는 문자열들 앞에 0 붙이기