본문 바로가기
IT이야기/CODE PRACTICE

[PYTHON] 코테에 사용되는 기본 문법 및 함수

by JI_NOH 2024. 10. 17.

 

코테에 파이썬을 가장 많이 쓰는 것으로 알고 있다.

기본 제공 함수나 문법이 좋아서 코테용으로 많이들 입문하고 나도 코테용으로만 접하게 됐다.

 

엄청 쉽다보니 평소에 쓰던 다른 언어랑 어떻게 대치되어 사용되는지 잘 모르는 문법들도 존재하여 정리한다.

 

1. 파이썬 기본 문법

1-0. 데이터타입

#숫자(int)           a = 10
#문자(string)        a = '10'
#리스트(list)        a = [10, 20]
#튜플(tuple)         a = (10, 20)
#셋(set)            a = {10, 20}
#딕셔너리(dictionary) a = ['key':'value', 'key2':'value2']
 

기본 설정 값 없이 데이터 타입만 선언하는 경우는 a = [] / a =() / a = {} 와 같이 선언하면 된다.

 

 

1-1. 반복문 for문

a = [1,3,5,7,9]

for i in range(len(a)):
    print(a[i])
for idx, val in enumerate(a):
   print val
 

기본형으로는 for i in range(0,10) = for i in range(10) 으로 볼 수 있겠으며

인덱스 값이 필요치 않다면 for _ in range(0,10) 처럼 사용할 수도 있다.

range 함수 안에 들어 있는 수치가 각각 무엇을 의미하는지 헷갈려서 테스트를 해봤는데

이런 몰골로 보아서는 range(시작 index, 마지막index) 이긴한데 마지막index 미만인 값까지만 으로 보인다.

for j  in range(num,0, -1):
for i in reversed(range(10)):
 

증가가 아닌 감소는 -1 을 인자값에 추가해야함

혹은 reversed()함수를 추가해야함

 

 

1-2. 조건문

if val == 1:
    print(1)
elif val == 2:
    print(2)
else:
   print(*)
 

조건문에 괄호를 사용치 않으며 else if 가 아닌 elif를 쓰는 모습을 볼 수 있다.

 

 

1-3. while문

val, val2 = 10,10
sum = 0
while  not(val == 0 & val2 == 0) :
   val -= 1
   val2 -= 1
   sum = val + val2    
 

이왕이면 여러 기본문법을 보여주기위해 위와 같은 예시를 들었다.

보통 타 문법에서 not(false)의 경우 "!" 를 많이 쓰는데 파이썬은 not을 쓰며

&&가 아닌 &를 쓴다.

 

 

1-4. switch case문

if:
elif 조건:
elif 조건:
...
 

우리가 통상적으로 아는 switch(n){ case 1: break; case2: break;} 로 쓰는 switch case문이 파이썬에는 없다.

if elif 로 쓰면 된다.

 

 

1-5. input()

str = input()
num = int(input())
a, b = map(int, input().split())
listA = list(map(int, input().split()))
 

input값은 기본적으로 string형이며 첫쨋줄 처럼 받으면 input만 받을 수 있다.

받은 데이터 값을 바로 데이터타입 전환을 하고 싶다면 둘쨋줄 처럼 int(input())

input값이 여러개인 경우 스페이스로 값이 분리된다고 가정 셋쨋줄 처럼 - map(int, input().split())

여러개 받은 값을 리스트형으로 변환하고 싶다면 셋쨋줄 + list(~~~)

import sys
input = sys.stdin.readline()
 

위 같은 방식으로 input()을 받을 수도 있다.

readline()의 경우는 개행문자(\n)도 포함하여 가져오기 때문에 주의해서 가져와야 한다. 좌우 공백을 없애기 위해 .strip() 오른쪽만 없앨 때는 .rstrip() 왼쪽만 없앨 때는 .lstrip()을 추가로 쓰면 된다.

 

 

1-6. 산술연산

a, b = 12, 5
a + b = 17
a - b = 7
a * b = 60
a ** b = 12의5승 - 거듭제곱
a / b = 2.4
a // b = 2   -몫
a % b = 2    -나머지
 

 

1-7. 삼항연산자

max = num1 if num1 > num2 else num2 
 

통상적으로 쓰는 방식으로는 max = num1>num2 ? num1 : num2 같은 꼴이다.

 

 

1-8. 예외처리(try catch)

try:
except IdxError:
 

try catch문이 아닌 try except Error구문의 형태로 되어있다.

 

 

1-9. print 문 string붙여쓰기

#result = idx 3 :  9
print("idx", i, ": ", sum)

#result = idx3: 9
print("idx"+ str(i) + ": " + str(sum))
 

print 내부에서 ,를 쓰면 기본적으로 공백이 포함되고 +를 쓰면 붙여서 써짐