miercuri, 17 ianuarie 2018

Python pentru începători


Noțiuni de bază
Pentru a începe, dacă nu ați instalat interpretul Python pe sistemul dvs., acum este timpul. Pentru a face acest pas mai ușor, instalați ultima distribuție Python utilizând pachete compatibile cu distribuția dvs. Linux. rpm, deb și tgz sunt de asemenea disponibile pe CD-ul dvs. Linux sau on-line. Dacă urmați procedurile de instalare standard, nu trebuie să aveți probleme.
Apoi, citiți excelentul Tutorial Python scris de Guido van Rossum, creatorul limbajului de programare Python. Acest tutorial face parte din documentația oficială Python și îl puteți găsi în catalogul /usr/doc/python-docs-1.5.2 sau /usr/local/doc/python-docs-1.5.2. Acesta poate fi livrat în format LaTeX brut, care trebuie prelucrat mai întâi; dacă nu știți cum să faceți acest lucru, accesați http://www.python.org/doc/ pentru al descărca într-un format alternativ.
De asemenea, vă recomandăm să aveți instrucțiunea Bibliotecii Python la îndemână; ați putea dori atunci când explicațiile date aici nu corespund nevoilor dumneavoastră. O puteți găsi în aceleași locuri ca și Tutorialul Python .
Crearea de scripturi se poate face folosind editorul de text preferat atâta timp cât salvează textul în format ASCII simplu și nu introduce automat pauze de linie atunci când linia este mai lungă decât lățimea ferestrei editorului.


Începeți întotdeauna scenariile dvs. cu oricare dintre ele
#! / Usr / local / bin / python
sau
#! / Usr / bin / python
Dacă calea de acces la sistemul binar python din sistemul dvs. este diferită, modificați acea linie, lăsând primele două caractere ( #! ) Intacte. Asigurați-vă că această linie este cu adevărat prima linie din scenariul dvs., nu doar prima linie ne-goală - vă va salva o mulțime de frustrare.
Utilizați chmod pentru a seta permisiunile fișierelor pe scriptul dvs. pentru a deveni executabil. Dacă scriptul este pentru tine singur, tastați chmod 0700 scriptfilename .py ; dacă doriți să îl partajați cu alții din grupul dvs., dar nu lăsați-l să-l editeze, utilizați 0750 ca valoare chmod; dacă doriți să acordați acces tuturor celorlalți, utilizați valoarea 0755 . Pentru ajutor cu comanda chmod, tastați chmod om .
Citirea opțiunilor și a argumentelor liniei de comandă
Opțiunile și argumentele din linia de comandă vin la îndemână atunci când dorim să le spunem script-urilor noastre cum să se comporte sau să transmită anumite argumente (nume de fișiere, nume de directoare, nume de utilizatori etc.). Toate programele pot citi aceste opțiuni și argumente dacă doresc, iar scripturile dvs. Python nu diferă.
Implementarea handler-ilor adecvați se reduce la citirea listei argv și verificarea opțiunilor și argumentelor pe care doriți să le recunoască scriptul. Există câteva moduri de a face acest lucru. Listarea 1 este o opțiune de tratare a opțiunilor simple, care recunoaște opțiunile comune -h, -help și -help, iar când acestea sunt găsite, aceasta se termină imediat după afișarea mesajului de ajutor.
Listarea 1
Copiați și salvați acest script ca help.py, faceți-l executabil cu comanda help.py chmod 0755 și executați-l de mai multe ori, specificând diferite opțiuni, ambele recunoscute de manipulator și nu; de exemplu, cu una dintre opțiuni, veți vedea acest mesaj: ./help.py -h sau ./help.py -o . Dacă managerul de opțiuni recunoaște una dintre opțiuni, veți vedea acest mesaj:
help.py-nu face nimic util (încă)
opțiuni: -h, -help sau -help-afișează acest ajutor
Drepturi de autor (c) Jacek Artymiak, 2000
Dacă invocați help.py cu o opțiune pe care nu o recunoaște sau fără nicio opțiune, acesta va afișa mesajul "Nu recunosc această opțiune".
Rețineți că trebuie să importem modulul sys înainte de a putea verifica conținutul listei argv și înainte de a putea apela funcția de ieșire . Instrucțiunea sys.exit este o caracteristică de siguranță care împiedică executarea ulterioară a programului atunci când una dintre opțiunile de ajutor este găsită în interiorul listei argv . Acest lucru asigură că utilizatorii nu fac ceva periculos înainte de a citi mesajele de ajutor (pentru care nu ar avea nevoie altfel).
Modulul simplu de manipulare a opțiunilor de ajutor descris mai sus funcționează destul de bine și puteți să îl duplicați și să îl modificați pentru a recunoaște opțiunile suplimentare, dar aceasta nu este cea mai eficientă modalitate de a recunoaște mai multe opțiuni cu sau fără argumente. Modul "potrivit" de a face acest lucru este de a folosi modulul getopt , care convertește opțiunile și argumentele într-o listă drăguță de tupluri. Lista 2 arată cum funcționează.
Listing 2
Copiați acest script, salvați-l ca options.py și faceți-l executabil. După cum puteți vedea, utilizează două module: sys și getopt care sunt importate chiar la început. Apoi definim o funcție simplă care afișează mesajul de ajutor atunci când ceva nu merge bine.
Procesarea efectivă a argumentelor liniei de comandă începe cu instrucțiunea try , unde testează lista opțiunilor și argumentelor din linia de comandă (sys.argv) pentru erorile definite ca opțiuni necunoscute sau argumente lipsă; în cazul în care sunt detectate, script - ul va afișa un mesaj de eroare și de ieșire imediat ( a se vedea în afara cazului de grup declarație). Atunci când nu s-au detectat erori, scriptul nostru împarte lista opțiunilor și argumentele lor în tuple din lista de opțiuni și începe să le parseze executând o serie de bucle, fiecare căutând o opțiune și argumentele așteptate.
Funcția getopt.getopt generează două liste în scriptul nostru de mostre: opțiuni care conțin opțiuni și argumentele acestora; și xargumente care conțin argumente care nu sunt legate de niciuna dintre opțiuni. Putem ignora în siguranță în cele mai multe cazuri.
Pentru a recunoaște opțiunile scurte (cu o singură literă precum -h ) și long (cu cele prefixate cu - ), getopt.getopt utilizează două argumente separate. Lista opțiunilor scurte conține toate listate într-un singur șir, de exemplu, getopt.getopt (sys.argv, 'ahoinmdwq') . Este posibil să specificăm în șirul respectiv opțiunile care necesită absolut un argument pentru a le urma imediat (de exemplu, -v nume fișier ) sau după un spațiu (de exemplu, -v nume de fișier). Acest lucru se face prin inserarea două puncte ( : ) dupa optiunea, ca aceasta: getopt.getopt (sys.argv, „ahoiv: emwn“). Cu toate acestea, aceasta creează o problemă proastă care poate provoca o anumită confuzie și pierde în mod inutil timpul; dacă utilizatorul uită să specifice argumentul pentru opțiunea care o cere, opțiunea care urmează îl devine argument. Luați în considerare acest exemplu:
script.py -v -h
Dacă ați pus v: în argumentul șirului opțional scurt al funcției getopt.getopt, opțiunea -h va fi tratată ca argumentul opțiunii -v . Aceasta este o problemă și face parsarea listei de opțiuni tuple , argument mult mai dificil. Soluția la această problemă este simplă: nu folosiți colonul, ci verificați cel de-al doilea element al tuplei care conține opțiunea (primul element al tuplei analizate) care necesită un argument. Dacă este gol, raportați o eroare, cum ar fi opțiunea -aopțiunea de manipulare.
Opțiunile lungi prefixate cu - trebuie să fie listate ca un argument separat pentru getopt.getopt, de exemplu, getopt.getopt (sys.argv, 'ah', ['view', 'file =']) . Acestea pot fi întreținute de același manipulant ca opțiunile scurte.
Ce faceți după ce localizați opțiunile oferite de utilizator depinde de dvs. Listarea 2 poate fi utilizată ca șablon pentru scripturile dvs.

Listarea 3
Funcția care ne permite să capturam semnale este signal.signal . Cele două argumente sunt numărul semnalului pe care doriți să-l captați și numele dispozitivului de gestionare a semnalului. Listarea 3 este un script simplu care captează semnalul SIGINT (numerele semnalului are propriile echivalente simbolice) semnalul trimis la el când apăsați CTRL-C .
Semnalul SIGINT nu este singurul pe care îl puteți captura. Dacă doriți să capturați semnale suplimentare, adăugați mai multe apeluri semnal.signale pentru a le manipula, schimbând numărul semnalului ( semnal.SIG xxx constant) și numele handlerului (opțional; puteți utiliza același handler cu mai mult de un semnal ). Pentru a vedea ce semnale sunt disponibile în Linux, tastați kill -l pe linia de comandă.
Listing 4
Semnalele pot fi ignorate, ceea ce este util dacă doriți ca unele dintre ele să nu perturbe executarea scriptului. Lista 4 arată modul în care faceți acest lucru (aveți grijă, acest script nu poate fi oprit cu CTRL-C ).
Un alt semnal care merită să ne amintim este SIGALRM. Configurarea unui handler pentru semnalul respectiv vă permite să opriți executarea scriptului dvs. după numărul de secunde dat. Acest lucru se face cu signal.alarm așa cum este prezentat în Lista 5.
Listarea 5
Lucrul cu fișierele
Lista 6
Multe scripturi trebuie să funcționeze cu fișiere. Rețineți că înainte de a putea citi sau scrie într-un fișier, acesta trebuie să existe și să fie deschis. Lista 6 este un exemplu de script care deschide un fișier pentru citire. Scrierea într-un fișier necesită doar o mică modificare (a se vedea Lista 7).
Listarea 7
După cum puteți vedea, primul dintre cele două scripturi afișate în listele 6 și 7 nu reușește să deschidă un fișier pentru a citi dacă fișierul nu există. Acesta este un comportament corect. Al doilea script încearcă să deschidă un fișier pentru scriere: dacă fișierul există, acesta este trunchiat (adică conținutul său este șters); dacă nu există, este creat. Este posibil să nu fie întotdeauna comportamentul dorit. Când doriți să adăugați date la sfârșitul unui fișier, ar trebui să îl deschideți pentru scriere, păstrând în același timp conținutul original. Pentru a face acest lucru, schimbați al doilea argument al funcției deschise de la 'w' la 'a' .
Odată ce fișierul este deschis, îl putem citi sau scrie utilizând următoarele metode:
  • citiți ( n ): citește cel mult n octeți dintr-un fișier (dacă omiteți numărul de octeți, întreg fișierul va fi citit), de exemplu fi.read (200) , care citește până la 200 octeți.
  • readline : citește câte o linie la un moment dat, de exemplu fi.readline () .
  • readlines : citește toate liniile dintr-un fișier, de exemplu fi.readlines () .
  • scrie ( șir ): scrie un șir într-un fișier, de ex. fo.write ('alabama') .
  • writelines ( list ): scrie o listă a șirurilor unui fișier, de ex., fo.writelines (['alaska <\ n>', 'california', 'nevada'
Când doriți să închideți un fișier, utilizați metoda sa de închidere , de exemplu, fo.close () .
Lista 8
Dacă doriți ca scriptul dvs. să creeze fișiere temporare, utilizați modulul tempfile . Acesta simplifică sarcina de a crea fișiere temporare prin crearea automată a unor nume de fișiere unice pe baza șabloanelor definite în variabilele tempdir și șablon . Nu creează sau șterge fișiere temporare în sine, dar puteți realiza acest lucru folosind o metodă similară cu cea utilizată în Lista 8.
Rețineți că trebuie să utilizați ambele simboluri os.O_CREAT și os.RDWR pentru a spune funcției os.open crearea unui fișier temporar atât pentru citire cât și pentru scriere. De asemenea, nu uitați să închideți și să eliminați toate fișierele temporare create înainte de a părăsi un script. Veți găsi mai multe informații despre funcțiile, constantele și variabilele utilizate în exemplul respectiv în secțiunile os, posix și tempfile din Manualul de Referință al Bibliotecii Python .
Listing 9
Este o idee bună să implementați un singur handler care va elimina fișierele temporare înainte de a ieși din script, ca în Lista 9.



Nu există nici măcar o comparație între Windows și Linux atunci când vine vorba de programare. 

Linux este mult mai bun. Toți cei care au multe cunoștințe despre acest subiect știu acest lucru.

Python are seturi de instrumente excelente (Gtk, wx, Qt), designeri GUI și IDE-uri vizuale și biblioteci uriașe. Este atât de bun încât multe aplicații Windows sunt scrise în el și mulți oameni aleg Linux deoarece scripturile sunt atât de sărace pe Windows. Dacă doriți ceva orientat mai mult spre scripting, aveți Tcl / Tk, Expect, Bash și Perl. În loc de HTA, primiți Firefox și xulrunner (în funcție de ce nivel de control doriți). Toate acestea sunt documentate copios. AutoHotkey, Autoit și RapidBatch nu se apropie nici măcar, iar Windows este relativ slab când vine vorba de scripting.


M-am uitat la o serie de limbi de programare și scripting târziu. A venit peste "Titanium", care este o solutie cross-platform pentru Windows, Linux, OSX precum si iPhone si Android. Este capabil să lucreze cu JS, Python, PHP și o serie de alte softTech.


Există multe exemple de cod simplu aici ...
ceva mai complexe exemple de cod, și nu atât de inutile, așa cum sugerează titlul aici ...
atunci este cartea de bucate ...
și trezile lui Parnass ...
care ar trebui să țină ypu ocupat pentru o vreme.


decimal_number = 0
st_binary_number = "1000111"

n = 1 (n = 
1) 
pentru i în intervalul (n): 
dacă (numărul st_binary [i] == '1'): 
decimal_number + = pwr 
pwr = pwr >> 1

imprimați numărul zecimal
convertește binarul "1000111" în zecimal 71;)

binary_number = "1000111" 
decimal_number = int (numărul binar, 2)

print decimal_number # Imprimă 71

print a, '=', os.environ. [a] 
ar trebui să fie 
imprimate a, '=', os.environ [a]





Exemplu de folosire a argumentelor de comandă: 
user @ host $ script.py arg1 arg2

import sys
var = sys.argv [2]
print var
#will print arg2





http://www.linuxjournal.com/article/3946


MODIFICAREA SETĂRILOR COOKIE-URILOR

Rețineți că browserele de internet vă permit să modificați setările cookie-urilor. Aceste setări sunt de obicei găsite în meniul "opțiuni" sau "preferințe" al browserului dvs. de internet. Pentru a înțelege aceste setări, următoarele link-uri ar putea fi de ajutor. În caz contrar, trebuie să utilizați opțiunea "Ajutor" în browserul dvs. de internet pentru mai multe detalii.
ookie-urile "strict necesare" vă permit să vă deplasați pe site și să utilizați funcții esențiale cum ar fi zonele securizate. Fără aceste cookie-uri, nu putem furniza serviciile solicitate. Utilizăm aceste cookie-uri Strictly Necessary pentru a:
  • Identificați-vă că sunteți conectat (ă) la site-ul nostru și că vă autentificați
  • Asigurați-vă că vă conectați la serviciul potrivit pe site-ul nostru atunci când facem orice schimbări în modul în care funcționează site-ul Web
  • Din motive de securitate
Acceptarea acestor cookie-uri este o condiție de utilizare a site-ului, astfel încât, dacă împiedicați aceste cookie-uri, nu putem garanta modul în care Website-ul sau securitatea pe site-ul nostru va fi efectuată în timpul vizitei.
Cookie - urile "Performanță" colectează informații despre modul în care utilizați site-ul nostru, de exemplu, paginile pe care le accesați și dacă întâmpinați erori. Aceste cookie-uri nu colectează nicio informație care să vă poată identifica și sunt utilizate numai pentru a ne ajuta să îmbunătățim funcționarea site-ului nostru, să înțelegem ce interesează utilizatorii noștri și să evalueze eficiența publicității noastre. Utilizăm cookie-urile de performanță pentru:
  • Realizați analize web: furnizați statistici privind utilizarea site-ului nostru web
  • Obțineți date despre numărul de utilizatori ai site-ului care au vizualizat un produs
  • Ajutați-ne să îmbunătățim website-ul prin măsurarea oricăror erori care apar
  • Testați diferite modele pentru site-ul Web
Unele dintre cookie-urile noastre de performanță sunt gestionate de noi de către terțe părți. Nu permitem părții terțe să utilizeze cookie-urile în alte scopuri decât cele enumerate mai sus.
Prin utilizarea site-ului nostru sau prin exprimarea consimțământului dvs. conform altor dispoziții legale aplicabile, acceptați utilizarea cookie-urilor "Performanță". Dacă preveniți cookie-urile, nu putem garanta modul în care site-ul nostru va funcționa pentru dvs.
Cookie-urile "funcționale" sunt utilizate pentru a furniza servicii sau a vă aminti setările pentru a vă îmbunătăți vizita. Utilizăm cookie-urile "funcțional" în scopuri precum:
  • Amintiți-vă setările pe care le-ați aplicat, cum ar fi aspectul, dimensiunea textului, limba, preferințele și culorile
  • Amintiți-vă dacă v-am întrebat deja dacă doriți să completați un sondaj
  • Amintiți-vă dacă ați angajat cu o anumită componentă sau o listă de produse pe site-ul web, astfel încât să nu-l afișați din nou
  • Afișați-vă când sunteți conectat (ă) la site-ul Web
  • Pentru a furniza și a afișa conținut video încorporat
Unele dintre aceste cookie-uri sunt gestionate pentru noi de către terțe părți. Nu permitem părții terțe să utilizeze cookie-urile în alte scopuri decât cele enumerate mai sus.
Cookie-urile "vizate" sunt utilizate pentru a urmări vizita dvs. pe site-ul Web și pe alte site-uri web, inclusiv paginile pe care le-ați vizitat și legăturile pe care le-ați urmat, ceea ce permite terților să afișeze anunțuri direcționate pe site-urile pe care le vizitați.
Noi și furnizorii noștri de servicii terțe folosim cookie-uri de direcționare către:
  • Legătura cu rețelele sociale, cum ar fi Facebook, care ulterior pot utiliza informații despre vizita dvs. pe site-ul nostru, pentru a oferi publicitate sau alte oferte care ar putea fi de interes pentru dvs. atunci când vizitați alte site-uri web.
  • Oferiți terților informații cu privire la vizita dvs., astfel încât să vă poată prezenta anunțuri sau alte oferte care ar putea fi de interes pentru dvs.
Dacă vă aflați în UE, puteți renunța la anumite cookie-uri terță parte pe care noi și alte site-uri web le putem utiliza pentru direcționare prin http://www.youronlinechoices.eu sau www.aboutads.infoDacă renunțați la una sau mai multe rețele publicitare, înseamnă că acești membri nu vor mai oferi conținut sau anunțuri vizate. Nu înseamnă că nu veți mai primi niciun conținut sau anunțuri direcționate pe site-urile noastre sau pe alte site-uri terțe. Dacă browserul dvs. este configurat să respingă cookie-urile când vizitați una dintre paginile de renunțare menționate mai sus și mai târziu ștergeți cookie-urile, utilizați un computer diferit sau modificați browserele Web, este posibil ca preferința dvs. să nu mai fie activă. Întrucât toate aceste module cookie sunt gestionate de terțe părți, trebuie să consultați notificările și politicile de confidențialitate ale site-urilor terțe pentru informații suplimentare (mai jos, pentru mai multe informații despre cookie-urile direcționate utilizate pe site-ul nostru).
Utilizatorii din Statele Unite pot renunța la mai multe rețele publicitare terțe. De exemplu, puteți merge la pagina de alegere a consumatorilor digitală ("DAA") pentru informații despre renunțarea la publicitatea bazată pe categorii de interese și alegerile acestora privind informațiile utilizate de companiile DAA . De asemenea, puteți accesa pagina de oprire a consumatorilor pentru inițiativa Network Advertising Initiative ("NAI") pentru informații despre renunțarea la publicitatea bazată pe categorii de interese și alegerile acestora privind informațiile utilizate de membrii NAI .
Dacă renunțați la una sau mai multe companii listate pe pagina de alegere a consumatorilor DAA sau pe pagina de renunțare la consumatori a NAI, veți renunța la furnizarea de conținuturi sau anunțuri de către acele companii, dar nu înseamnă că nu veți mai fi primiți orice publicitate prin intermediul site-ului nostru sau pe alte site-uri web. Puteți continua să primiți reclame, de exemplu, pe baza site-ului web pe care îl vizualizați (adică anunțuri bazate pe contextual). De asemenea, în cazul în care browserele dvs. sunt configurate pentru a respinge cookie-urile atunci când renunțați la site-urile DAA sau NAI, opțiunea de excludere este posibil să nu fie eficientă. Informații suplimentare sunt disponibile pe site-ul web al DAA la www.aboutads.infosau pe site-ul web al NAI la www.networkadvertising.org .

MAI MULTE INFORMAȚII DESPRE COOKIE-URI

TOTUL DESPRE COOKIE-URI

Informații utile despre modulele cookie pot fi găsite la adresa:

BIROUL DE PUBLICITATE PE INTERNET

Un ghid de publicitate comportamentală și de confidențialitate online a fost produs de industria de publicitate pe internet, care poate fi găsit la adresa:

Localizarea informațiilor dvs.

Orice servere sau servicii care conțin informații de identificare personală se află în UE. Pentru YouTrack InCloud, oferim clienților noștri posibilitatea de a alege între găzduirea instanței lor în UE sau în SUA. Uneori, JetBrains poate procesa sau transfera unele dintre datele personale (cum ar fi numele și adresa de e-mail) către companiile afiliate din afara UE. Orice astfel de transfer se va face în conformitate cu legile aplicabile privind protecția datelor și cu politica de confidențialitate. Prin transmiterea oricăror informații personale sau prin utilizarea site-ului web, sunteți de acord cu acest transfer și cu prelucrarea datelor dvs. personale în afara UE.
https://www.jetbrains.com/company/privacy.html#using-website



Economisiți timp în timp ce PyCharm se ocupă de rutină. Concentrați-vă pe lucruri mai mari și îmbrățișați abordarea centrată pe tastatură pentru a obține cele mai multe caracteristici ale productivității PyCharm.


Obțineți asistență inteligentă

PyCharm știe totul despre codul tău. Bazați-vă pe acesta pentru finalizarea codului inteligent, verificarea erorilor pe loc și remedierile rapide, navigarea ușoară a proiectelor și multe altele.

Îmbunătățiți calitatea codului

Scrieți un cod curat și întreținut, în timp ce IDE vă ajută să păstrați calitatea sub control cu ​​verificări PEP8, asistență de testare, refactorizări inteligente și o serie de inspecții.

Tot ce ai nevoie

PyCharm este proiectat de către programatori, pentru programatori, pentru a oferi toate instrumentele de care aveți nevoie pentru dezvoltarea productivă a Python.DESCĂRCAȚI ACUM PYCHARM
PyCharm este proiectat de către programatori, pentru a oferi toate instrumentele de care aveți nevoie pentru dezvoltarea productivă a Python.























Niciun comentariu:

Trimiteți un comentariu