코딩 연습/코딩배우기
-
[python] 파이썬 재귀함수, 람다 함수 연습코딩 연습/코딩배우기 2020. 9. 21. 23:49
■ 재귀 함수 def recursive_ex1(n): if n == 1: return 1 else: f = n * recursive_ex1(n - 1) print(f, end=' ') return f recursive_ex1(5) # 2 6 24 120 ''' n = 5f = 5 * recursive_ex1(4); print(f, end=' '); return f n = 4f = 4 * recursive_ex1(3); print(f, end=' '); return f n = 3f = 3 * recursive_ex1(2); print(f, end=' '); return f n = 2f = 2 * recursive_ex1(1); print(f, end=' '); return f n = 1if n == 1: ..
-
[python] 파이썬 datetime(), time(), localtime()코딩 연습/코딩배우기 2020. 9. 20. 23:35
파이썬 시간 관련 모듈 파이썬 datetime(), time(), localtime() from datetime import datetime from time import time, localtime now = datetime.now() print(now) # 2020-09-20 23:29:10.265586 print(now.year) # 2020 print(now.month) # 9 print(now.day) # 20 ymd = datetime(1970, 1, 1, 0, 0, 1) print(ymd) # 1970-01-01 00:00:01 print(ymd.strftime('%A')) # Thursday period = now - ymd print(period) # 18525 days, 23:45:02..
-
[python] 파이썬 함수의 위치 인자, 키워드 인자 언패킹코딩 연습/코딩배우기 2020. 9. 19. 20:21
■ 파이썬의 함수 인자(함수를 호출할 때 함수로 전달되는 값)에는 위치 인자 (positional argument)와 키워드 인자 (keyword argument) 인자가 있다. 위치 인자 (positional argument)들은 인자 중 처음에 나오거나 이터러블의 앞에 '*' 기호를 붙여 전달할 수 있는 인자를 말하고, 키워드 인자 (keyword argument)는 함수 호출 때 식별자가 앞에 붙은 인자 (예를 들어, name= ) 또는 '**' 기호를 앞에 붙인 딕셔너리로 전달되는 인자를 말한다. def func(st): return st p = [1, 3, 5] print(func(p)) # [1, 3, 5] print(func([1, 3, 5])) # [1, 3, 5] #print(func(1..
-
[python] 파이썬의 변수, 객체, 그리고 참조 주소코딩 연습/코딩배우기 2020. 9. 19. 19:49
■ 파이썬에서 모든 자료(type)는 객체이기 때문에 변수에 객체를 대입하면 특정 메모리 주소를 할당받게 되고, 그 변수를 다른 변수에 대입하면 같은 객체 주소를 참조하게 된다. ■ 파이썬의 기본 자료형 중 int, float와 수정불가(immutable)한 객체인 str, tuple 등은 그 변수의 대입(할당) 값을 수정하면 다른 주소를 참조하게 되어 같은 변수라고 볼 수 없지만, 수정가능(mutable)한 객체는 값을 수정해도 참조 주소를 유지한다. a = 10 print(id(a)) # 140729182426208 b = a print(id(b)) # 140729182426208 print(a is b) # True a = 20 print(id(a)) # 140729182426528 --> 참조 주..
-
[python] 파이썬의 진수 변환(2진수, 8진수, 10진수, 16진수)코딩 연습/코딩배우기 2020. 9. 18. 19:29
■ 파이썬에서 10진수를 다른 진수의 문자열로 변환할 경우, 파이썬의 내장 함수 bin(), oct(), hex()를 사용하며, 역으로, 다른 진수의 문자열을 10진수 숫자형으로 변환할 때는 int()를 사용한다. print(bin(10)) # 0b1010 print(oct(10)) # 0o12 print(hex(10)) # 0xa print(int('0b1010', 2)) # 10 print(int('0o12', 8)) # 10 print(int('0xa', 16)) # 10 ■ format() 내장 함수를 이용하는 방법(접두어 포함 여부를 선택할 수 있음) # 진수(2/8/10/16) 관련 함수 사용 for i in range(16): print('(10진수:{0:2d}) (2진수:{1:>6s}) (..
-
[python] 파이썬 스태틱(static) 메서드와 클래스(class) 메서드코딩 연습/코딩배우기 2020. 9. 17. 19:54
■ 클래스의 인스턴스(객체)별로 존재하는 변수를 인스턴스 변수라고 하며, 인스턴스(객체)에 속하지 않고 클래스에 속한 변수를 클래스 변수라고 한다. class Simple: cv = 20 # 클래스 변수 def __init__(self): self.iv = 10 # 인스턴스 변수, 객체별로 존재 s = Simple() print(s.iv) # 10 / 인스턴스 변수는 객체를 통해 접근함 #print(Simple.iv) # AttributeError: type object 'Simple' has no attribute 'iv' # 클래스 변수는 클래스 이름으로 접근 가능 print(Simple.cv) # 20 # 객체를 통해서도 클래스 변수에 접근 가능 print(s.cv) # 20 # 접근하는 변수가 객..
-
[python] 파이썬 데코레이터 (Decorator)코딩 연습/코딩배우기 2020. 9. 16. 14:02
■ 파이썬 데코레이터 (Decorator)는 꾸며주는(덧붙여주는) 역할을 하는 함수 또는 클래스로써 클러저와의 차이점은 함수를 다른 함수의 인자로 전달한다는 점이다. 즉, 데코레이터 함수가 인자로 전달된 함수를 기능이 추가된 새로운 함수로 만들고 이 함수를 반환한다. def smile(): print('^_^') def confused(): print('@_@') # 위 함수들의 결과를 'emoticon!'이라는 글이 위, 아래에 위치하도록 꾸며줄 수 있다. def deco(func): # 데코레이터 함수 def wrap_func(): print('emoticon!') func() print('emoticon!') return wrap_func smile_deco = deco(smile) smile_de..
-
[python] 파이썬 중첩함수(Nested Function)와 클로저(Closure)코딩 연습/코딩배우기 2020. 9. 15. 19:11
■ 클로저(Closure)는 함수를 만들어서 반환하는 함수 - 파이썬의 함수도 개체이기 때문에 가능 def maker1(m): def inner(): # 함수 안에 정의된 함수(nested 함수) print('closure ' * m) return inner() # nested 함수 실행 후 반환 f1 = maker1(2) # closure closure print(f1) # None def maker2(m): def inner(): print('closure ' * m) return inner # nested 함수 반환 f2 = maker2(3) # print 함수 실행 X f2() # closure closure closure --> print('clouser ' * m) 실행, m의 값 참조 pri..