[01 프로그래밍 첫발 내딛기]
파이썬 예약어
- 파이썬 예약어는 변수명으로 사용할 수 없음
- 예약어 확인 명령어
import keyword print(keyword.kwlist) ''' ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] '''
[02 조건문, 반복문]
for문 개념
- for문은 특정 범위의 자료를 처음부터 끝까지 하나씩 사용하여 특정 코드를 반복적으로 실행하기 위해 사용
# 문자열을 범위로 지정한 예 str = 'abcdef' for alphabet in str: print(alphabet) # 리스트를 범위로 지정한 예 list = [1, 2, 3, 4, 5] for num in list: print(num) # range()를 범위로 지정한 예 for num in range(10): print(num)
- continue와 break를 사용하면 특정 조건에 따라 for문을 계속 수행하거나, for문을 벗어날 수 있음
- continue : continue 이후 코드를 실행하지 않고 다음 반복문을 수행
- break : for문 안에서 break를 만나면 다음 반복문을 벗어남
scope = [1, 2, 3, 4, 5] # 1, 2, 3, 4, 5 담긴 리스트 생성 for x in scope: # x 값으로 1-5를 차례로 입력 print(x) # x 값을 출력 if x < 3: # x가 3보다 작을 경우 continue # 2번째 줄로 이동 else: # x가 3보다 클 경우 break # 반복문 종료 ''' 1 2 3 '''
while문 개념
- for문이 지정된 범위 내에서 코드를 반복적으로 실행할 때 사용된다면, while문은 특정 조건이 만족 하는 경우 코드를 반복 수행
# 예제 코드 x = 0 while x < 10: # x가 10보다 작을 동안 반복 x = x + 1 # x에 1을 더하기 if x < 3: # x가 3보다 작다면 continue # 두 번째 줄로 이동 print(x) # x가 3보다 같거나 클때, x 출력 if x > 7: # x가 7보다 클때, break # 반복문을 종료합니다.
[03 자료형]
정수형
- 정수형은 우리가 잘 있는 10진수로 표현할 수 있을 뿐 아니라, 2진수, 8진수, 16진수로도 표현할 수 있음
- 파이썬에서는 2진수 앞에는 0b, 8진수 앞에는 0o, 16진수 앞에는 0x를 붙여서 어떤 진법의 숫자인지를 구분
int_data = 10 bin_data = 0b10 oct_data = 0o10 hex_data = 0x10 print(int_data) # 10 print(bin_data) # 2 print(oct_data) # 8 print(hex_data) # 16
실수형
- 실수형은 소수점이 포함된 숫자를 말함
- 2.59e10 혹은 2.59E10은 2.59 X 10^10을 의미하며 실수로 인식 (컴퓨터식 지수 표현 방식)
f1 = 1.56e3 f2 = -0.7e-4 print(f1) # 1560.0 print(f2) # -7e-05
복소수
- 실수부와 허수부로 나누어져 있는 수
- 수학에서는 허수부를 i로 나타내지만 파이썬은 j로 나타냄
ex) 수학적으로 표현된 복소수 3+4i는 파이썬에서는 3+4j로 표현 - 뿐만 아니라 파이썬에서는 동일한 복소수를 complex(3, 4)와 같이 표현하기도 합니다.
- 실수부 허수부 분리 : 변수 c에 복소수 3+4j가 저장되어 있다고 할 경우 c.real을 통해서 실수부 3을, c.imag을 통해서 허수부 4를 취할 수 있습니다.
c1 = 1+7j c2 = complex(2, -3) print(c1.real) #c1의 실수부 출력 | 1.0 print(c1.imag) #c1의 허수부 출력 | 7.0 print(c2) # (2-3j)
[04 연산자]
사칙 연산자
- 파이썬에서 거듭제곱은 **로 표시함, 즉 수학에서 2의 3제곱 (2^3)은 파이썬에서 2**3으로 표시
관계 연산자
- 문자열 값의 비교는 사전 순서와 동일, a로 시작 하는 단어가 b로 시작하는 단어보다 작다고 판단
str1 = 'abc' str2 = 'python' print(str1 < str2) # True
16진수
- 16진법 표기법을 사용해서 출력하고 싶다면, hex(a)를 'print()에 인수로 넣어주기
bit1 = 0x15 print(bit1) # 21 print(hex(bit1)) # 0x15
비트 연산자
- & 연산자는 앞에서 배운 and 연산자의 비트 단위의 연산을 수행
- 마찬가지로 |는 or 연산자 역할과 동일
[05 시퀀스 자료형, 함수]
시퀀스 자료 슬라이싱
- 인덱싱이 하나의 요소 에 접근하기 위해 사용된다면, 슬라이싱은 시작 인덱스와 끝 인덱스를 지정하여 시퀀스의 일정 범위에 접근할 때 사용
- 시작 인덱스 : 범위의 시작을 지정, 생략할 경우 자료의 처음부터 슬라이싱
- 끝 인덱스 : 범위의 끝을 지정, 생략할 경우 자료의 끝까지 슬라이싱
- 스텝 : 스텝은 자료를 취하는 간격을 뜻하며 생략할 경우 1로 지정 - 슬라이싱 범위를 표현하는 다양한 방법
- [m:n] : 인덱스가 m 이상 n 미만인 요소를 슬라이싱
- [:n] : 인덱스가 n 미만인 요소를 슬라이싱
- [m:] : 인덱스가 m인 요소부터 시퀀스의 끝까지 슬라이싱
- [:] : 시퀀스의 처음부터 끝까지 모두 슬라이싱
요소 체크 (in)
- 파이썬 키워드 in을 사용하면 시퀀스 자료에 특정 값이 존재하는지 확인할 수 있음
- in의 사용 방법 : 값 in 자료
- 해당 값이 시퀀스 자료 안에 존재할 경우 True를, 존재하지 않을 경우 False를 반환
문자열
- 문자열은 따옴표 또는 큰따옴표를 이용해 선언할 수 있음
- '''~''' 혹은 """~"""을 사용하면 입력한 문자열의 개행까지 그대로 출력할 수 있음
문자열 포맷팅
- 문자열 포맷팅을 사용할 경우 문자열 내에 어떤 값을 쉽게 삽입하고, 문자열 내의 특정한 값을 쉽게 바꿀 수 있음
- 두 개의 포맷 문자열을 사용할 경우 %(첫 번째 %s에 대입할 문자열, 두 번째 %s에 대입할 문자열)을 추가
- 문자열 외에 다양한 값을 대입하는 것 또한 가능
- %s: 문자열을 대입
- %c: 문자 또는 기호 한 개를 대입
- %c 맞으면 어뜩하지?' %'F'
- %f: 실수를 대입
- %d: 정수를 대입 - %를 출력하고 싶은 경우 %%를 입력하면 하나의 %가 출력됨
- 다른 언어와 다르게 ''나 "" 뒤에 ,를 넣지 않고 여러개의 포맷 문자열을 사용할 경우 모두 %()로 묶어줘야 함
txt1 = '자바' txt2 = '파이썬' num1 = 5 num2 = 10 # 1. '나는 자바보다 파이썬에 더 익숙합니다.'. print('나는 %s보다 %s에 더 익숙합니다.' %(txt1, txt2)) # 2. '파이썬은 자바보다 10배 더 쉽습니다.' print('%s은 %s보다 %d배 더 쉽습니다.' %(txt2, txt1, num2)) # 3. '5 + 10 = 15' print('%d + %d = %d' %(num1, num2, num1+num2)) # 4. '작년 세계 경제 성장률은 전년에 비해 5% 포인트 증가했다.' print('작년 세계 경제 성장률은 전년에 비해 %d%% 포인트 증가했다.' %num1)
이스케이프 문자
- 이스케이프 문자를 사용하면 키보드로 입력하기 어렵거나 번거로운 기호를 나타낼 수 있음
- \n : 줄 바꾸기
- \t : 탭
- \엔터 : 줄 계속
- \\ : \ 기호
- \" : “ 기호
[06 함수]
함수 인자 이해하기
- 기본 인자
- func(a, b)를 호출하면 a에 1을 b에 2를 순서대로 전달def func(a, b): return a + b sum = func(1, 2)
- 함수가 호출되면 두 인자 a, b를 더한 값 3을 sum에 저장 - 키워드 인자
- 호출시 인자의 이름을 명시하여 인자의 값을 전달할 수 있음def func(a, b): return a + b sum = func(b = 2, a = 1)
- 함수 func(a, b)를 호출하며 작성 순서에 관계 없이 a에 1을, b에 2를 전달 - 가변 인자
- 함수에 전달할 인자의 개수가 정해지지 않았을 때 인자 앞에 *를 붙여 함수를 선언def func(*c): print(c) func(1,2,3,4,5) # (1,2,3,4,5) func(1,2,3) # (1,2,3)
- 여러개의 인자는 튜플로 전달됨
[06 함수]
지역변수, 전역변수
- 지역변수 : 특정 함수 내에서만 유효한 변수로 함수 밖에서 사용될 수 없음
- 전역변수 : 코드 전체에 걸쳐서 유효한 변수로 global 변수라고도 함
함수 내에서 전역(global)변수를 사용하려면 아래와 같이 변수 앞에global을 사용해야 함
var1 = 1 def func(): global var1 var1 = 2 var2 = 1 return var1 + var2
함수 리턴값
- 함수의 리턴값은 여러 개일 수 있음
- 리턴값이 여러 개일 경우 튜플로 리턴
def reverse(x, y, z): return z, y, x ret = reverse(1, 2, 3) print(ret) # (3, 2, 1)
[07 모듈]
파이썬 모듈
- 모듈은 이미 만들어져 있는 여러 함수를 특정 목적과 기능별로 묶어 놓은 파이썬 파일
- 이 함수들을 사용하기 위해서는 먼저 import를 통해 해당 함수들이 저장된 모듈을 가져와야 함
- 파이썬에서 사용 가능한 내장 모듈 확인 : https://docs.python.org/3/library/index.html
- 파이썬 내장 모듈 외에도 .py 파일로 직접 모듈을 만들 수 있음
# mylib 모듈 가져오기 import mylib # mylib의 add_num() 함수를 이용 sum = mylib.add_num(2, 5, 9)
- from~import를 사용하면 모듈에 저장된 특정 함수를 임포트할 수 있음
- from 모듈이름 import 함수이름의 형식을 취함
- 이와 같이 특정 함수를 임포트하는 경우, 모듈 전체를 임포트할 때와 다르게 호출하는 함수의 앞에 모듈이름을 붙이지 않음
# mylib 모듈에서 add_txt 함수를 임포트 from mylib import add_txt # 함수를 호출 print(add_txt('나는', '파이썬이다'))
- 모듈의 이름이 길거나 구조가 복잡할 경우 import 모듈이름 as 별명으로 별명을 붙여 호출하면 보다 쉽게 모듈을 사용할 수 있음
# math 모듈에 m이라는 별명을 붙여 호출 import math as m # 축약된 별명을 사용 print(m.floor(3.3)) # thisismylibrary에 mylib이라는 별명을 붙여 호출 import thisismylibrary as mylib # 축약된 별명을 사용하여 세 수의 합을 계산 print(mylib.add_num(1, 2, 3))
'코딩 테스트 스터디 > 엘리스 이론 강의' 카테고리의 다른 글
실습으로 배우는 파이썬 下 (클래스~응용편) (0) | 2022.02.05 |
---|---|
도레미 파이썬 Vol.2 (0) | 2022.01.26 |
도레미 파이썬 Vol. 1 (0) | 2022.01.25 |