파이썬
-
[파이썬] 파이썬은 모든것이 객체다개발 2024. 5. 9. 11:52
파이썬은 모든것이 객체다 파이썬에선 모든것이 객체라는 말이 있다. 이게 무슨 말인지 모르더라도 파이썬을 사용하는데 큰 문제는 없다. 하지만 좀더 깊게 들어가고 싶다면 한번쯤 공부해보고 가는 것이 좋다. 우선 아래 코드를 실행하면class A: passa = A()print(type(a)) # class A 라고 출력된다. 변수 a 는 A 라는 클래스의 객체이기 때문이다. 그런데 배열과 정수, 문자열에 대해서도 동일하게 출력해보면, 타입 정보와 함께 앞에 class 가 붙여서 나온다.print(type([1,2,3,4])) # print(type(5)) # print(type("1234")) # 심지어 추가한 함수와 len 처럼 빌트인 함수도 클래스의 일종이다.def foo(): passpr..
-
__init__.py 를 이용한 모듈 관리개발 2024. 5. 8. 10:17
파이썬 3.3 이전에는 __init__.py 는 디렉토리가 파이썬 패키지임을 명시할 때 필요했었다면 이제는 __init__.py 가 없어도 없어도 자동으로 디렉토리를 패키지로 인식한다. 대신에 __init__.py 를 사용하면 패키지 내부에 있는 클래스 선언을 하나로 모아줄 수 있는 장점이 있다. 이런 프로젝트 구조를 가지고 있고├── main.py└── phone ├── galaxy.py └── iphone.py galaxy.py 와 iphone.py 에서 각각 클래스를 선언했다면# galaxy.pyclass Galaxy: def __init__(self) -> None: pass# iphone.pyclass Iphone: def __init__(self) -> No..
-
파이썬 - 리스트 컴프리헨션개발 2024. 5. 3. 13:12
개인적으로 파이썬은 가독성이 좋은 언어라고 생각하는데 가독성을 돕는 대표적인 기능이 리스트 컴프리헨션이다 리스트 요소들에 제곱 값을 새로운 리스트로 만들기 위해선 아래 코드처럼 map 이라는 함수를 사용해서 구현하는데numbers = [1, 2, 3, 4, 5]square_numbers = map(lambda num: num**2, numbers) 리스트 컴프리헨션을 사용하면 함수없이 구현할 수 있다. square_numbers = [num**2 for num in numbers] 처음 사용할 때는 문법이 익숙하지 않을수도 있다. 연산이 먼저 나오고 뒤에 for 문이 나오는 문법이 대부분 프로그래머한테 익숙한 형태는 아니다. 그런데 자주 사용하다보면 따로 함수를 만들지 않아도 되기 때문에 편하게 쓸 수..