파이썬
-
[공부] 파이썬 코딩의 기술 책 정리 #5파이썬/책 정리 2021. 3. 31. 16:03
5. 클래스와 인터페이스 파이썬은 상속, 다형성, 캡슐화등과 같은 모든 기능을 제공한다. 37. 내장 타입을 여러 단계로 내포시키기보다는 클래스를 합성하라 파이썬의 내장 딕셔너리 타입을 사용하면 객체의 생명 주기 동안 동적인 내부 상태를 유지할 수 있다. 동적 은 어떤 값이 들어올지 미리 알 수 없는 식별자들을 유지해야 한다는 뜻이다. class SimpleGradeBook: def __init__(self): self._grades = {} def add_student(self, name): self._grades[name] = [] def report_grade(self, name, score): self._grades[name].append(score) def average_grade(self, n..
-
[공부] 파이썬 코딩의 기술 책 정리 #4파이썬/책 정리 2021. 3. 28. 12:23
4. 컴프리헨션과 제너레이터 컴프리헨션 코딩 스타일은 제너레이터 이라는 특별한 구문을 사용해 이런(리스트, 딕셔너리, 집합 등) 타입을 간결하게 이터레이션하면서 원소로부터 파생되는 데이터 구조를 생성할 수 있다. 제너레이터는 함수가 전짐적으로 반환하는 값으로 이뤄지는 스트림을 만들어준다. 이터레이터를 사용할 수 있는 곳이라면 어디에서나 제너레이터 함수를 호출한 결과를 사용할 수 있다. 27. map과 filter 대신 컴프리헨션을 사용하라 다른 시퀀스나 이터러블에서 새 리스트를 만들어내는 간결한 구문을 리스트 컴프리헨션 이라고 한다. 리스트 컴프리헨션을 사용해 루프로 처리할 대상인 입력 시퀀스의 원소에게 적용할 변환식을 지정함으로써 같은 결과를 얻을 수 있다. squares = [x**2 for x in..
-
[공부] 파이썬 코딩의 기술 책 정리 #3파이썬/책 정리 2021. 3. 26. 13:24
Chapter3. 함수 19. 함수가 여러 값을 반환하는 경우 절대로 네 값 이상을 언패킹하지 말라 악어 개체의 몸 길이가 전체 개체군의 몸 길이 평균에 비해 얼마나 큰지 계산하는 함수를 작성한다면, def get_avg_ratio(numbers): average = sum(sumbers) / len(numbers) scaled = [x / average for x in numbers] scaled.sort(reverse=True) return scaled lengths = [63,75,85,64,34,74,53,88,53,86] longest, * middle, shortest = get_avg_ratio(lengths) print(f"최대 길이: {longest:>4.0%}") # 최대 길이: 130..
-
[공부] 파이썬 코딩의 기술 책 정리 #2파이썬/책 정리 2021. 3. 24. 11:29
리스트와 딕셔너리 리스트를 자연스럽게 보완 할 수 있는 타입이 딕셔너리 타입이다. 딕셔너리 타입은 검색에 사용할 키와 키에 연관된 값을 저장한다.(해시테이블, 연관 배열) 동적인 정보를 관리하는 데는 딕셔너리가 가장 이상적이다. 11. 시퀀스를 슬라이싱하는 방법을 익혀라 시퀀스를 여러 조각으로 나누는 슬라이싱 구문이 있다. 최소한의 노력으로 시퀀스에 들어 있는 아이템의 부분 집합에 쉽게 접근할 수 있다. 어떤 파이썬 클래스에도 슬라이싱을 추가할 수 있다. __getitem__과 __setitem 특별 메서드를 구현하면 된다. 리스트의 맨 앞부터 슬라이싱할 때는 시각적 잡음을 없애기 위해 0을 생략한다. 리스트의 끝에서부터 원소를 찾고 싶을 때는 음수 인덱스를 사용하면된다. a = list(range(10..
-
[공부] 파이썬 코딩의 기술 책 정리 #1파이썬/책 정리 2021. 3. 22. 23:25
파이썬답게 생각하기 Pythonic 파이썬 커뮤니티 유저들은 특정한 스타일을 따르면 코드를 말하기 위해 '파이썬답다'라는 형용사를 사용한다. 엄격하게 통제하며 사용하라고 강요하는 스타일은 아니지만 협업하는 과정에서 자연스럽게 생겨난 스타일이다. 파이썬 프로그래머는 명시적인 것을 좋아하고, 단순하며 가독성을 최대한 높이려고 노력한다. 퍄이썬에서 가장 일반적인 작업을 수행하는 "파이썬다운"방식을 알아야 한다. 이것이 모든 파이썬 프로그래밍에 영향을 미칠 것이다. 1. 사용 중인 파이썬의 버전을 알아두라 파이썬 버전을 정확히 아는 방법 $ python --version 파이썬3은 보통 python3이라는 이름을 사용한다. $ python3 --version 현재 실행중인 파이썬 버전을 아는 방법은 sys 내장..
-
[Django] setting.py 파헤치기 #2파이썬/Django 2021. 3. 5. 16:33
MIDDLEWARE MIDDLEWARE = [ "django.middleware.security.SecurityMiddleware", "django.contrib.sessions.middleware.SessionMiddleware", "django.middleware.common.CommonMiddleware", "django.middleware.csrf.CsrfViewMiddleware", "django.contrib.auth.middleware.AuthenticationMiddleware", "django.contrib.messages.middleware.MessageMiddleware", "django.middleware.clickjacking.XFrameOptionsMiddleware", ] Se..
-
[Django] setting.py 파헤치기 #1파이썬/Django 2021. 3. 3. 21:31
Django의 settings.py를 이해하기 위해 처음부터 끝까지 낱낱이 파헤쳐본다! BASE_DIR from pathlib import Path BASE_ DIR = Path(__file__).resolve().parent.parent pathlib 모듈은 다른 운영 체제에 적합한 의미 체계를 가진 파일 시스템 경로를 나타내는 클래스를 제공한다. 코드가 실행되는 플랫폼의 구상 경로를 인스턴스화 하는 것이다. 따라서, Path(__file__)은 현재 파일의 구상 경로를 인스턴스화 하고 resolve() 메서드를 통해 절대경로를 반환한다. 그리고 부모 경로로 2번 옮겨가면 django 프로젝트가 생성된 위치가 BASE_DIR 변수로 인스턴스화 된 것 from pathlib import Path prin..
-
파이썬 알파인 이미지란 무엇일까?파이썬/Etc. 2021. 1. 8. 13:01
유데미 아카데미 drf 프로젝트 수강중에 python:3.7-alpine 이미지를 도커 컨테이너에 올리는 챕터가 있었다. 그래서 이번 기회에 alpine이 도대체 무엇인지 알아본다! hub.docker.com/_/python python - Docker Hub We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy pol..