GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing opentechschool.github.io — Funcții definite de utilizator — Introduction to Programming with Python Funcții definite de utilizator¶Introducere¶Programatorii pot întâlni probleme destul de complexe și abstracte, dar o caracteristică a unui bun programator este lenea. Ei doresc să aibă de-a face cu un singur lucru odată . Așa că ai nevoie să spargi problemele în bucăți mai mici, separate, care să îți permită să te concentrezi doar pe cea pe care dorești. Funcțiile sunt un mod de a face această abstractizare în Python. Hai să luăm ca exemplu
Dar pentru că tot codul este inclus în funcție, nu trebuie să ne facem griji pentru aceste detalii. Putem pur și simplu să apelăm această funcție și vom ști că va face ceea ce spune. Deci - cum să îți scrii propriile funcții? O funcție poate fi definită în Python folosind cuvântul cheie def line_without_moving(): turtle.forward(50) turtle.backward(50) Funcția pe care am definit-o se numește Pentru a o utiliza (sau așa cum se spune de obicei, pentru a o apela), scrie numele ei urmat de paranteze: line_without_moving() turtle.right(90) line_without_moving() turtle.right(90) line_without_moving() turtle.right(90) line_without_moving() Am putea să scriem mai multe funcții pentru a elimina repetițiile: def star_arm(): line_without_moving() turtle.right(360 / 5) for _ in range(5): star_arm() Important Python utilizează indentarea cu spații albe pentru a identifica blocuri de cod care au legătură. În Python un bloc (cum sunt definițiile funcțiilor de mai sus) este introdus cu un caracter două puncte la sfârșitul unei linii și liniile următoare sunt indentate – în mod uzual cu 4 spații. Asta este diferit față de multe alte limbaje de programare, care utilizează paranteze (cum ar fi acoladele Nu utiliza niciodată caractere tab pentru indenta blocurile tale, ci doar spații. Poți – și ar trebui să o faci – să îți configurezi editorul tău să adauge 4 spații cănd apeși tasta tab. Problema cu utilizarea caracterelor tab este că alți programatori Python folosesc spații și dacă sunt folosite în combinație în același fișier atunci Python le va citi greșit (în cel mai bun caz, te va anunța, iar în cel mai rău caz vor apărea erori greu de identificat). O funcție pentru un pătrat¶Exercițiu¶Scrie o funție care desenează un pătrat. Poți utiliza această funcție pentru a îmbunătăți programul cu pătrate înclinate? Dacă schimbi programul pentru a folosi o funcție, este mai ușor să experimtentezi? Soluție¶def tilted_square(): turtle.left(20) # now we can change the angle only here for _ in range(4): turtle.forward(50) turtle.left(90) tilted_square() tilted_square() tilted_square() # bonus: you could have a separate function for drawing a square, # which might be useful later: def square(): for _ in range(4): turtle.forward(50) turtle.left(90) def tilted_square(): turtle.left(20) square() # etc O funcție pentru un hexagon¶Exercițiu¶Scrie o funcție care desenează un hexagon.
Acum combină funcția aceasta într-un fagure. Creează un singur strat așa:
Încearcă! Hint Asigură-te că funcția ta hexagon întoarce țestoasa exact în aceeași poziție și unghi cum era înainte de a desena hexagonul. Este mai ușor să te gândești în acest fel. Soluție¶def hexagon(): for _ in range(6): turtle.forward(100) turtle.left(60) for _ in range (6): hexagon() turtle.forward(100) turtle.right(60) Poți să pui partea cu``turtle.forward(100); turtle.right(60)`` direct în funcție, dar în acest caz ar fi mai bine să nu o denumești |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |