코딩 연습/코딩배우기
-
[python] 리스트 컴프리헨션(List Comprehension) & 이터러블(iterable) 객체코딩 연습/코딩배우기 2020. 8. 21. 14:00
■ 리스트 컴프리헨션(List Comprehension) - 리스트 내에 계산식, for 문, if 문 등을 삽입하여 리스트를 생성하는 것 - 이 표현식은 list, set, dict과 같은 자료형, 그리고 소괄호를 이용한 generator 객체 생성에도 이용 가능함 # 짝수 구하기 even_num = [n for n in range(1, 11) if not n % 2] print(even_num) # [2, 4, 6, 8, 10] # 3의 배수 구하기 three_multi = [n for n in range(1, 11) if not n % 3] print(three_multi) # [3, 6, 9] # 이중 for문 (주사위 2개로 나올 수 있는 경우의 수) dice = [str(i) + ':' + s..
-
[python] n부터 시작하여 m까지 연속하는 숫자의 합은?코딩 연습/코딩배우기 2020. 8. 20. 10:24
■ 입력한 2개의 숫자 사이의 정수들을 모두 합산한 값을 보여주는 간단한 함수 def sum_nm(arg1, arg2): sum = 0 for number in range(arg1, arg2+1): sum = sum + number print('\n{}(으)로 시작하고, {}(으)로 끝나는 정수의 합은 {} 이다.\n'.format(\ arg1, arg2, sum)) return sum def main(): first_num1 = int(input('시작 숫자(정수)는? ')) first_num2 = int(input('끝 숫자(정수)는? ')) sum_nm(first_num1,first_num2) main() [실행 결과] 시작 숫자(정수)는? 2 끝 숫자(정수)는? 11 2(으)로 시작하고, 11(으..
-
[python] 클래스(class)와 객체(object) 이해하기코딩 연습/코딩배우기 2020. 8. 19. 14:24
파이썬 클래스(class)와 객체(object) 이해하기 ■ 함수로 아빠 나이를 관리하는 간단한 프로그램을 작성하면, # Father Age 관리 프로그램 fa_age = 39 # 전역변수 def up_fa_age(): global fa_age # 전역변수 사용 선언 fa_age += 1 def get_fa_age(): return fa_age def main(): print('2020년 아빠 나이는 {}세 이고,'.format(get_fa_age())) up_fa_age() print('내년에는 {}세 되네!'.format(get_fa_age())) main() # =========================== [실행 결과] 2020년 아빠 나이는 39세 이고, 내년에는 40세 되네! 상기 함수 프..
-
[python] 객체처럼 다뤄지는 함수, 그리고 이름 없는 함수, 람다(lambda)코딩 연습/코딩배우기 2020. 8. 19. 00:44
■ 파이썬은 모든 것을 객체로 처리한다. def say(): print('hello~') print(type(say)) # 함수도 function 이라는 클래스 print(type(10)) # # 파이썬에서는 정수도 실수도 객체이고, 함수도 객체이다. def caller(f): # 함수가 객체이기 때문에 caller 함수에 매개변수로 전달 f() # caller 함수 호출 시, 매개변수인 함수 say 실행 caller(say) # hello~ # 함수 내 함수를 만들어서 반환 def func(n): def exp(x): # 함수 내에서 정의된 함수 return x ** n return exp # 함수를 반환 f1 = func(3) # f1 == exp(x) res = f1(5) # exp(5)와 동일 p..
-
[python] 변경 가능한 객체(mutable), 변경 불가능한 객체(immutable) - #2코딩 연습/코딩배우기 2020. 8. 15. 17:22
# 리스트에 대해 sort() 함수 실행 시 원본 변경 여부 def list_sort(r): r.sort() # 원본 리스트를 참조변수 r에 대입한 것과 동일 print('r :', r) print(id(lst1), id(r), id(lst1)==id(r), sep=' : ') # 주소값 동일 lst1 = [4, 2, 6, 12, 9] list_sort(lst1) print('lst1 : ', lst1) # 원본 리스트값 변경됨 print('\n# 원본 리스트값 변경 안되게 하려면,') def list_sort2(r): r = list(r) # 참조변수 r에 새 리스트 생성 후 다시 할당, r.copy() 또는 r = r[:] 도 가능 r.sort() print('r :', r) # 새로운 리스트 sor..
-
[Python] 파이썬 list, tuple, dict, set의 스페셜 메서드 정리코딩 연습/코딩배우기 2020. 8. 12. 19:21
■ 파이썬의 리스트(list), 튜플(tuple), 딕셔너리(dict), 세트(set)의 스페셜 메서드 정리※ 각 타입별 dir() 결과 정리스페셜메서드listtupledictset__add__LT __and__ S__class__LTDS__contains__LTDS__delattr__LTDS__delitem__L D __dir__LTDS__doc__LTDS__eq__LTDS__format__LTDS__ge__LTDS__getattribute__LTDS__getitem__LTD __getnewargs__ T __gt__LTDS__hash__LTDS__iadd__L __iand__ S__imul__L __init__LTDS__init_subclass__LTDS__ior__ S__isu..
-
[python] 변경 가능한 객체(mutable), 변경 불가능한 객체(immutable) - #1코딩 연습/코딩배우기 2020. 8. 12. 11:03
변경 가능한 객체(mutable)인 리스트와 변경 불가능한 객체(immutable)인 튜플의 차이점 # 같은 변수일 경우, 리스트와 튜플의 차이lst = [1, 2]print('lst:',id(lst))lst += [3, 4]print('lst:',id(lst)) # 참조(주소)값이 같다tu = (1, 2)print('tu:',id(tu))tu += (3, 4)print('tu:',id(tu)) # 참조(주소)값이 다름 (새로운 튜플 생성)print('\n====== 리스트 ============')# 원본 값을 변경시킴(변경 가능한 객체(리스트))def add_lst(x, y): x += y print('id(x) == id(x + y) :', id(x) == id(x + y)) # Fal..