주어진 조건을 판단한 후 그 상황에 맞게 처리해야 할 경우
if 조건문1:
수행할 문장1
elif 조건문2:
수행할 문장2
else:
수행할 문장3
비교 연산자
| 연산기호 | 설명 |
|---|---|
| x == y | x와 y가 같다 |
| x != y | x와 y가 다르다 |
| x > y | x가 y보다 크다 |
| x < y | x가 y보다 작다 |
| x >= y | x가 y보다 크거나 같다 |
| x <= y | x가 y보다 작거나 같다 |
논리 연산자
| 연산기호 | 설명 |
|---|---|
| x and y | x와 y 모두 참이어야 참 |
| x or y | x와 y 둘 중 하나만 참이면 참 |
| not x | x가 거짓이면 참, 참이면 거짓 |
in, not in
| 연산기호 | 설명 |
|---|---|
| x in 리스트 | x가 리스트 안에 있다면 참 |
| x in 튜플 | x가 튜플 안에 있다면 참 |
| x in 문자열 | x가 문자열 안에 있다면 참 |
| x not in 리스트 | x가 리스트 안에 없다면 참 |
| x not in 튜플 | x가 튜플 안에 없다면 참 |
| x not in 문자열 | x가 문자열 안에 없다면 참 |
변수 = 참인 겨우 값 if 조건문 else 거짓인 경우 값
반복해서 코드를 수행해야 할 경우
while 조건문:
수행할 문장1
수행할 문장2
수행할 문장3
while 조건문1:
if 조건문2:
수행할 문장1
continue
else:
수행할 문장2
break
for 변수 in 리스트(또는 튜플, 문자열):
수행할 문장1
수행할 문장2
for 변수 in 리스트(또는 튜플, 문자열):
if 조건문:
수행할 문장
continue
range(start, end, step)
[표현식 for 항목 in 반복 가능 객체 if 조건문]
1_리스트 안에 for문 포함
>>> a = [1, 2, 3, 4]
>>> result = [num * 3 for num in a]
[3, 6, 9, 12]
2_if문 사용
>>> a = [1, 2, 3, 4]
>>> result = [num * 3 for num in a if num % 2 == 0]
[6, 12]
입력값을 받아서 어떠한 행동을 취하고 그 결과값을 반환(return)하는 코드
def 함수명(매개변수):
수행할 문장1
수행할 문장2
return
함수명(인자)
1_일반적인 함수: 입력값 O, 반환값 O
def 함수명(매개변수):
수행할 문장
return 반환값
>>> 함수명(인자)
2_입력값이 없는 함수: 처리의 목적인 데이터를 받아서 처리하지 않는 경우
def 함수명():
수행할 문장
return 반환값
>>> 함수명()
3_반환값이 없는 함수: None 데이터 반환
def 함수명(매개변수):
수행할 문장
>>> 함수명(인자)
4_입력값, 반환값 모두 없는 함수
def 함수명():
수행할 문장
>>> 함수명()
def sub(a, b):
return a - b
>>> result = sub(a=7, b=3)
>>> print(result)
4
def 함수명(*매개변수):
수행할 문장
1_*args
def add_many(*args):
result = 0
for i in args:
result += i
return result
>>> result = add_many(1, 2, 3)
>>> print(result)
6
2_*args 앞에 다른 매개변수 추가: 단, *args가 무조건 맨 뒤에 와야 함
def add_many(choice, *args):
if choice == "add"
result = 0
for i in args:
result += i
return result
>>> result = add_many("add", 1, 2, 3)
>>> print(result)
6
def 함수명(**kwargs):
수행할 문장
def print_kwargs(**kwargs):
print(kwargs)
>>> print_kwargs(a=1)
{'a': 1}
def say_myself(name, age, man=True):
if man:
print('남자')
else:
print('여자')
a = 1
def vartest(a):
a += 1
vartest(a)
print(a)
a = 1
def vartest(a):
global a
a += 1
vartest(a)
print(a)
함수명 = lambda 매개변수1, 매개변수2 : 매개변수 이용한 표현식
1_lambda
>>> add = lambda a, b: a + b
2_일반적인 함수
def add(a, b):
return a + b
| 함수명 | 설명 |
|---|---|
| abs(x) | x의 절대값을 돌려줌 |
| all(x) | x의 요소가 모두 참이면 True, 하나라도 거짓이면 False 반환 |
| any(x) | x의 요소가 하나라도 참이면 True, 모두 거짓이면 False 반환 |
| chr(i) | 유니코드 숫자값을 입력 -> 그 코드에 해당되는 문자를 반환 |
| dir(x) | 객체가 지닌 변수, 함수를 보여줌 (list, dict가 지닌 함수) |
| divmod(a, b) | a를 b로 나눈 몫과 나머지를 튜플로 반환 |
| enumerate(x) | 시퀀스 데이터를 입력 -> 인덱스 값을 포함하는 enumerate 객체 반환 |
| hex(x) | 정수 값을 입력 -> 16진수 문자열 반환 |
| id(object) | 객체를 입력 -> 객체 고유 주소 값 반환 |
| filter(함수(논리값), 반복 가능 데이터) | 시퀀스 데이터의 요소 값을 순서대로 함수에 전달, 호출했을 때 반환값이 참인 것만 묶어서 반환 |
| map(함수, 반복 가능 데이터) | 입력 받은 데이터의 각 요소를 함수에 전달, 결과를 받아서 리스트로 반환 |
| int(x) | 문자열 형태 숫자나 소수점이 있는 숫자 -> 정수로 반환 |
| str(Object) | 문자열 형태로 객체를 변환하여 반환 |
| list(iterable) | 시퀀스 데이터를 입력 -> 리스트로 반환 |
| tuple(iterable) | 시퀀스 데이터를 입력 -> 튜플로 반환 |
| max(iterable) | 시퀀스 데이터를 입력 -> 최대 값 반환 |
| min(iterable) | 시퀀스 데이터를 입력 -> 최소 값 반환 |
| sum(iterable) | 입력 데이터의 합을 반환 |
| sorted(iterable) | 입력 데이터를 정렬 -> 그 결과를 리스트로 반환 |
| len(s) | 입력값 s의 길이(요소 전체 개수)를 반환 |
| type(Object) | 입력값의 자료형을 알려줌 |
| round(number[, ndigits] | number를 반올림하여 반환(, ndigits는 소수점 자릿수) |
>>> a = input()
>>> a = input("숫자를 입력하세요: ")
숫자를 입력하세요: 3
파일 객체 = open(파일 이름(경로), 파일 열기 모드)
f = open("파일명.txt", 'w')
f.close() # 열려있는 파일 객체 닫아줌
| 파일 열기 모드 | 설명 |
|---|---|
| r | 읽기 모드: 파일을 읽기만 할 때 사용 |
| w | 쓰기 모드: 파일에 내용을 쓸 때 사용 |
| a | 추가 모드: 파일의 마지막에 새로운 내용을 추가할 때 사용 |
f = open("파일명.txt", 'w')
f = open("파일명.txt", 'w')
for i in range(1, 11):
data = f'{i}번째'
f.write(data)
f.close()
f = open("파일명.txt", 'r')
1_readline(): 파일의 첫 번째 라인 읽음
f = open("파일명.txt", 'r')
while True:
line = f.readline()
if not line: break
print(line)
f.close()
2_readlines(): 파일의 모든 줄을 읽고 각각의 줄을 요소로 가지는 리스트 반환
f = open("파일명.txt", 'r')
lines = f.readlines()
for line in lines:
print(line)
f.close()
3_read(): 파일의 전체 내용을 문자열로 리턴
f = open("파일명.txt", 'r')
data = f.read()
print(data)
f.close()
f = open("파일명.txt", 'a')
f = open("파일명.txt", 'a')
for i in range(11, 20):
data = f'{i}번째'
f.write(data)
f.close()
f = open("파일명.txt", 'w')
f.write("hello")
f.close()
with open("파일명.txt", 'w') as f:
f.write("hello")
1_try-except문: 오류 종류 상관 X, 오류 발생 시 except 블록 수행
try:
예외 발생 예상 코드
except:
예외 처리 코드
2_ 발생 오류를 포함한 except문: 작성한 오류와 동일한 경우만 except 블록 수행
try:
예외 발생 예상 코드
except 발생 오류:
예외 처리 코드
3_ 발생 오류, 오류 변수를 포함한 except문: 작성한 오류와 동일한 경우만 except 블록 수행
try:
예외 발생 예상 코드
except 발생 오류 as 오류 변수:
예외 처리 코드
4_여러 개의 오류 처리: 2개 이상의 오류를 동일하게 처리하는 경우, ()로 묶어 처리 가능
try:
예외 발생 예상 코드
except 발생 오류1:
예외 처리 코드
except 발생 오류2:
예외 처리 코드
try:
f = open('foo.txt', 'w')
...
finally:
f.close()
try:
예외 발생 예상 코드
except [발생 오류 [as 오류 변수]]:
예외 처리 코드
else:
오류X인 경우 실행 코드
try:
f = open('없는파일.txt', 'r')
except FileNotFoundError:
pass
class MyError(Exception):
pass
def say_nick(nick):
if nick == '바보':
raise MyError()
print(nick)
say_nick('바보')