장바구니 담기 close

장바구니에 상품을 담았습니다.

(Better Python Code) 파이썬 코딩의 기술 51

(Better Python Code) 파이썬 코딩의 기술 51

  • 데이비드 메르츠
  • |
  • 길벗
  • |
  • 2024-07-15 출간
  • |
  • 384페이지
  • |
  • 152 X 225 X 16mm
  • |
  • ISBN 9791140714056
판매가

33,000원

즉시할인가

29,700

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
29,700

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

간단하고 깔끔하게, 명확하고 효율적으로, 파이썬을 사용하라.

파이썬을 파이썬답게 사용하자
widgets.set_count(widgets.get_count() + 1) 파이썬 전문가가 이 코드를 보았다면 훨씬 직관적이고 알기 쉬운 widgets.count += 1을 사용했을 것이다. 많은 파이썬 코드가 잘못되었거나 우아하지 않거나 다른 언어를 사용하는 방식을 사용한 탓에 파이썬답지 않다.

파이썬 전문가가 되자
일반 코더와 파이썬 전문가를 구분하는 기준은 무엇일까? 단순히 관행을 아는 것에 그치지 않고, 파이썬이 가진 다양한 측면의 장점과 함정을 이해하여 왜 반드시 이 방법을 사용해야 하는지 아는 것이다. 파이썬의 강력함, 개성, 철학을 잘 이해하고 코드를 작성해보자.

함정, 문제, 시행착오를 피하자
각 장마다 파이썬 개발자들이 쉽게 빠질 수 있는 잘못, 함정, 오류를 제시하고, 이를 피하는 방법과 솔루션을 간결하고 명확한 코드 예제로 설명했다. 모든 문제는 저자가 실제 코드에서, 때로는 필드에서, 때로는 코드 리뷰 중에 발견한 문제다. 버그를 피하고 효율적인 코드를 작성하는 방법을 배우자.

[독자평]

잘 정리되어 있고 읽기 쉽습니다. 코드의 스타일과 성능을 개선하는 데 귀중한 자료입니다. 특히 보안 섹션은 모범 사례에 대한 실용적이고 높은 수준의 개요를 제공합니다. 예제는 간결하고 명확하게 설명되어 있습니다.
- Amazon 독자

목차

1장 잘못된 방식으로 순환하기
__1.1 (드물지만) 순환을 위해 목록 생성하기
__1.2 색인을 순환하는 대신 enumerate( ) 사용하기
__1.3 dict.items( )가 필요할 경우 dict.keys( )로 순환하지 않기
__1.4 순환 중 객체 변형
__1.5 while 순환보다 for 순환 사용하기
__1.6 ‘순환과 절반’을 위한 바다코끼리 연산자
__1.7 zip( )으로 다중 반복 가능 객체 간소화하기
__1.8 zip(strict=True)과 itertools.zip_longest( )
__1.9 정리

2장 동등성과 동일성의 혼동
__2.1 클로저의 늦은 연결
__2.2 불리언 논리 값에 대한 지나친 검증
__2.3 x == None 비교하기
__2.4 가변 기본 매개 변수에 대한 오해
____2.4.1 첫 번째 방법, 클래스 사용하기
____2.4.2 두 번째 방법, None 보초 값 사용하기
____2.4.3 세 번째 방법, 상태 생성기의 이점 이용하기
__2.5 가변 객체에 대한 복사 대 참조
__2.6 (재사용이 있는 상황에서) is와 == 혼동하기
__2.7 정리

3장 파이썬의 여러 가지 함정
__3.1 이름 지정
____3.1.1 표준 라이브러리 모듈과 동일한 파일 이름 사용하기
____3.1.2 import * 사용 피하기
____3.1.3 비어 있거나 지나치게 일반적인 except 문
__3.2 단순 문자열 연결의 2차 시간 복잡도
__3.3 파일을 열 때 상황 정보 관리자 사용하기
____3.3.1 첫 번째 위험
____3.3.2 두 번째 위험
____3.3.3 취약성 수정하기
__3.4 .sort( )와 sorted( )의 선택적 매개 변수 key
__3.5 불확실한 키에는 dict.get( ) 사용하기
__3.6 정리

