반응형
Python 문법 정리
코딩테스트 준비하는데 파이썬을 다 잊어버려서 다시 정리하게 되었다. ㅎ
변수
# 변수 할당
x = 'Hello World!'
# 변수 여러개 한 번에 할당
x, y, z = 10, 20, 30
x = y = z = 10 # 변수 여러 개를 만들 때 값이 모두 같아도 되는 경우
# 변수 서로 바꾸기
x, y = 10, 20
x, y = y, x # x :: 20, y :: 10
# 변수 삭제
del x
# 빈 변수 만들기
x = None
# 변수의 자료형 확인
type(x) # <class 'str'>
Input 함수
# input 받은 내용을 x 변수에 할당
x = input()
# >>> x = input('문자열을 입력하세요: ')
# 문자열을 입력하세요: Hello, world! (입력)
# >>> x
# 'Hello, world!'
a = int(input('첫 번째 숫자를 입력하세요: ')) # int를 사용하여 입력 값을 정수로 변환
b = int(input('두 번째 숫자를 입력하세요: ')) # int를 사용하여 입력 값을 정수로 변환
a, b = input('문자열 두 개를 입력하세요: ').split() # 입력받은 값을 공백(' ')을 기준으로 분리
print(a)
print(b)
# map 을 사용하여 정수로 변환
a, b = map(int, input('숫자 두 개를 입력하세요: ').split())
출력
print(1, 2, 3) # 결과 :: 1 2 3
# sep에 콤마와 공백을 지정
print(1, 2, 3, sep=',') # 결과 :: 1,2,3
print(1, 2, 3, sep='\n') # 줄바꿈
print('1\n2\n3') # 문자열 안에 \n을 사용하여 줄바꿈
print(1, end=' ')
print(2, end=' ')
print(3) # 결과 :: 1 2 3
계산
# 계산 결과를 정수, 실수로 만들기
int(5 / 2) # 결과 :: 2 (실수 2.5를 정수 2로 만듦)
float(1 + 2) # 결과 :: 3.0 (정수 3을 실수 3.0으로 만듦)
출처 :: https://dojang.io/mod/page/view.php?id=2189
불 & 비교연산자
10 == 10 # 결과 :: True (10과 10이 같은지 비교)
10 != 5 # 결과 :: True (10과 5가 다른지 비교)
10 > 20 # 결과 :: False (10이 20보다 큰지 비교)
10 < 20 # 결과 :: True (10이 20보다 작은지 비교)
10 >= 10 # 결과 :: True (10이 10보다 크거나 같은지 비교)
10 <= 10 # 결과 :: True (10이 10보다 작거나 같은지 비교)
# 객체가 같은지 다른지 비교하기 (값 비교에는 사용하지 않는것을 추천)
1 == 1.0 # 결과 :: True
1 is 1.0 # 결과 :: False
1 is not 1.0 # 결과 :: True
bool(1) # True
bool(0) # False
bool(1.5) # True
bool('False') # True
논리연산자 (and, or)
True and True # True
True and False # False
False and True # False
False and False # False
True or True # True
True or False # True
False or True # True
False or False # False
not True # False
not False # True
10 == 10 and 10 != 5 # True and True == True
10 > 5 or 10 < 3 # True or False == True
not 10 > 5 # not True == False
not 1 is 1.0 # not False == True
리스트와 튜플
# 리스트
a = [38, 21, 53, 62, 19]
person = ['james', 17, 175.3, True]
len(a) # 5
a = list(range(10)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
d = list(range(10, 0, -1)) # [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
len(a) # 10
# 튜플
a = (38, 21, 53, 62, 19)
person = ('james', 17, 175.3, True)
len(a) # 5
a = tuple(range(10)) # (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
c = tuple(range(-4, 10, 2)) # (-4, -2, 0, 2, 4, 6, 8)
len(a) # 10
# 리스트를 튜플로 만들기
a = [1, 2, 3]
tuple(a) # (1, 2, 3)
b = (4, 5, 6)
list(b) # [1, 2, 3]
list('Hello') # ['H', 'e', 'l', 'l', 'o']
시퀀스 자료형
# 특정 값이 있는지 확인하기
a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
30 in a # True
100 in a # False
1 in range(10) # True
# 시퀀스 객체 연결하기
a = [0, 10, 20, 30]
b = [9, 8, 7, 6]
a + b # [0, 10, 20, 30, 9, 8, 7, 6]
list(range(0, 5)) + list(range(10, 15)) # [0, 1, 2, 3, 4, 10, 11, 12, 13, 14]
tuple(range(0, 5)) + tuple(range(10, 15)) # (0, 1, 2, 3, 4, 10, 11, 12, 13, 14)
# 시퀀스 객체 반복하기
[0, 10] * 3 # [0, 10, 0, 10, 0, 10]
Slice
a = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
# 인덱스 0부터 3까지 잘라서 새 리스트를 만듦
a[0:4] # [0, 10, 20, 30]
# 인덱스 0부터 9까지 잘라서 새 리스트를 만듦
a[0:10] # [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
# 인덱스 1부터 0까지 잘라서 새 리스트를 만듦
a[1:1] # []
# 인덱스 1부터 1까지 잘라서 새 리스트를 만듦
a[1:2] # [10]
# 인덱스 4부터 6까지 요소 3개를 가져옴
a[4:7] # [40, 50, 60]
# 인덱스 4부터 -2까지 요소 5개를 가져옴
a[4:-1] # [40, 50, 60, 70, 80]
# 인덱스 2부터 3씩 증가시키면서 인덱스 7까지 가져옴
a[2:8:3] # [20, 50]
# 인덱스 2부터 3씩 증가시키면서 인덱스 8까지 가져옴
a[2:9:3] # [20, 50, 80]
a[:7] # 리스트 처음부터 인덱스 6까지 가져옴 - 결과 :: [0, 10, 20, 30, 40, 50, 60]
a[7:] # 인덱스 7부터 마지막 요소까지 가져옴 - 결과 :: [70, 80, 90]
a[:] # 리스트 전체를 가져옴 - 결과 :: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
a[:7:2] # 리스트의 처음부터 인덱스를 2씩 증가시키면서 인덱스 6까지 가져옴 - 결과 :: [0, 20, 40, 60]
a[7::2] # 인덱스 7부터 2씩 증가시키면서 리스트의 마지막 요소까지 가져옴 - 결과 :: [70, 90]
a[::2] # 리스트 전체에서 인덱스 0부터 2씩 증가시키면서 요소를 가져옴 - 결과 :: [0, 20, 40, 60, 80]
a[::] # 리스트 전체를 가져옴 - 결과 :: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
# 요소를 뒤에서부터 가져오기
a[5:1:-1] # 리스트 5부터 2까지 1씩 감소시키면서 요소를 가져옴 - 결과 :: [50, 40, 30, 20]
a[::-1] # 리스트 전체에서 인덱스를 1씩 감소시키면서 요소를 가져옴 :: [90, 80, 70, 60, 50, 40, 30, 20, 10, 0]
a[2:5] = ['a', 'b', 'c']
# 인덱스 2부터 4까지 값 할당 - 결과 :: [0, 10, 'a', 'b', 'c', 50, 60, 70, 80, 90]
딕셔너리
lux = {'health': 490, 'mana': 334, 'melee': 550, 'armor': 18.72}
lux['health'] # 490
lux['health'] = 2037 # 2037
'health' in lux # True
len(lux) # 4
구문
if 조건문
x = int(input()) # 입력받은 값을 변수에 저장
if x == 10: print('10 입니다')
# 조건문에서 코드 생략
if x == 20:
pass # 아무일도 하지않고 넘기기 (보통 나중에 작성할 코드를 위해서 작성)
else: print('STH')
if x == 10 and y == 20: # x가 10이면서 y가 20일 때
print('참')
else:
print('거짓')
if x == 10: # x가 10일 때
print('10입니다.')
elif x == 20: # x가 20일 때
print('20입니다.')
else: # 앞의 조건식에 모두 만족하지 않을 때
print('10도 20도 아닙니다.')
for 과 range
for i in range(100):
print('Hello, world!', i)
fruits = ('apple', 'orange', 'grape')
for fruit in fruits:
print(fruit)
for letter in reversed('Python'):
print(letter, end=' ') # n o h t y P
while
i = 0 # 초기식
while i < 100: # while 조건식
print('Hello, world!') # 반복할 코드
i += 1 # 변화식
if (i % 2 === 0): break
if (i % 2 === 1): continue
출처 :: 파이썬 코딩도장
반응형
댓글