파이썬 기본 개념 정리

·2023년 6월 25일
0
post-thumbnail

함수 생성


  • 기본 형태

def add(a,b) : 
	print(f"{a}+{b} = ?")
    return a+b
  • 파라미터 타입 힌트

def add(a:int,b:int) : 
	print(f"{a}+{b} = ?")
    return a+b

파라미터의 타입에 대한 힌트를 제공한다.
힌트 타입과 다른 타입을 넣어도 오류가 발생하지는 않는다.

  • 리턴 타입 지정

def add(a:int,b:int) -> int: 
	print(f"{a}+{b} = ?")
    return a+b

함수의 리턴 타입을 명시한다.
명시한 타입과 다른 타입을 반환할 경우 오류가 발생한다.



예외 처리


  • try, except, else, finally

a = [1,2,3]

try : 
    print(a[3])
except : 
    print("exception raised")
else : 
    print("no exception :)")
finally :
    print("Hi!")

try : 시도할 코드
except : try에서 예외가 발생했을 때 실행하는 코드
else : try에서 예외가 발생하지 않았을 때 실행하는 코드
finally : 예외 여부와 관계 없이 무조건 실행하는 코드

  • raise

a = int(input("1부터 3 사이의 숫자를 하나 입력하세요."))

if a < 1 or a > 3 :
    raise
    # raise SyntaxError
    # raise ValueError("input is not valid")
    # raise Exception("에러에러에러!!")

예외를 발생시키고 싶을 때 사용하는 키워드.
raise 뒤에 예외 키워드를 작성해 원하는 메시지가 출력되도록 할 수 있다.



한 줄 if-else


a = True
print("Hello") if a is True else print("Bye")


정렬


  • sorted

my_dict = {'c': 3, 'a': 1, 'b': 2, 'e': 1, 'd': 2}

sorted_dict = sorted(my_dict.items(), key = lambda item:item[1], reverse = True)

sorted : iterable한 모든 객체를 정렬해주는 함수.
정렬된 새로운 리스트를 리턴한다.
(단, 모든 내부 원소들은 서로 비교 가능한 타입이어야함)

key : 어떤 원소를 기준으로 정렬 할지 선택
reverse : True로 두면 내림차순, False로 두면 오름차순. 디폴트값은 False.

  • sort

nums = [3, 5, 2, 1, 4]
nums.sort()

sort : 리스트의 내장 함수 . 원본 리스트 자체의 순서를 바꾼다.
메모리 사용량에 있어서 sorted보다 좋다.

💡 Dictionary의 경우 python 3.6 이전 버전에서는 순서를 보장하지 않고 저장됐지만, 이후로는 기본 DictionaryOrdered Dictionary와 똑같이 작동한다.
순서가 있는 Dictionary에 대해 하위호환성을 고려한다면 Ordered Dictionary를, 아니라면 기본 Dictionary를 사용하면 된다.



0개의 댓글