본문 바로가기

Python/Python

Python - 문자를 ASCII 코드로, ASCII 코드를 문자로 ord(문자) : 문자의 ASCII 코드를 반환한다.chr(숫자) : 숫자에 대응하는 문자를 반환한다. ord("A") #결과값 65 chr(65) #결과값 A #참고로 #A 는 chr(65) #Z 는 chr(90) #a 는 chr(97) #z 는 chr(122) 더보기
Python - 파라미터 앞에 *, ** 의 의미? (*args, **kwargs) 참고 : http://stackoverflow.com/questions/3394835/args-and-kwargs 다른사람들이 작성한 python 코드를 보다보면 *args, **kwargs 를 심심치 않게 본다. 그냥 막연하게 "어떤 파라미터를 몇개를 받을지 모르는 경우 사용한다" 라고 알고 있었지만 자세히 설명한 예 가 있어서 소개한다. *args - 파라미터를 몇개를 받을지 모르는 경우 사용한다. args 는 튜플 형태로 전달된다. 예) def print_param(*args): print args for p in args: print p print_param('a', 'b', 'c', 'd') #('a', 'b', 'c', 'd') #a #b #c #d **kwargs - 파라미터 명을 같이 보낼.. 더보기
Python - filter() 공식 문서 : http://docs.python.org/2/library/functions.html#filter 어떤 배열(리스트, 튜플)을 가지고 조건을 걸어서 새로운 배열을 생성해 낸다. 사용법 filter(function, iterable) 사용 예 a = [1, 2, 3, 4, 5, 6, 7, 8] #3 보다 큰 값들만 뽑아 보자 filter(lambda x : x > 3, a) #[4, 5, 6, 7, 8] 더보기
Python - map() 공식 문서 : http://docs.python.org/2/library/functions.html#map map 함수는 배열(리스트나 튜플)을 이용해 새로운 리스트를 만들어 낸다. map(function, iterable, ...) 형태로 사용한다. 사용 예 a = [1, 2, 3, 4, 5] map(lambda x: x * 2, a) #[2, 4, 6, 8, 10] b = (10, 20, 30, 40, 50, 60) map(lambda x: x ** 2, b) #[100, 400, 900, 1600, 2500, 3600] c = (100, 200, 300, 400, 500) map(lambda a, b: a + b, a, c) #[101, 202, 303, 404, 505] 더보기
Python - lambda() 공식 문서 : http://docs.python.org/2/reference/expressions.html#lambda lambda는 이름없는 한줄짜리 함수를 만들때 사용된다. lambda arguments : expression 이런식으로 사용되는데 def XXX(arguments): return expression 과 같은 형태이다. 사용 예 get_max_and_double = lambda a, b: max(a, b) * 2 #get_max_and_double 이라는 변수에는 max(a, b) * 2 값을 반환하는 기능이 저장되었다. get_max_and_double(2, 3) #6 숫자2개를 입력받아서 둘중 큰수의 2배를 하는 함수를 만들었다. python에서는 함수 자체도 변수에 담을 수 있기 .. 더보기
Python - zip() 공식 문서 : http://docs.python.org/2/library/functions.html#zip python 에서 zip 함수는 두개 이상의 리스트나 튜플을 하나로 합칠때 사용한다. zip([iterable, ...]) 형식으로 사용한다. 사용 예 a = [1, 2, 3, 4, 5] b = ["Jan", "Feb", "Mar"] zip(a, b) # [(1, 'Jan'), (2, 'Feb'), (3, 'Mar')] c = (31, 28, 31) zip(a, b, c) #[(1, 'Jan', 31), (2, 'Feb', 28), (3, 'Mar', 31)] ※ 합치려는 배열이 서로 사이즈가 다른경우 둘중 작은쪽 사이즈를 따라간다. 더보기
Python - 수준 있는 디자인 패턴 (Advanced Design Patterns in Python) 원문 : http://pypix.com/python/advanced-data-structures/ List 에 대한 이해 다양한 숫자가 저장된 list가 있고 이 list 에서 0보다 큰 수의 제곱값을 가지는 새로운 list를 만들려고 할때 아래와 같이 코딩하곤 한다. num = [1, 4, -5, 10, -7, 2, 3, -1] filtered_and_squared = [] for number in num: if number > 0: filtered_and_squared.append(number ** 2) print filtered_and_squared # [1, 16, 100, 4, 9] 4, 5 행을 보면 for, if 문이 중첩되어 사용된다. 이 부부을 filter, lamda, map을 사용하여.. 더보기
Python 어렵게 배우기 http://learnpythonthehardway.org/book/ 관련해서 포스팅을 해보자... (시간이..;;;) 더보기