4장 파이썬 고급 활용
__4.1 type(x) == type(y) 비교하기
__4.2 (다시 한번) 이름 지정
____4.2.1 내장 이름의 재정의
____4.2.2 보호된 속성에 직접 접근하기
__4.3 사용 빈도가 낮은 기능에 주목하기
____4.3.1 f 문자열 디버깅
____4.3.2 가공자의 우아한 마법
____4.3.3 itertools (충분히) 사용하기
____4.3.4 more-itertools 제3자 라이브러리
__4.4 자료형 주석은 실행 시간 자료형이 아니다
____4.4.1 자료형 주석은 실행 시간 제약이 아니다
____4.4.2 typing.NewType()을 실행 시간 자료형으로 오해하기
__4.5 정리

5장 할 수 있다고 해서 해야 한다는 뜻은 아니다
__5.1 메타클래스
__5.2 원숭이 패치
__5.3 읽기 메서드와 설정 메서드
__5.4 허락보다 용서받는 것이 더 쉽다
__5.5 구조적 패턴 대조
__5.6 정규 표현식과 재앙적 역추적
__5.7 정리

6장 적절한 데이터 구조 선택하기
__6.1 collections.defaultdict
__6.2 collections.Counter
____6.2.1 해결책
____6.2.2 잘못
__6.3 collections.deque
____6.3.1 해결책
____6.3.2 잘못
__6.4 collections.ChainMap
____6.4.1 해결책
____6.4.2 잘못
__6.5 데이터 클래스와 명명된 튜플
____6.5.1 명명된 튜플 사용하기
____6.5.2 정적과 동적
____6.5.3 데이터 클래스
__6.6 효과적인 구상 연속 순서열
__6.7 정리

7장 데이터 구조의 잘못된 사용
__7.1 반복된 목록 탐색의 2차 시간 복잡도
__7.2 목록 중간에서 요소를 제거하거나 추가하기
____7.2.1 좀 더 효율적인 데이터 구조
__7.3 문자열은 문자열의 반복 가능한 객체 집합
__7.4 상수를 사용하는 대신 enum을 (자주) 사용하기
__7.5 많이 알려지지 않은 사전 메서드 익히기
____7.5.1 객체를 정의하는 사전
____7.5.2 정기적으로 발생하는 잘못으로 돌아가기
__7.6 JSON과 파이썬은 서로 깔끔하게 변환되지 않는다
____7.6.1 JSON에 대한 몇 가지 배경
____7.6.2 왕복에 실패하는 데이터
__7.7 자신만의 데이터 구조 만들기
____7.7.1 자신만의 것을 만드는 것이 나쁜 생각일 때
____7.7.2 자신만의 것을 만드는 것이 좋은 생각일 때
____7.7.3 핵심 요약
__7.8 정리

8장 보안
__8.1 무작위성의 종류
____8.1.1 암호학적 무작위성을 위해 secrets 사용하기
____8.1.2 재현 가능한 무작위 분포
__8.2 ‘안전한’ 소스 코드에 비밀번호나 기타 비밀 정보 넣기
__8.3 ‘자신만의’ 보안 기제 만들기
__8.4 마이크로 서비스에 SSL/TLS 사용하기
__8.5 제3자 라이브러리 requests 사용하기
__8.6 데이터베이스 API를 사용하지 않을 경우의 SQL 주입 공격
__8.7 안전하다는 가정을 확인하기 위해 assert 사용하지 않기
__8.8 정리

9장 파이썬에서의 수치 계산
__9.1 IEEE-754 부동 소수점 숫자 이해하기
____9.1.1 NaN(그리고 다른 부동 소수점 숫자)을 비교하기
____9.1.2 NaN과 statistics.median()
____9.1.3 부동 소수점 숫자의 순진한 사용: 결합법칙과 분배법칙
____9.1.4 부동 소수점 숫자의 순진한 사용: 입자성
__9.2 숫자 자료형
____9.2.1 금융 계산에 부동 소수점 숫자를 사용하지 않기
____9.2.2 수치 데이터 자료형의 비직관적인 동작
__9.3 정리

부록 다른 책에서 읽을 만한 주제
__A.1 테스트 주도 개발
__A.2 동시성
__A.3 패키징
__A.4 자료형 검사
__A.5 수치 및 데이터프레임 라이브러리

찾아보기
파이썬 코딩의 기술 51가지 찾아보기

도서소개

 

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.