Python - wersja 2.x czy 3.x?

0

Witam
Na początku dodam, że w środowisku Pythona jestem całkowicie zielony. Chcę tak w między czasie w nim popisać i po rozeznaniu patrzę, że ludzie narzekają na wersje 3.3.3.
Przeglądałem np bilbioteke wxPython do tworzenia GUI - to z tego co zrozumiałem muszę mieć Pythona 2.6 lub max 2.7. Zgodnie z tym co pisałem wyżej, czytałem, że ludzie narzekają na nową wersje 3.3.3 bo podobno zmieniło się w niej bardzo dużo w stosunku do 2.7.

Stąd jawi się pytanie: na której wersji interpretatora Pythona działać? Z jednej strony, z tego co widzę, dla wersji 2.7 mam większe wsparcie, i jakieś ciekawe biblioteki. Na 3.3.3 natomiast głucho i łyso, ale jest to w końcu przyszłość pythona.

Stąd pytam was pythonowcy za co byście się brali "If I were you"

pozdrawiam! :)

1

Dosyć dużo zmienia się praktycznie z wersji na wersję, więc to niekoniecznie powód do narzekania... W tej chwili więcej materiałów znajdziesz do 2.7 (od manuali po jakieś faq'i). Coraz więcej bibliotek (tych poważniejszych) już oferuje wsparcie dla 3.* (w tym np. django i pyqt), więc nie jest tak źle - po prostu ucząc się 2.7.* zwracaj uwagę (chociażby z ciekawości) jakie zmiany w stosunku do tego co używasz są w 3.* - i tak Cię to nie minie ;)

1

Jeśli chodzi o GUI to jest pyQt
Jeśli chodzi o Pythona jako takiego to nie uważam zeby różnice były aż takie wielkie, szczególnie dla początkującego. Na dobrą sprawę mozesz klepać kody które pójdą na obu wersjach intepretera. Subiektywnie 3 ma więcej zabawek w bibliotece standardowej :) (np. mocki)

0

@Shalom @madmike
chodzi właśnie o to, żeby nie odgrzewać starego kotleta i wejść w to z myślą, że nie będę się w niego bawił miesiąc tylko jakoś na dłużej, dlatego skłaniam się ku wersji 3.3.3, z tym, że widzę, że wsparcie większe ma 2.7
Myślicie ze warto brać się za 3.3.3 i używać póki to, co jak mówicie dają poważniejsze biblioteki tj. Django lub pyQt i czekać na dalszy rozwój?:)

Post Scriptum
@Shalom gdzieś pisałeś, że aktualnie kodzisz w Pythonie, wiem, że to nie na temat, ale nie chce pisać pw, jakie rodzaje aplikacji pisze się teraz "w świecie pracy" w Pythonie? :) innymi słowy co najlepiej pisać w pythonie(mimo, że to język ogólnego zastosowania) czysto z ciekawości

1

@azalut ale nauka pythona 2.7 to nie jest jakiś odgrzewany kotlet ;) różnice będziesz miał na poziomie API, którego i tak nie uczysz się na pamięć, więc jak nagle przy konwersji na stringa zacznie cię IDE prosić o kodowanie a kiedyś nie prosiło to raczej ogarniesz sytuację ;) Dlatego nie uważam zeby to była jakaś wielka różnica.
BTW jest nawet Python 3.4 beta już od jakiegoś czasu.

Nie jestem chyba zbyt reprezentatywny jeśli chodzi o to co robię w pracy, bo jednak praca dość nietypowa (patrz: mój profil). Ja akurat stukam prostą aplikacje webową w web2py (nie ja wybierałem, nie polecam) oraz dość skomplikowany moduł obliczeniowy (w czystym pythonie, zgodny zarówno z 2.7 jak i 3.3, odpalany pod pypy) do przetwarzania i dekodowania danych.

0

@Shalom może trochę źle się wyraziłem co do tego kotleta, chodzi mi o to bardziej, że jak za rok czy dwa gdzieś w CV będę chciał wpisać ze znam Pythona, to żeby się nie okazało, że zaszły jakieś kolosalne różnice w API. Wiem, że ciągle należy być gotowym na nowości i nie stać ciągle przy jednym(np. tylko 2.7), ale to tylko tak ze swojej przezorności myśle.. :D

Czyli z reguły z Pythonie można walnąć dobra aplikacje GUI, można aplikacje webową, można moduły obliczeniowe, a jak bozia da to i pewnie z OpenGL idzie gre napisać? i do wszystkiego nadaje sie tak samo?

A jak z IDE, jakiego używasz sam/używasz w pracy? Ja ściągnąłem PyCharm - dlatego, że IntelliJ w Javie bije na łopatki :)

0

Nadaje sie, ale weź poprawkę na wydajność pythona ;) To nie jest c++ i nawet z pypy daleko mu do tego. Ale coś za coś -> kod napiszesz znacznie szybciej.
PyCharm :) Eclipse nawet z najnowszych PyDevem jest daleko daleko w tyle.

0

@Shalom hmm no tak, wydajność może mniejsza, ale użyteczność spora :) w końcu coś musi być w tym Pythonie, że kolosy tj. YouTube lub Google go używają, pytanie co to takiego?
Pierwsze o czym pomyślałem szukając IDE - na pewno JetBrains ma najlepsze, klasycznie :D

