Wpis z mikrobloga

Cześć mirki! ( ͡º ͜ʖ͡º)
Zacząłem uczyć się programowania w pythonie. Uważam, że idzie mi całkiem dobrze.
Napisałem dziś klasyczną mini gierkę którą chyba każdy programista pisze na początku swojej "drogi" i chciałbym prosić bardziej doświadczonych mirków o ocenę mojego kodu w początkowej fazie uczenia się.

Mój kod
Czy jest coś czego mam unikać, a jest w moim kodzie?

To nie jest mój pierwszy język którego próbowałem się uczyć.

#naukaprogramowania #python
  • 20
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@grzesiooxd: tak na szybko to moja rada jest taka, że jak używasz tylko kilku metod z modułu to możesz to zrobić tak: from *module* import *method*
edit: 2. do obsługi błędów używaj try: ... except
3. Używaj Pythona 3.5 !!!
  • Odpowiedz
@grzesiooxd: Tak na pierwszy rzut oka, istnieje pewna zasada clean code, która mówi, że kod powinien się tłumaczyć sam, komentarze go tylko zaśmiecają. Próbuj pisać tak, żeby było wiadomo o co chodzi bez komentowania wszystkiego.
  • Odpowiedz
@bubafed:

tak na szybko to moja rada jest taka, że jak używasz tylko kilku metod z modułu to możesz to zrobić tak: from module import method


W tym wypadku dobrze zrobił, że importuje całe biblioteki. Nikt potem czytając kodu nie musi się domyślać, co to i skąd jest "system" czy "name", bo widzi do jakiej przestrzeni nazw (biblioteki os) należy dany obiekt. Co innego, jakby ktoś importował w Django jakiś
  • Odpowiedz
@grzesiooxd: ogólnie w programowaniu jest tak, ze zamiast == True, dajesz po prostu if (statement), nie jestem pewien czy akurat w pythonie tez tak jest, ale mozna sprobowac

if checknumber(innumber, number) == True:
=
if checknumber(innumber, number):
  • Odpowiedz
@grzesiooxd: weź sobie do serca radę @niezielony. Podejrzewam, że w szkole lub na studiach mogli cię uczyć, że powinno się komentować kod, ale prawda jest właśnie taka że im mniej komentarzy tym lepiej (kluczowa sprawa to dobre nazywanie zmiennych i funkcji).
  • Odpowiedz
@Melcma: Dzięki za tą uwagę. Zgadza się, masz rację.
Tylko, że na początku trochę inaczej miało to wyglądać bo chciałem zaprzeczyć to w mniej więcej taki sposób:


( ͡ ͜ʖ ͡)

No i mi nie działało, więc bez zastanawiania się, zrobiłem odwrotnie i taki twór na szybko mi wyszedł. Teraz już wiem, że w pythonie, w takich sytuacjach, zaprzecza się przez 'not'.
  • Odpowiedz
@airdong: Uczę się sam, ale właśnie w różnych książkach wyczytałem, że kod powinien być dobrze ospisany. Po opanowaniu podstaw mam zamiar przeczytać książkę o prawidłowym opisie kodu.

Zbyt dosłownie zrozumiałem to "dobrze opisany".
  • Odpowiedz
@tusiatko: no to wygląda na to, że ktoś chciał cię wprowadzić w błąd. ogólnie zasada jest taka, że jak możesz coś zrobić w Python 3.X to zrób to w Python 3.X
  • Odpowiedz
@doniec: Dzięki za rady.
Przerobiłem sobie już wszystko pod pythona 3. To dopiero mój drugi dzień z pythonem, nawet nie odczuje zmiany.

Czytając inne kody na githubie spotkałem się z tym "if _name == 'main_'", ale dopiero teraz doczytałem o co chodzi. Następnym razem zrobię to lepiej.

Nie do końca wiem jak mógłbym się pozbyć tego breaka. Mógłbyś powiedzieć coś więcej?
  • Odpowiedz