반응형

Python 3.8 ~ 3.10에서 지원되는 유용한 기능 

 

글. 수알치 오상문

 

특정 예제가 동작하지 않으면 더 높은 버전의 파이썬 기능일 가능성이 있습니다.
참고로, 최신 버전 파이썬은 IDLE의 문법 오류 안내도 친절해졌습니다. 
문법에 문제가 있는 경우, 단순히 문법 오류라는 딱딱한 메시지 대신에 
뭐가 문제있는지 상세한 정보를 알려주므로 디버깅이 편합니다.


1. 디버거 브레이크 : breakpoint()

a = 1
b = 2
print(a)
print(b)
breakpoint()  <-- 디버거 모드로 들어감
c = a+b
print(c)

<-- 디버거 모드
(pbd) print(a-b)
-1
(pbd) exit()  <-- 디버거 모드 종류


2. f 문자열 

data = [1, 2, 3]
check = 3

print(f"{check}, {data}, {1+2+3}")

[실행 결과]

3, [1, 2, 3], 6



3. 해마 대입 :=  (대입결과를 반환함)

data = [1, 2, 3]
check = 2

if (size:=len(data)) > check:
  print(f"{size} is greater than {check}.")
else:
  print(f"data size is {size}.")

[실행 결과]
3 is greater than 2.


4. 타입 힌트

def add_int(val: int) -> int:
    return val+val

print(add_int(5))
print(add_int("string"))  # expected type 'int', got 'str' instead


def sum_dic(var: dict) -> int:
    return sum(var[key] for key in var)

test: dict = {'one':1, 'two':2, 'three':3}   # <--- test: ...

print(sum_dic(test))


5. 사전 업데이트 연산자 |=  

a = {1: 1, 2: 2, 3: 3}
b = {4: 4, 5: 5}

print(a | b)

a |= b
print(a)


6. match 구문과 case의 '|'

# Python 3.10
select_num = 5

match select_num:
    case 1 | 7 | 10:  # 비교 값에 조건문도 가능
        print("Good!")
    case 4 | 9: 
        print("Bad!")
    case _:
        print("Hmm...")


7. 타입 힌트  '|' 사용 

def add_int(val: int | float) -> int | float:
    return val+val


반응형

'Python 기초' 카테고리의 다른 글

time.time(), datetime.datetime.now() 예제  (1) 2023.11.13
파이썬 3.9 추가 기능  (0) 2023.10.27
파이썬, 버전별 지원 기간  (0) 2023.10.18
파이썬, 언패킹 활용  (0) 2023.10.14
파이썬 3.8, := 연산자(Walrus Operator)  (0) 2023.10.14

+ Recent posts