IT이야기/CODE PRACTICE

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

JI_NOH 2024. 10. 17. 10:11
반응형

 

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

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

 

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

 

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 내부에서 ,를 쓰면 기본적으로 공백이 포함되고 +를 쓰면 붙여서 써짐

 

반응형