Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # === Zmienne ===
- name = 'value'
- surname = "value" # można używać znkau ' jak i " do oznaczania stringów
- # nie zmienia to oczywiście niczego, nadal to ten sam string
- number = 1
- #list - lista
- numbers = [0,1,2,3,4]
- numbers.append(5)
- numbers[2] # returns 2
- #dict - słownik
- towns = {
- 'bytom' : 10,
- 'warszawa' : 100,
- 'krakow': 150,
- }
- towns['wroclaw'] = 135
- #tuple - krotka, czyli nie zmienialna lista
- krotka = (1,2,3,4,5)
- print krotka[2]
- krotka.append(1) #błąd!
- krotka[2] = 10 #błąd!
- # === Instrukcje Sterujące ===
- if True:
- print "To się wykona"
- else:
- print "To się nie wykona"
- zmienna = 5
- if zmienna == 6:
- print "To się nie wykona"
- else:
- print "To się wykona"
- #pętla while
- loop = 0
- while loop < 5:
- print "Petla"
- loop += 1
- #pętla for, a raczej foreach
- lista = [5,4,3,2,1]
- for element in lista:
- print element
- # === Importowanie i moduły ===
- # Każdy plik jest modułem i można go zaimportować
- import katalog.plik
- # Importowaie szuka modułów najpierw lokalnie, a potem z głównego katalogu pakietów pythona
- # można też zaimportować konkretną rzecz
- from katalog import plik
- from katalog.plik import klasa
- # === funkcje ===
- def nazwa_funkcji(argument, drugi_argument):
- print 'wykonano funkcje z argumentami:', argument, drugi_argument
- nazwa_funkcji(1,2) #wykonanie funkcji
- #funkcja to także obiekt
- def druga_funkcja(argument):
- argument(5,6)
- druga_funkcja(nazwa_funkcji)
- # nazwane i nie nazwane argumenty
- def funkcja(*args, **kwargs):
- print args #pokaze listę nienazwanych argumentów
- print kwargs #pokaże słownik nazwanych argumentów
- funkcja('nienazwany argument', nazwany='argument')
- # === Klasy ===
- class Klasa(object):
- def __init__(self, argument):
- print 'metoda inicjalizujaca', argument
- self.pole = 'to jest pole klasy'
- self.argument = argument
- def metoda(self):
- print 'to jest metoda'
- obiekt = Klasa('argument') # tworzenie nowego obiektu
- obiekt.metoda()
- print obiekt.pole, obiekt.argument #wszystko w klasie (pola i metody) jest publiczne
- # dziediczenie
- class DrugeKlasa(Klasa):
- def __init__(self):
- super(DrugeKlasa, self).__init__('argument') #wykonywanie metody z klasy rodzica
- self.drugie_pole = 'pole numer 2'
- def druga_methoda(self):
- print 'druga metoda'
- drugi_obiekt = DrugeKlasa()
- drugi_obiekt.metoda()
- drugi_obiekt.druga_methoda()
- # === wyjątki ===
- # rzucanie
- def funkcyja():
- raise RuntimeError
- # łapanie
- try:
- funkcja()
- except RuntimeError as er:
- pass
- # wykonaj, niezależnie od tego czy był wyjątek czy nie
- try:
- funkcyja()
- finally:
- print "zawsze mnie wykonuj"
- # ==== Generatory ===
- # czyli metoda (albo obiekt, w pythonie to nie ma znaczenia), który generuję inne obiekty
- # w czasie wykonywania.
- def generator_libcz_parzystych():
- loop = 0
- while loop < 10:
- loop += 1
- if not loop % 2:
- yield loop # "wypluj" wartość
- for element in generator_libcz_parzystych():
- print element
- # wynikiem będzie 2, 4, 6, 8, 10
- # === dekoratory ===
- # czyli metody, który służą jako wraper innych funkcji
- def dekorator(funkcja):
- print "Wykonuje dekorator"
- funkcja.pole = 10
- return funkcja # funkcja musi zwracać funkcję
- @dekorator #to się wykona raz przy deklaracji funkcji, a nie przy wykonywaniu funkcji
- def funkcja_2():
- print funkcja.pole
Advertisement
Add Comment
Please, Sign In to add comment