본문 바로가기
BACKEND

220701 금 Python 문법 정리

by 또야또야 2022. 7. 1.
반응형

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

출처 :: 파이썬 코딩도장

반응형

댓글