tak miedzy wierszami
do tej pory kodowałem tylko w javie (w szkole też C C++ pascal i maxymalne minimum PHP, ale to wszysko raczej mega podstawy bardziej ukierunkowane na algorytmy). Jak zaczne kodzić w Pythonie bardziej niż tylko print hello worda to będzie mi (chwilowo rzecz jasna) przeszkadzać coś w nim? typu dynamiczne typowanie itp
Wiem, że powinienem usiąść i sprawdzić, ale jak już jest okazja.. pytam ;) dziś mało czasu i tylko w miedzy czasie pisze na forum

0

Nie no, ale tak poważnie parę pytań :)

  1. Którą bibliotekę wybrać do pisania GUI? nie wiem czy dobrze myślę, ale stoje pomiędzy wxPython, a pyQt, nie wiem jakie sa miedzy nimi różnice tak właściwie (wiem ze pyQt jest w wersji 4 i 5, a google zbyt dużo o dziwo nie mówi na zapytania w stylu "pyQt4 vs pyQt5" :D) Czytałem troszke na stackoverflow ale chciałbym wasza opinie poznać. Wiem, że pyQt ma buildera, ale czy builder to dobre rozwiązanie? na początek na pewno chciałbym poznać bilbioteke ze strony kodu - dopiero potem ewentualnie buildera. (takie troche lecenie na łatwizne?) Jedna z bilbiotek ma większe wsparcie dla linuxo-podobnych, inna mniejsze, aczkolwiek obie ponoć dobre.
  2. Bilbioteka do web-dev? Django jedyna która znam z nazwy, jeszcze cos mi sie obiło o web2py
  3. Jakieś warte uwagi poradniki, docsy? bo póki co jade jak leci ze wszystkiego po trochu i wchodzi :) ale żeby nie być do tyłu z czymś (bo python jak widze ciągle do przodu idzie!) albo źle się nie wyuczyć bo potem zostanie na dłuugo

Co moglibyście doradzić? @Shalom @madmike
licze na odpowiedzi :)

0
  1. Ja korzystałem z pyQt i nie narzekałem. Masz QtDesignera więc można sobie "wyklikać" formatki.
  2. web2py jest dziwne moim zdaniem. Django jest ok, ale trochę skomplikowane i do czegoś bardzo małego użyłbym flaska zamiast django.
0

@Shalom wielkie dzieki za odp! wyjeżdżam niedługo to akurat będzie chwila na pythona :D
Ale jeszcze tak:

  1. Jak czytałem to było coś o pyQt że wersja 4 i 5, pewnie jedna do 2.x druga do 3.x? Ma to znaczenie? :P Którą wybrać?
  2. Zawsze pythona poznawałem po Django nie wiem dlaczego, taka chwytliwa nazwa jakoś :P flask rozumiem cos na krój Spring Roo(Flask) poziomem łatwości względem np. Springa MVC(Django) - tak szybciej sprawniej, ale mniej możliwości?

4.Gdybym chciał zrobić coś takiego, że program będzie logował się na jakiejś stronie: forum 4programmers, czy jakiej kolwiek innej stronie, jakiejś głównej stronie gry itd. to rozumiem, że istnieją takie bilbioteki w pythonie?:P słyszałem coś o twill i urllib ale nie jestem pewien czy to sie nada

0

Są pewne subtelne różnice pomiędzy wersją 2 a 3 pythona ale nie tak bardzo istotne, żeby było się trzeba nimi przejmować. Wiem, że są pewne problemy jeśli piszecie aplikacje webowe w Django.

  • podstawy składniowe są identyczne w przypadku obu wersji, nie znajdziesz tutaj różnic
  • jeżeli zaczniesz uczyć się pythona 2.x przechodząc na 3.x odczujesz, że wiele rzeczy można robić jeszcze prościej i czytelniej, idąc w od 3.x do 2.x będzie ci brakowało pewnych rozwiązań w starszej wersji pythona
  • aktualnie mamy wersje 2.7.3 już w roku 2008 przewidywano, że upłynie sporo czasu zanim nastąpi pełna migracja do 3.x - spodziewano się, że linia 2.x zakończy się pewnie na 2.8.x i pełna migracja będzie trwała 3 - 5 lat.
  • ja skłaniałbym się ku wersji 3.x i tej bym się uczył, jest to linia która będzie rozwijana cały czas, wprowadza wiele udogodnień

Ja korzystam z PyCharm Proffesional ale istnieje również wersja Home :)

Python jest bardzo uniwersalnym jeżykiem i moim zdaniem pisze się w tym dużo przyjmniej niż w C++.

0

Czy w Pycharmie można tworzyć gui przez przeciąganie komponentów na formatkę jak np. w IntelliJ dla androida?

0

Nie, bo Python nie ma standardowej biblioteki do tworzenia formatek. Ale jak zainstalujesz pyQt to możesz za pomocą QtDesignera tak robić.

0

Python ma standardową bibliotekę do tworzenia formatek, tkinter. Biblioteka jest, tylko z narzędziem może być gorzej :) Ale narzędzie jest jest do dociągnięcia - http://www.bitflipper.ca/rapyd/

1 użytkowników online, w tym zalogowanych: 0, gości: 1