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
함수의 리턴 타입을 명시한다.
명시한 타입과 다른 타입을 반환할 경우 오류가 발생한다.
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
: 예외 여부와 관계 없이 무조건 실행하는 코드
a = int(input("1부터 3 사이의 숫자를 하나 입력하세요."))
if a < 1 or a > 3 :
raise
# raise SyntaxError
# raise ValueError("input is not valid")
# raise Exception("에러에러에러!!")
예외를 발생시키고 싶을 때 사용하는 키워드.
raise 뒤에 예외 키워드를 작성해 원하는 메시지가 출력되도록 할 수 있다.
a = True
print("Hello") if a is True else print("Bye")
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.
nums = [3, 5, 2, 1, 4]
nums.sort()
sort
: 리스트의 내장 함수 . 원본 리스트 자체의 순서를 바꾼다.
메모리 사용량에 있어서 sorted보다 좋다.
💡 Dictionary의 경우 python 3.6
이전 버전에서는 순서를 보장하지 않고 저장됐지만, 이후로는 기본 Dictionary도 Ordered Dictionary와 똑같이 작동한다.
순서가 있는 Dictionary에 대해 하위호환성을 고려한다면 Ordered Dictionary를, 아니라면 기본 Dictionary를 사용하면 된다.