de Thomas Noe

Salut Lume! Calea pitonică

Salut Lume Calea pitonica
Bot IRC în Python

Salut Lume

Primii dezvoltatori de programe care sunt adesea prezentați este infamul Hello World. Nu contează ce limbă folosiți, probabil că ați văzut una. Dacă nu într-un tutorial, decât în ​​sălbăticie.

De ce

Această postare este pentru a sărbători Tabără Cod liber extinzându-se către sprijinirea Python, printre alte limbi interesante. Verificați anunţ pentru tine.

Rețineți că această postare nu este menită să fie un tutorial pentru noii programatori. Am inclus link-uri pentru a ajuta cititorii să înceapă cu Python.

Arată-mi un cod

Destul de vorbit. Să verificăm modul în care ați scrie Hello World în Python. Respirație profundă acum. Și plecăm.

Python3

print('Hello World!');

Fascinant nu? Cei dintre voi obișnuiți cu JavaScript s-ar putea să nu fie foarte impresionați. Exemplul JS Hello World nu ar fi mult diferit.

JavaScript

console.log('Hello World!');

Rubin

Ruby se află în același stadion

puts "Hello World!"

Pentru a pune simplitatea acestora în context, să ne uităm la alte două exemple.

C

#include <stdio.h>
int main(int argc, char* argv[]){    printf("Hello World!n");    return 0;}

Java

public class HelloWorld {    public static void main(String[] args) {        System.out.prinln("Hello World!");    }}

A existat o schimbare în ultimii câțiva ani în care comunitatea de programare a început să se aplece către cele trei limbi anterioare ca limbaje introductive asupra celor două din urmă. Poate că aceste Hello World vă oferă un mic gust de ce. Tu ce crezi?

Bine, înapoi la Python.

Ce zici de chestia asta Pythonic?

Voi folosi această ultimă secțiune pentru a parcurge suprafața a ceea ce este cuvântul Pythonic și vom analiza o lume Hello Pythonic.

Ce naiba este Pythonic?

Când oamenii se gândesc la această întrebare, s-ar putea să se gândească la faimosul Python

import this

exemplu. Care atunci când alergați vă va oferi acest lucru:

Beautiful is better than ugly.Explicit is better than implicit.Simple is better than complex.Complex is better than complicated.Flat is better than nested.Sparse is better than dense.Readability counts.Special cases aren't special enough to break the rules.Although practicality beats purity.Errors should never pass silently.Unless explicitly silenced.In the face of ambiguity, refuse the temptation to guess.There should be one-- and preferably only one --obvious way to do it.Although that way may not be obvious at first unless you're Dutch.Now is better than never.Although never is often better than *right* now.If the implementation is hard to explain, it's a bad idea.If the implementation is easy to explain, it may be a good idea.Namespaces are one honking great idea -- let's do more of those!

Ia din asta ceea ce vei vrea. Să ne concentrăm pe un rând din text.

Ar trebui să existe una – și, de preferință, una singură – modalitate evidentă de a o face.

Pentru mine, această linie descrie mentalitatea din spatele cuvântului Pythonic și idiomatic Python.

Dacă adormiți la tastatură, cel puțin adăugați acest lucru la lista dvs. de lectură.

Nu ar trebui să existe întotdeauna „o modalitate de a o face?”

Depinde de tine. În ciuda limbajului pe care îl folosiți. Să vedem un exemplu din comunitatea Perl (pe care Ruby a moștenit-o).

Există mai multe modalități de ao face (TMTOWTDI sau TIMTOWTDI, pronunțat Tim Toady)

Există mai multe modalități de ao face – Wikipedia, enciclopedia liberă
Există mai multe modalități de a face acest lucru (TMTOWTDI sau TIMTOWTDI, pronunțat Tim Toady) este un motto de programare Perl. …en.wikipedia.org

(Până când există o pronunție!)

Înapoi la cod

Să trecem peste restul lecției de filozofie și să ne scufundăm în exemplul de cod Pythonic Hello World. Voi include o funcție foarte de bază (Vai!) deci nu este atât de confuz atunci când ne uităm la linii.

# este modul în care începeți un comentariu Python

# section onedef main():  print("Hello World!")
# section two
if __name__ == "__main__":  main()

Bine?

Rupe-o

Secțiunea unu

def main():  print("Hello World!")

definiți o funcție care nu ia argumente și nu returnează nicio valoare numită main

