Archiwa tagu: python

Stringi w Pythonie

Dziś będzie o Pythonie – krótka ściągawka: Stringi w Pythonie. Czytam akurat podręcznik pt. „Zanurkuj w Pythonie” – i już od samego początku pojawia się sporo ciekawostek, które warto zanotować.

Stringi

Obsługa znaków unikodu, np. polskie znaki – należy dodać znaczek u przed stringiem.

Wyłączenie obsługi znaków specjalnych, tj. np.:

  • znaku nowej linii \n
  • tryb „raw„, znaczek r przed stringiem.

>>> r = r'\n\nraw'
>>> ra = r"\n\nraw"
>>> u = u'śśśś'
>>> ua = u"źźźź"

Do stringów można używać zarówno pojedynczego, jak podwójnego cudzysłowu.

Potrójny cudzysłów (obojętnie czy pojedynczy czy podwójny) oznacza natomiast string wielolinijkowy. Przyjęło się, że używa się go jako wieloliniowy komentarz lub krótką dokumentację funkcji.

>>> dl = """to bedzie
bardzo dlugi
tekst"""
>>> print dl
to bedzie
bardzo dlugi
tekst
>>> a = '''to bedzie
dlugi te
kst'''
>>> print a
to bedzie
dlugi te
kst

Zanurkuj w Pythonie – recenzja podręcznika

Odważyłam się i zanurkowałam w paszczy Pythona 😉 A konkretnie to udało mi się przebrnąć przez „Zanurkuj w Pythonie” Marka Pilgrima. Podręcznik dostępny jest za darmo tu: https://pl.wikibooks.org/wiki/Zanurkuj_w_Pythonie (i to w dodatku po polsku).

Zanurkuj w Pythonie? Na początek polecam nurkowanie w chłodnym potoku!

Zanurkuj w Pythonie. Albo w chłodnym potoku. Foto: moje, data nieznana

Książka jest bardzo przekrojowa – obejmuje szerokie spektrum tematów: instalacja, sprint (dosłownie) przez składnię języka, operacje na plikach i strumieniach, parsowanie XML i HTML, obsługa usług sieciowych SOAP i HTTP, testy jednostkowe. Potem przychodzi czas na wyrażenia lambda, funkcje dynamiczne i optymalizację kodu.

Każdy rozdział jest zbudowany wg podobnego schematu: przedstawienie kompletnego kodu programu, a następnie tłumaczenie linijka po linijce. Co więcej, autor udostępnia na swojej stronie kody źródłowe, więc lekturę można uzupełnić własnymi doświadczeniami.

Gdy zabierałam się za lekturę, o Pythonie nie wiedziałam praktycznie nic (mając jednocześnie doświadczenia z Javy, Ruby czy innych języków) i nawet będąc już w połowie lektury nadal wydawało mi się, że ten stan rzeczy nie uległ zmianie. Początkowo irytowało mnie , że książka jedynie ogólnie nakreśla podstawy, nie opisuje wszystkich możliwych funkcji, tylko skupia się na kilku, użytych w programie. Tymczasem autor w każdym rozdziale pisze, aby wiedzę uzupełnić u źródła, tj. przeczytać odpowiedni fragment dokumentacji Pythona. Fajnie, ale wymaga to czytania podręcznika na komputerze, a nie na Kindlu… Na szczęście druga część książki poszła już z górki, możliwe że dlatego, że „opatrzyłam się” już ze składnią. Bardzo podobały mi się rozdziały o testach (bycie QA zobowiązuje 😉 ). Ciekawy był rozdział o optymalizacji, brakowało mi jednak lepszego podsumowania, jakiejś tabelki, które podejścia są zasobożerne, a które nie. Czytaj dalej