
이번에 알고리즘스터디하는데 파이썬으로 한다. 평소 껄덕거리던 언어긴한데 진득하게 판적은없다
기본문법을 알고 있어야 알고리즘 문제풀이하는데 용이하지 싶어 정리해본다,,
다만 참고하기엔 너무 더럽고 난잡할테니 양해부탁드림
파이썬에서 변수의 타입(type)은 고정되어 있지 않기 때문에 개발자가 원하면 자유롭게 바꿀 수 있다. 진짜근본없네 ㅋㅋ 하지만 유연한 파이썬의 타입 처리덕에 타입을 명시적으로 표시할 필요가 없으므로 파이썬은 다른 언어에 비해 매우 간단명료한 코드를 작성할 수 있는 것,,
타입 힌팅(type hinting)은 말 그대로 파이썬 코드를 작성할 때 타입에 대한 메타 정보를 제공하는 것입니다.
타입 힌팅에서는 타입 어노테이션(annotation)이라는 새로운 방법으로 파이썬 코드의 타입 표시를 표준화합니다. 따라서 코드 편집기(IDE)나 린터(linter)에서도 해석할 수 있도록 고안되었으며, 코드 자동 완성이나 정적 타입 체킹에도 활용되고 있습니다.
뭐라는지 잘모르겠지만 여튼 읽기쉽게해준당
name: str = "John Doe"
age: int = 25
emails: list: ["john1@doe.com", "john2@doe.com"]
address: dict = {
"street": "54560 Daugherty Brooks Suite 581",
"city": "Stokesmouth",
"state": "NM",
"zip": "80556"
}
먼저 매우 간단한 변수에 타입 어노테이션을 추가하는 방법에 대해서 알아보겠습니다. 변수 이름 뒤에 콜론(:)을 붙이고 타입을 명시해주면 됩니다.
함수에 타입 힌탕을 적용할 때는 인자 타입과 반환 타입, 이렇게 두 곳에 추가해줄 수 있습니다.
인자에 타입 어노테이션을 추가할 때는 변수와 동일한 문법을 사용하며, 반환값에 대한 타입을 추가할 때는 화살표(->)를 사용합니다.
def 함수명(<필수 인자>: <인자 타입>, <선택 인자>: <인자 타입> = <기본값>) -> <반환 타입>:
...
def stringify(num: int) -> str:
return str(num)
def plus(num1: int, num2: float = 3.5) -> float:
return num1 + num2
def greet(name: str) -> None:
return "Hi! " + str
def repeat(message: str, times: int = 2) -> list:
return [message] * times
참고로 콜론(:)과 화살표(->)를 사용할 때는 파이썬의 관행을 따라 콜론은 뒤에만 한 칸을 뛰우고, 화살표는 앞뒤로 한 칸을 띄웁니다.
이게 젤헷갈렷다 화살표 ㅋㅋ 반환타입인줄은 상상도못했슴,,
여튼담에 더알아보도록하자