roz V


Rozdział V
Funkcje  grupowanie kodu
Istnieje możliwość grupowania pewnych ilości kodu pod konkretnymi nazwami. W którymkolwiek miejscu zastosuje się tę
nazwę, cały zgrupowany kod w tej nazwie zostanie wywołany i wykonany bez potrzeby jego ponownego pisan ia.
Właśnie do tego stosujemy funkcje. Aby utworzyć taką funkcję, stosuje się słowo def, po którym musi następować nazwa
funkcji i lista jej parametrów formalnych umieszczonych w nawiasach okrągłych. Dla przykładu coś trywialnego:
>>> def tekst():
print "Jakiś text"
>>> tekst()
Jakiś text
>>>
W tym przykładzie zdefiniowana funkcja tekst() wyświetla "Jakiś text". Można ją teraz wywoływać w każdym miejscu, by
otrzymać odpowiedni ciąg znaków. A teraz ciekawszy przykład łączący w sobie wcześniej zdobytą widzę:
# vim:fileencoding=iso8859-2
def suma(a,b):
print a + b
def roznica(a,b):
print a - b
a = input('Proszę podać a: ')
b = input('Proszę podać b: ')
choise = input('\n\nDodawanie(1)\n\nOdejmowanie(2)\n\n\nWybierz działanie: ')
if choise == 1:
suma(a,b)
elif choise == 2:
roznica(a,b)
Bardzo ubogi kod  kalkulatora , składający się z dwóch zdefiniowanych funkcji (sumy i różnicy), trzech zmiennych i
instrukcji warunkowej. Nic nowego. Ale jeśli dobrze się przyjrzeć, przy zmiennych a i b zauważyć można funkcję input.
Czym jest funkcja input i jakie jest jego zadanie? Na pewno kojarzysz z rozdziału pierwszego, treść o funkcjach
wbudowanych, w tym funkcja print, hex czy oct. Input należy do takich funkcji. Zwraca ona wartości wprowadzane przez
użytkownika, w tym wypadku wartości liczb a,b oraz wybór działania.
Teraz trochę więcej o funkcjach wbudowanych.
Funkcja raw_input zwraca napis wprowadzony przez użytkownika:
>>> a = raw_input('Text: ')
Text: Python ROXX
>>> print a
Python ROXX
>>>
Jeśli użytkownik wpisze jakiś tekst, to zmiennej a zostanie przypisany napis o odpowiedniej treści. Jeśli użytkownik zaś
poda jakąś liczbę, to funkcja zwróci napis o treści wprowadzonej przez użytkownika liczby!. Tak więc wynikiem działania
funkcji raw_input będzie zawsze jakiś napis , czy to tekst czy liczba.
>>> a = raw_input('Cyfra: ')
Cyfra: 666
>>> print a
666
>>>
Kolejną ciekawą funkcją wbudowaną jest ord, która zwraca kod ASCII podanego znaku:
>>> ord('p')
112
>>>
Możemy również zastosować pewną "kombinację funkcji". Naturalnie jako parametr dla funkcji można podać wynik
działania innej funkcji, więc wypisanie kodu szesnastkowego odpowiadającego kodowi ASCII litery "A" można zapisać
następująco:
>>> print hex(ord('A'))
0x41
>>>
W taki oto sposób, można zabierać się do pisania skryptów szyfrujących i deszyfrujących ciągi znaków.


Wyszukiwarka

Podobne podstrony:
23 ROZ warunki i tryb postępowania w spr rozbiórek obiek
CZ1 roz 1 12
Roz
matematyka roz odp
7 ROZ warunki techniczne baz i stacji paliw [M G ][21 11
96 ROZ warunki przy wprowadzaniu ścieków do wód lub do zi
immunologia molekularna roz 4 5
Roz
zad z roz
31 ROZ rozbiórki obiektów bud metodą wybuchową [M I ][3
zjawiska paranormalne i seks roz 1

więcej podobnych podstron