2010-02-09 18 views
5

Wykonuję podstawowe programowanie Pythona, a teraz chcę zagłębić się w funkcje językowe. Zbierałem/rozważałem następujące możliwości zaawansowanego programowania Pythona i uczenia się ich teraz.Jakie funkcje są uważane za zaawansowane python?

  1. Dekorator
  2. Iterator
  3. Generator
  4. Meta Klasa

coś jeszcze do dodania/uważane powyższej liście?

+1

IMHO, to podstawowe cechy tego języka. Programowanie "zaawansowane" polega na używaniu/pisaniu złożonych, nietrywialnych bibliotek do wykonywania prawdziwej pracy. –

+0

Jego wiki społeczności teraz. Zapraszam do aktualizacji .. –

+0

To niesamowite, jak widzicie, że ludzie używają wszystkich tych funkcji, a następnie ponownie zaimplementujcie rzeczy z powiedzenia textwrap lub itertools, ponieważ oni nie znają biblioteki tak dobrze. Również wiedza, kiedy wybrać listę/zestaw/tablicę/heapq/deque, wydaje się być trudna dla niektórych. –

Odpowiedz

1

Pierwsze 3 są pośrednimi pythonami, nie są zaawansowane. Aby uzyskać zaawansowane, dodaj elementy w sekcji Importing Modules i Python Language Services odniesienia biblioteki.

+1

Nie jestem pewien, czy dekorator i klasa meta są uważane za pośrednie. Rzadko używamy go w codziennym programowaniu, chyba że tworzymy framework. –

+1

"metaclass" nie jest częścią "pierwszych 3". Jest zdecydowanie zaawansowany, ponieważ trudno go uchwycić i łatwo go nadużyć. Zgadzam się, że dekorator (jak przy ich pisaniu) JEST pośredni. Być może jest to wymagane tylko przy tworzeniu frameworku, ale każda nietrywialna aplikacja kończy tworzenie własnej struktury. – ddaa

2

Po pierwsze, ten wątek powinien być wiki społeczności.

Po drugie, iteratory i generatory są dość podstawowym IMHO w języku Python. Zgadzam się z Państwem w sprawie dekoratorów i metaclasses. Ale nie jestem dobrym programistą, więc prawdopodobnie trudniej jest mi owijać mózg niż innym.

Po trzecie, dodałbym do listy wątki/proces wieloprocesowy. To naprawdę trudne :)

+0

dodane jako wiki społeczności. –

+0

Hej, pomyślałem, że gdy pytanie dotyczy społecznościowej wiki, odpowiedzi też są. Oczywiście, że nie, więc zmieniłem też odpowiedź na cw. –

2

Istnieje kilka przydatnych pojęć podstawowych, które można dodać do listy, i że nie muszą uczyć się w wprowadzający klasy Pythona (od najczęściej do bardziej specyficzne):

Niektóre punkty RELAT ed ważnych modułów standardowych:

  • Dokonywanie klas kompatybilny ze standardowymi copy i pickle modułów.
1

Myślę, że przekonasz się, że nie ma dobrej odpowiedzi na twoje pytanie. W Pythonie jest dobrze, że wszystkie jego funkcje są dość łatwe do zrozumienia. Ale w języku i bibliotece jest wystarczająco dużo rzeczy, których nigdy nie nauczysz się wszystkiego. Tak naprawdę to sprowadza się do tego, z czego miałeś okazję skorzystać i o którym tylko słyszałeś.

Jeśli nie korzystałeś z dekoratorów lub generatorów, brzmią one zaawansowane. Ale kiedy będziesz musiał ich użyć w rzeczywistej sytuacji, zdasz sobie sprawę, że są naprawdę bardzo proste i zastanawiają się, jak udało ci się już bez nich żyć.

Powiązane problemy