28.01.2015 Views

Tutorial Python - Starship

Tutorial Python - Starship

Tutorial Python - Starship

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Orice linie din buffer poate fi modificată. Dacă o linie a fost modificată veţi vedea un caracter ‘*’ în faţa acesteia<br />

care îndică că a fost modificată. O instrucţiune din buffer este executată dacă se apasă, evident, ENTER.<br />

C-R porneşte o căutare incrementală în buffer în sens invers.<br />

C-S porneşte o căutare în sens normal.<br />

A.3 Redefinirea tastelor funcţionale<br />

Tastele funcţionale şi alţi parametrii ai bibliotecii “Readline”, pot fi redefiniţi prin modificarea fişierului<br />

“˜/.inputrc”. Pentru a redefini funcţia unei combinaţii de taste trebuie folosită sintaxa:<br />

tastă:funcţie sau “şir de caractere”:funcţie.<br />

O opţiune poate fi setată folosind<br />

set opţiune valoarenouă.<br />

Iată un exemplu:<br />

# Prefer stil de editare Vi:<br />

set editing-mode vi<br />

# Editare pe o singura linie:<br />

set horizontal-scroll-mode On<br />

# Redefinesc cateva taste:<br />

Meta-h: backward-kill-word<br />

"\C-u": universal-argument<br />

"\C-x\C-r": re-read-init-file<br />

În <strong>Python</strong> principala funcţie pentru Tab este aceea de a insera Tab, nu funcţia de completare Readline. Dacă se<br />

doreşte însă utilizarea sa în funcţia de completare se va pune :<br />

Tab: complete<br />

în ‘˜/.inputrc’. (Bine înţeles că acum va fi mai dificil de a scrie spaţiile de aliniere)<br />

Completarea automată a numelui unei variabile, sau a unui modul, este opţională. Pentru a o activa în modul de<br />

lucru interactiv adăugaţ în fişierul de startup următoarele : 1<br />

import rlcompleter, readline<br />

readline.parse_and_bind(’tab: complete’)<br />

Aceasta leagă tasta Tab de funcţia de completare, deci apăsând tasta Tab de doua ori activează completarea; analizează<br />

numele instrucţiunii <strong>Python</strong>, variabilele locale curente şi numele de module disponibile.Pentru expresiile<br />

cu punct de tipul string.a, evaluează expresia până la final, după ‘.’ şi apoi sugerează completarea dată de<br />

atributele obiectelor rezultate. De reţinut că se poate executa codul unei aplicaţii definite dacă un obiect ce are<br />

metoda __getattr__() face parte din expresie.<br />

Un fişier startup mai cuprinzător poate arăta ca în exemplul următor. De notat că el işi sterge numele pe care<br />

le crează în momentul în care nu-i mai sunt necesare. Acest lucru se petrece când fişierul de starup se execută<br />

în acelaşi domeniu de definiţie ca şi comenzile interactive, iar eliminarea numelor evită generarea unor efecte<br />

colaterale în mediul interactiv. Puteţi găsi acest lucru convenabil pentru a păstra câteva module importate, cum ar<br />

fi os, şi care se dovedesc necesare în majoritatea sesiunilor interpretorului.<br />

1 <strong>Python</strong> va executa conţinutul unui fişier identificat prin variabila de mediu PYTHONSTARTUP în momentul pornirii interpretorului<br />

interactiv.<br />

86 Anexa A. Editarea în linie de comandă şi repetarea comenzilor anterioare

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!