Lepszy kod w Pythonie. Przewodnik dla aspiruj - Helion
ebook
Autor: David MertzISBN: 9788375415452
stron: 288, Format: ebook
Data wydania: 2024-07-30
Ksi臋garnia: Helion
Cena ksi膮偶ki: 71,82 z艂 (poprzednio: 79,80 z艂)
Oszcz臋dzasz: 10% (-7,98 z艂)
Tagi: Python - Programowanie
Osoby kt贸re kupowa艂y "Lepszy kod w Pythonie. Przewodnik dla aspiruj", wybiera艂y tak偶e:
- GraphQL. Kurs video. Buduj nowoczesne API w Pythonie 169,00 z艂, (50,70 z艂 -70%)
- Receptura na Python. Kurs Video. 54 praktyczne porady dla programist 199,00 z艂, (59,70 z艂 -70%)
- Podstawy Pythona z Minecraftem. Kurs video. Piszemy pierwsze skrypty 149,00 z艂, (44,70 z艂 -70%)
- Tw贸rz gry w Pythonie. Kurs video. Poznaj bibliotek臋 PyGame 249,00 z艂, (74,70 z艂 -70%)
- Data Science w Pythonie. Kurs video. Algorytmy uczenia maszynowego 199,00 z艂, (59,70 z艂 -70%)
Spis tre艣ci
Lepszy kod w Pythonie. Przewodnik dla aspiruj膮cych ekspert贸w eBook -- spis tre艣ci
- Spis tre艣ci
- Przedmowa
- Wst臋p
- Podzi臋kowania
- O autorze
- Wprowadzenie
- Przechodzenie w p臋tli po niew艂a艣ciwych rzeczach
- 1.1 (Rzadko) generuj list臋 na potrzeby iteracji
- 1.2 U偶ywaj enumerate() zamiast przechodzi膰 w p臋tli po indeksie
- 1.3 Nie iteruj po dict.keys(), je艣li chcesz dict.items()
- 1.4 Zmienianie obiektu w czasie iteracji
- 1.5 P臋tle for s膮 bardziej idiomatyczne ni偶 p臋tle while
- 1.6 Operator mors dla blok贸w p臋tli i p贸艂
- 1.7 zip() upraszcza korzystanie z wielu obiekt贸w iterowalnych
- 1.8 zip(strict=True) i itertools.zip_longest()
- 1.9 Podsumowanie
- Mylenie r贸wno艣ci z to偶samo艣ci膮
- 2.1 P贸藕ne wi膮zanie domkni臋膰
- 2.2 Nadmierne sprawdzanie warto艣ci logicznych
- 2.3 Por贸wnywanie x == None
- 2.4 Nieporozumienia zwi膮zane ze zmiennymi argumentami domy艣lnymi
- 2.4.1 Podej艣cie pierwsze: u偶yj klasy
- 2.4.2 Podej艣cie drugie: u偶yj wartownika None
- 2.4.3 Podej艣cie trzecie: skorzystaj z generator贸w stanowych
- 2.5 Kopie kontra referencje do zmiennych obiekt贸w
- 2.6 Mylenie operatora is z == (w obecno艣ci internowania)
- 2.7 Podsumowanie
- Mieszanka problem贸w w Pythonie
- 3.1 Nazywanie rzeczy
- 3.1.1 Nazywanie pliku tak samo jak modu艂 biblioteki standardowej
- 3.1.2 Unikaj u偶ywania import *
- 3.1.3 Puste lub zbyt og贸lne instrukcje except
- 3.2 Kwadratowa z艂o偶ono艣膰 naiwnej konkatenacji tekst贸w
- 3.3 U偶yj mened偶era kontekstu do otwarcia pliku
- 3.3.1 Pierwsze niebezpiecze艅stwo
- 3.3.2 Drugie niebezpiecze艅stwo
- 3.3.3 Poprawianie krucho艣ci
- 3.4 Opcjonalny argument key dla .sort() i sorted()
- 3.5 U偶yj dict.get() dla niepewnych kluczy
- 3.6 Podsumowanie
- 3.1 Nazywanie rzeczy
- Zaawansowane u偶ytkowanie Pythona
- 4.1 Por贸wnywanie type(x) == type(y)
- 4.2 Nazywanie rzeczy (nowe spojrzenie)
- 4.2.1 Nadpisywanie nazw wbudowanych
- 4.2.2 Uzyskiwanie bezpo艣redniego dost臋pu do atrybutu chronionego
- 4.3 Pami臋taj o rzadziej u偶ywanych funkcjach
- 4.3.1 Debugowanie sformatowanego tekstu
- 4.3.2 Elegancka magia dekorator贸w
- 4.3.3 U偶ywanie itertools (w odpowiednim stopniu)
- 4.3.4 Biblioteka zewn臋trzna more-itertools
- 4.4 Adnotacje typ贸w nie s膮 typami w czasie wykonywania
- 4.4.1 Adnotacje typ贸w nie s膮 ograniczeniami w czasie wykonywania
- 4.4.2 Mylenie typing.NewType() z typem w czasie wykonywania
- 4.5 Podsumowanie
- To, 偶e mo偶esz, nie znaczy, 偶e powiniene艣
- 5.1 Metaklasy
- 5.2 Ma艂pie 艂atanie
- 5.3 Gettery i settery
- 5.4 艁atwiej prosi膰 o przebaczenie ni偶 o pozwolenie
- 5.5 Strukturalne dopasowywanie wzorc贸w
- 5.6 Wyra偶enia regularne i katastrofalne cofanie
- 5.7 Podsumowanie
- Wybieranie odpowiedniej struktury danych
- 6.1 collections.defaultdict
- 6.2 collections.Counter
- 6.2.1 Rozwi膮zanie
- 6.2.2 B艂膮d
- 6.3 collections.deque
- 6.3.1 Rozwi膮zanie
- 6.3.2 B艂膮d
- 6.4 collections.ChainMap
- 6.4.1 Rozwi膮zanie
- 6.4.2 B艂膮d
- 6.5 Klasy danych i krotki nazwane
- 6.5.1 Korzystanie z krotek nazwanych
- 6.5.2 Statyczne kontra dynamiczne
- 6.5.3 Klasy danych
- 6.6 Wydajne konkretne sekwencje
- 6.7 Podsumowanie
- Niew艂a艣ciwe wykorzystywanie struktur danych
- 7.1 Kwadratowa z艂o偶ono艣膰 wielokrotnego wyszukiwania na li艣cie
- 7.2 Usuwanie lub dodawanie element贸w do 艣rodka listy
- 7.2.1 Bardziej wydajne struktury danych
- 7.3 Teksty s膮 obiektami iterowalnymi tekst贸w
- 7.4 (Cz臋sto) u偶ywaj enum zamiast STA艁EJ
- 7.5 Poznaj mniej popularne metody s艂ownika
- 7.5.1 S艂owniki definiuj膮ce obiekty
- 7.5.2 Powr贸t do naszego planowanego b艂臋du
- 7.6 JSON nie obs艂uguje w Pythonie konwersji w obie strony
- 7.6.1 Informacje podstawowe na temat formatu JSON
- 7.6.2 Dane, kt贸re nie s膮 konwertowane w obie strony
- 7.7 Tworzenie w艂asnych struktur danych
- 7.7.1 Kiedy tworzenie w艂asnej struktury danych jest z艂ym pomys艂em
- 7.7.2 Kiedy tworzenie w艂asnej struktury danych jest dobrym pomys艂em
- 7.7.3 Najwa偶niejsze wnioski
- 7.8 Podsumowanie
- Bezpiecze艅stwo
- 8.1 Rodzaje losowo艣ci
- 8.1.1 U偶ywaj modu艂u secrets na potrzeby losowo艣ci kryptograficznej
- 8.1.2 Odtwarzalne rozk艂ady losowe
- 8.2 Umieszczanie hase艂 lub innych sekret贸w w bezpiecznym kodzie 藕r贸d艂owym
- 8.3 Tworzenie w艂asnych mechanizm贸w bezpiecze艅stwa
- 8.4 U偶ywaj SSL/TLS na potrzeby mikrous艂ug
- 8.5 Korzystanie z zewn臋trznej biblioteki requests
- 8.6 Ataki SQL Injection, gdy nie korzysta si臋 z DB-API
- 8.7 Nie u偶ywaj assert do sprawdzania za艂o偶e艅 bezpiecze艅stwa
- 8.8 Podsumowanie
- 8.1 Rodzaje losowo艣ci
- Obliczenia numeryczne w Pythonie
- 9.1 Liczby zmiennoprzecinkowe IEEE-754
- 9.1.1 Por贸wnywanie warto艣ci NaN (i innych liczb zmiennoprzecinkowych)
- 9.1.2 Warto艣ci NaN i statistics.median()
- 9.1.3 Naiwne u偶ycie liczb zmiennoprzecinkowych: 艂膮czno艣膰 i rozdzielno艣膰
- 9.1.4 Naiwne u偶ycie liczb zmiennoprzecinkowych: szczeg贸艂owo艣膰
- 9.2 Numeryczne typy danych
- 9.2.1 Unikaj liczb zmiennoprzecinkowych w obliczeniach finansowych
- 9.2.2 Nieoczywiste zachowania numerycznych typ贸w danych
- 9.3 Podsumowanie
- 9.1 Liczby zmiennoprzecinkowe IEEE-754
- Tematy na inne ksi膮偶ki
- A.1 Test-Driven Development (TDD)
- A.2 Wsp贸艂bie偶no艣膰
- A.3 Tworzenie pakiet贸w
- A.4 Sprawdzanie typ贸w
- A.5 Biblioteki numeryczne i biblioteki ramek danych
- Indeks
- Polecamy tak偶e: