본문 바로가기

BASIC50

반복문으로 리스트 만들기 이번에는 for 반복문과 append를 활용하여 리스트를 만드는 방법을 알아보겠습니다. for 반복문으로 1차원 리스트 만들기 list_create.py a = [] # 빈 리스트 생성 for i in range(10): a.append(0) # append로 요소 추가 print(a) 실행 결과 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] for 반복문으로 2차원 리스트 만들기 two_dimensional_list_create.py a = [] # 빈 리스트 생성 for i in range(3): line = [] # 안쪽 리스트로 사용할 빈 리스트 생성 for j in range(2): line.append(0) # 안쪽 리스트에 0 추가 a.append(line) # 전체 리스트에 안쪽 .. 2023. 11. 24.
2차원 리스트 2차원 리스트 가로×세로 형태로 이루어져 있으며 행(row)과 열(column) 모두 0부터 시작합니다. 1. 2차원 리스트를 만들고 요소에 접근하기 2차원 리스트는 리스트 안에 리스트를 넣어서 만들 수 있으며 안쪽의 각 리스트는 ,(콤마)로 구분합니다. 리스트 = [[값, 값], [값, 값], [값, 값]] >>> a = [[10, 20], [30, 40], [50, 60]] >>> a [[10, 20], [30, 40], [50, 60]] a = [[10, 20], [30, 40], [50, 60] ] 2. 2차원 리스트의 요소에 접근하기 2차원 리스트의 요소에 접근하거나 값을 할당할 때는 리스트 뒤에 [ ](대괄호)를 두 번 사용하며 [ ] 안에 세로(row) 인덱스와 가로(column) 인덱스를 .. 2023. 11. 24.
일급 객체 / switch 일급 객체 일급 객체(first-class object)란 다음 조건을 만족하는 객체를 뜻합니다. 변수나 데이터 구조에 넣을 수 있어야 한다. 매개변수에 전달할 수 있어야 한다. 반환값으로 사용할 수 있어야 한다. 특히 일급 함수(first-class function)는 일급 객체의 조건을 만족하면서 실행 중(run-time)에 함수를 생성할 수 있어야 합니다. 파이썬에서는 def 안에서 def로 함수를 만들거나, lambda를 사용하여 실행 중에 함수를 생성할 수 있으므로 파이썬의 함수는 일급 함수입니다. 다른 언어에 있는 switch 문법은 사용할 수 없나요? 파이썬은 switch 문법이 없습니다. 하지만 딕셔너리와 람다 표현식을 사용하면 switch처럼 사용할 수는 있습니다. switch = { '.. 2023. 11. 24.
클로저 1. 변수의 사용 범위 알아보기 전역 변수(global variable) 함수를 포함하여 스크립트 전체에서 접근할 수 있는 변수를 전역 변수(global variable)라고 부릅니다. 특히 전역 변수에 접근할 수 있는 범위를 전역 범위(global scope)라고 합니다. 지역 변수(local variable) 변수 x는 함수 foo 안에서 만들었기 때문에 foo의 지역 변수(local variable)입니다. 따라서 지역 변수는 변수를 만든 함수 안에서만 접근할 수 있고, 함수 바깥에서는 접근할 수 없습니다. 특히 지역 변수를 접근할 수 있는 범위를 지역 범위(local scope)라고 합니다. x = 10 # 전역 변수 def foo(): print(x) # 전역 변수 출력 foo() print(x.. 2023. 11. 23.
람다 표현식(lambda expression) 1. 람다 표현식 사용하기 람다 표현식은 함수를 간편하게 작성할 수 있어서 다른 함수의 인수로 넣을 때 주로 사용합니다. >>> def plus_ten(x): ... return x + 10 ... >>> plus_ten(1) 11 lambda 매개변수들: 식 >>> lambda x: x + 10 실행을 해보면 함수 객체가 나오는데, 이 상태로는 함수를 호출할 수 없습니다. 왜냐하면 람다 표현식은 이름이 없는 함수를 만들기 때문입니다. 그래서 람다 표현식을 익명 함수(anonymous function)로 부르기도 합니다. lambda로 만든 익명 함수를 호출하려면 다음과 같이 람다 표현식을 변수에 할당해주면 됩니다. >>> plus_ten = lambda x: x + 10 >>> plus_ten(1) 1.. 2023. 11. 22.
재귀호출 1. 함수에서 재귀호출 사용하기 def hello(): print('Hello, world!') hello() hello() Hello, world! Hello, world! Hello, world! ...(생략) Traceback (most recent call last): File "C:\project\recursive_function_error.py", line 5, in hello() File "C:\project\recursive_function_error.py", line 3, in hello hello() File "C:\project\recursive_function_error.py", line 3, in hello hello() File "C:\project\recursive_functi.. 2023. 11. 21.
함수 1. 빈 함수 만들기 내용이 없는 빈 함수를 만들 때는 코드 부분에 pass를 넣어줍니다. def hello(): pass 2. 함수 독스트링 사용하기 파이썬에서는 함수의 :(콜론) 바로 다음 줄에 """ """(큰따옴표 세 개)로 문자열을 입력하면 함수에 대한 설명을 넣을 수 있습니다. 이런 방식의 문자열을 독스트링(문서화 문자열, documentation strings, docstrings)이라고 합니다. 단, 독스트링의 윗줄에 다른 코드가 오면 안 됩니다. def 함수이름(매개변수): """독스트링""" 코드 def 함수이름(매개변수): """ 여러 줄로 된 독스트링 """ 코드 독스트링은 ' '(작은따옴표), " "(큰따옴표), ''' '''(작은따옴표 세 개)로 만들어도 되지만, 파이썬 코딩 스.. 2023. 11. 19.
Exception 1. try except로 사용하기 예외 처리를 하려면 다음과 같이 try에 실행할 코드를 넣고 except에 예외가 발생했을 때 처리하는 코드를 넣습니다. try: 실행할 코드 except: 예외가 발생했을 때 처리하는 코드 2. 특정 예외만 처리하기 이번에는 except에 예외 이름을 지정해서 특정 예외가 발생했을 때만 처리 코드를 실행하도록 만들어보겠습니다. try: 실행할 코드 except 예외이름: 예외가 발생했을 때 처리하는 코드 try_except_exception.py y = [10, 20, 30] try: index, x = map(int, input('인덱스와 나눌 숫자를 입력하세요: ').split()) print(y[index] / x) except ZeroDivisionError:.. 2023. 11. 19.
덕타이핑 / 믹스인 덕타이핑 덕 타이핑이란 무엇인가요? 덕 타이핑은 실제 타입(클래스)은 상관하지 않고, 구현된 메서드로만 판단하는 방식입니다. 덕 타이핑은 "만약 어떤 새가 오리처럼 걷고, 헤엄치고, 꽥꽥거리는 소리를 낸다면 나는 그 새를 오리라 부르겠다."라는 덕 테스트(오리 테스트)에서 유래한 말입니다. class Duck: # 오리 클래스를 만들고 quack과 feathers 메서드 정의 def quack(self): print('꽥~!') def feathers(self): print('오리는 흰색과 회색 털을 가지고 있습니다.') class Person: # 사람 클래스를 만들고 quack과 feathers 메서드 정의 def quack(self): print('사람은 오리를 흉내냅니다. 꽥~!') def fea.. 2023. 11. 19.