imprimă Hello World! la consolă când se apelează main

Secțiunea a doua

if __name__ == "__main__":  main()

__name__ este atribuit modulului de apelare …

Pe scurt:

  • dacă modulul este importat __name__ va fi setat la modulul importator
  • dacă fișierul este direct rulat, executați instrucțiunea if

Să ne uităm la un alt exemplu modificat înainte de a încheia acest lucru

# fcc-greet.py
def greet(name):  print("Hello {}, welcome to Free Code Camp!".format(name))
if __name__ == "__main__":  from sys import argv  greet(argv[1]) # first command argument

Declarația de imprimare și ultima linie pot fi puțin pentru unii utilizatori mai noi. În loc să le explic, vă voi arăta două moduri diferite de a utiliza noul nostru program Python.

Primul este prin promptul de comandă / terminal:

$ python fcc-greet.py t3h2mas

care imprimă acest lucru pe consolă

Bună ziua t3h2mas, bine ai venit în tabăra Free Code!

Folosind `fcc-greet.py` ca modul:

# my-program.py
import fcc-greet
users = ["t3h2mas", "BoilingOil", "mamptecnocrata"]map(fcc-greet.greet, users)

mulțumesc utilizatorilor de mai sus pentru permisiunea lor de a-și folosi numele de utilizator: +1:

care ar produce

Bună ziua t3h2mas, bine ai venit în tabăra Free Code!

Bună ziua BoilingOil, bine ai venit în tabăra Free Code!

Bună ziua mamptecnocrata, bine ai venit în tabăra Free Code!

Acest ultim exemplu s-ar putea întâmpla puțin. Concentrați-vă doar pe ieșire!

Aceasta completează exemplul nostru de program folosind expresii pitonice. Am terminat cu un program care poate fi apelat de la prompt cu un argument furnizat, precum și fiind folosit ca un modul ușor din diferite programe.

învelire

Aceasta încheie gustul nostru mic de Python idiomatic. Această postare a fost destinată să fie o lectură suplimentară, mai degrabă decât un tutorial complet. Comunitatea Python știe sigur ce îi place. Vedea

ghid de stil pep8 Python

Bine ați venit pe Python.org
Acest document oferă convenții de codare pentru codul Python care cuprinde biblioteca standard din Python principal …www.python.org

pep257

Bine ați venit pe Python.org
Scopul acestui PEP este de a standardiza structura la nivel înalt a șirurilor de documente: ce ar trebui să conțină și cum să spună …www.python.org

pentru mai multe despre ghidurile Pythonic.

nou la Python?

Acesta pare un bun punct de plecare

Noțiuni introductive despre python – Guru Python
Python este un limbaj de programare cu scop general creat de Guido Van Rossum. Python este cel mai apreciat pentru eleganța sa …thepythonguru.com

Iată o listă excelentă de tutoriale …

Pentru programatori:

Ghid pentru începători / Programatori – Python Wiki
Deoarece aceasta este o pagină Wiki, utilizatorii o pot edita. Prin urmare, sunteți liber să adăugați detalii despre materialul pe care alt Python …wiki.python.org

Pentru incepatori

Ghid pentru începători / Nonprogramatori – Python Wiki
Dacă nu v-ați programat niciodată, tutorialele de pe această pagină vă sunt recomandate; ei nu presupun că ai …wiki.python.org

Comunități Python

Reddit:

Python Education * / r / learnpython
Subreditați pentru a posta conținut, întrebări și pentru a cere sfaturi generale despre învățarea limbajului de programare Python.reddit.comPython * / r / Python
știri despre limbajul de programare Python dinamic, interpretat, interactiv, orientat spre obiect, extensibilreddit.comînvățați programarea * / r / learnprogramming
Un subredit pentru toate întrebările legate de programarea în orice limbă.reddit.com

Gitter:

FreeCodeCamp / FreeCodeCamp
Bine ați venit la camera noastră principală de chat. Avem multe camere de chat oficiale pentru petrecerea timpului liber și pentru a primi ajutor. Iată lista …gitter.imFreeCodeCamp / python
Acesta este cel mai bun loc pentru a discuta despre Python și pentru a primi ajutor cu acesta. Asigurați-vă că verificați https://github.com/freecodecamp…gitter.im

IRC:

Python.org -IRCGuide
Locul oficial al limbajului de programare Pythonwww.python.org