[Python]쓰면서 각종 팁 정리. SeeAlso BioPythonTip, PythonNewFunction
string formatting
1 >>> template = "My name is %s and I have %i won"
2 >>> print template
3 My name is %s and I have %i won
4 >>> template % ("yong", 1000)
5 'My name is yong and I have 1000 won'
6 >>>
7 >>> template = "My name is %(name)s and I have %(money)i won"
8 >>> print template
9 My name is %(name)s and I have %(money)i won
10 >>> template % {'name':'yong','money':1000}
11 'My name is yong and I have 1000 won'
12 >>>
13 >>> name = 'yong'
14 >>> money = 1000
15 >>> template % vars()
16 'My name is yong and I have 1000 won'
17 >>>
항목갯수에 따라 달라지는 string formatting
HTML따위 생성시 list comprehension 이용
IF문대용으로 쓰는 논리연산
설마 그런 코드를 진짜로 사용하시려는 것은 아니시죠? 가능하다는 것과 실제로 사용하는 것에는 큰 차이가 있다고 생각하는데, 위의 코드가 바로 그런 경우가 아닐까 합니다. 저라면 위와 같이 코드 작성하는 사람은 절대 고용하지 않을 듯 하군요. 한가지 더 보태자면, 위와 같은 함수보다는 True, False 만을 리턴하는 isPositive나 isNegative가 (경험상) 더 유용하리라고 생각합니다. checkSign(1)이 'positive'를 리턴한다면 positive인지 알려면 또한번 비교해야 하니까요. 짧은 코드지만 작성한 사람에 대해 여러가지 알아낼 수 있다는 것을 보여주는 코드네요. --Anonymous
논리연산을 if문 처럼 쓸수있다는 것을 보인 예일 뿐입니다. ; --[yong27], 2004-11-17 (->) [Factorial.py] 짧은 코멘트지만 작성한 사람에 대해 여러가지 알아낼 수 있다는 것을 보여주는 코멘트네요. --[windist]
Multidimensional list
SeeAlso [http://bbs.python.or.kr/viewtopic.php?t=21226 리스트 2차원배열]
사전의 setdefault