Podstawy Instalacja i edytor Czym jest Python Dlaczego











![3 CECHA – DYNAMICZNE GOSPODAROWANIE PAMIĘCIĄ a, b, c=2, ”As”, [1, 2, 3] b, 3 CECHA – DYNAMICZNE GOSPODAROWANIE PAMIĘCIĄ a, b, c=2, ”As”, [1, 2, 3] b,](https://slidetodoc.com/presentation_image_h2/b8c34fca46e0a3c3100853a9d9c3cb8a/image-12.jpg)
![a=5 b=a c=[1, 5] d=c d[1]=4 �Usuwanie del d del c a=„www” b=[2, 8] a=5 b=a c=[1, 5] d=c d[1]=4 �Usuwanie del d del c a=„www” b=[2, 8]](https://slidetodoc.com/presentation_image_h2/b8c34fca46e0a3c3100853a9d9c3cb8a/image-13.jpg)








![JESZCZE INNE TYPY DANYCH � Zbiory mutowalne (set) a=set([’a’, ’b’, 3, 4]) � Zbiory JESZCZE INNE TYPY DANYCH � Zbiory mutowalne (set) a=set([’a’, ’b’, 3, 4]) � Zbiory](https://slidetodoc.com/presentation_image_h2/b8c34fca46e0a3c3100853a9d9c3cb8a/image-22.jpg)

- Slides: 23
Podstawy Instalacja i edytor Czym jest Python Dlaczego używamy Python? Wcięcia Typy danych Deklaracje i dynamiczne typowanie Komentarze Operatory Nazewnictwo Operacje na łańcuchach Print
WYKŁAD 1 INSTALACJA http: //www. python. org/download pypi. python. org/pypi http: //vpython. org/index. html https: //www. djangoproject. com http: //effbot. org Dokumentacje: http: //docs. python. org/library http: //django. pl http: //pl. python. org http: //www. python. rk. edu. pl
Stabilne wersje (w chwili obecnej) PYTHONA 2. 7. 2 i 3. 2. 2 Biblioteki - pypi. python. org/pypi/ Django 1. 3. 1 Python 2. 5 -2. 7 Matplotlib 1. 1. 0 Python 2. 5 -2. 7 wersje 32 i 64 bitowe Numpy 1. 6. 1 Python 2. 5 -2. 7 3. 1 -3. 2 PIL 1. 1. 7 Python 2. 3 -2. 7 (http: //effbot. org/downloads/#Imaging) VPython 2. 6, 2. 7, 3. 1 Plone 4. x Python 2. 6 i Zope 2. 12. x Py. QT 4 Python 2. 5, 2. 6, 2. 7, 3. 1, 3. 2 Dlaczego wersja 2. 7
� Imperatywne (Python, � Deklaratywne (Prolog, Java, C++) Haskell) � Obiektowe (Java, C++, � Strukturalne � Funkcyjne (Haskell , F) Python) � Wysokiego poziomu (Java, C++, Python) � Niskiego poziomu (assembler, C (? )) � język programowania Java C++ znaczników LATEX HTML skryptowy Python Perl Klasyfikacja języków
�Pythona stworzył latach 90. Guido �G. V. Rossum - „Benevolent van Rossum Dictator for Life” (BDFL). �Do wersji 2. 0 Python był opracowywany w Be. Open potem Python. Labs przeniósł się do Digital Creations. �Własność intelektualna począwszy od Pythona 2. 1 (wraz z wersjami alpha i beta), jest własnością Python Software Foundation (PSF), niedochodowej organizacji wzorowanej na Apache Software Foundation Historia PYTHONa
� Interpretowalnym językiem skryptowym o ogromnej liczbie różnorodnych bibliotek. � Użyteczny do tworzenia frameworków sieciowych i innych operacji w internecie. � Dużo narzędzi przetwarzania zbiorów tekstowych. � Dużo użytecznych wbudowanych typów (listy, krotki, słowniki). � Jasna przejrzysta struktura języka, ogromna siła i ekspresja języka. � Duża ilość wersji na różne urządzenia – telefony komórkowe, ipady … Czym jest Python?
� � � Przenośność. PYTHON działa na prawie każdym systemie operacyjnym Integracja. PYTHON może zostać zintegrowany z różnymi obiektami. Istnieje implementacja na platformę JAVA, (JYTHON) może zawierać kod C czy C++. Prostota. Łatwo jest pisać, kod jest czytelny, dzięki czemu wyszukiwanie błędów staje się prostsze Możliwości. Ubogi standard i bardzo bogate biblioteki. Elastyczność. PYTHON jest jednym z najbardziej elastycznych programów. Łatwo jest zacząć szybko tworzyć kod i po kolei go rozszerzać. Open-source. PYTHON jest językiem darmowym i za darmo można go używać i dystrybuować. Ma on otwarty kod źródłowy. Dlaczego Python?
�Python (x, y) �Python w Eclipsie (tylko 2. 7) plugin �Py. Dev - Python IDE for Eclipse 2. 4. 0 �Python w Netbeansach �Py. QT – interfejs graficzny �Py. Gtk – interfejs graficzny �Mniej znane - Kate (KDE 4), Open. Komodo, Mono. Develop Platformy PYTHONA
1 CECHA CHARAKTERYSTYCZNA WCIĘCIA a=5 if a>3: if 4<5: print 2 else: print 3 else: print 4 print 5
Wcięcia � Puste spacje są potężnym narzędziem Pythona: szczególnie wcięcia i nowe linie. � Używaj ENTER kończąc polecenia. (Nie średnika jak w C++ lub Javie. ) (Używaj kiedy musisz przenieść linię. ) � Nie używaj { } do oznaczania bloków kodu – to słownik. W zamian używaj wcięć. Pierwsza linia z dodatkowym wcięciem jest traktowana jak początek bloku � Często dwukropek pojawia się jako początek nowego bloku (if : , class : )
2 CECHA CHARAKTERYSTYCZNA - BRAK DEKLARACJI Python wyznacza typy danych automatycznie. “Dynamiczne Typowanie” Ale Python nie narzuca tych typów, on je wymusza. “Silne Typowanie” Więc, na przykład, możesz dodać liczbę całkowitą do łańcucha. Ale musisz najpierw przekształcić liczbę całkowitą w sam łańcuch. x = “the answer is ” # decyzja - x to łańcuchem y = 23 # decyzja - y to integer. print x + y # Python wyświetli błąd.
3 CECHA – DYNAMICZNE GOSPODAROWANIE PAMIĘCIĄ a, b, c=2, ”As”, [1, 2, 3] b, a=a, b # a=‘As’ b=2 d=c c[1]=0 print d # [1, 0 , 3] d=[2, 4, 5] c. append(d) # c=[1, 0, 3, [2, 4, 5], […]]] d. append(c) # d=[2, 4, 5, [1, 0, 3], […]]] d[3][3] # [2, 4, 5, [1, 0, 3], […]]] del c
a=5 b=a c=[1, 5] d=c d[1]=4 �Usuwanie del d del c a=„www” b=[2, 8] Garbage collection
x = 34 - 23 # Komentarz. y = ‘Hello’ # Inny komentarz z = 3. 45 if z == 3. 45 or y == ‘Hello’: x = x + 1 y = y + “ World” # Łączenie łańcuchów print x print y x = 34 - 23 # Komentarz y = “Hello” # inny z = 3. 45 if z == 3. 45 or y == “Hello”: x = x + 1 y = y + “ World” # łączenie print x print y 4 cecha charakterystyczna – elegancja i przyjazny kod
Komentarze �Komentarz zaczyna się od # pozostałe znaki do końca linii sa ignorowane. �Można włączyć “docstring” jako pierwszą linię dowolnej funkcji lub klasy. �Używaj debuggera i inne narzędzia – używaj je!: w dobrym tonie jest włączyć je do programu. def my_function(x, y): “““To jest docstring. Ta funkcja robi. . . ””” # Kod funkcji będzie tu. . .
Nazewnictwo � Wielkość liter w nazwach jest istotna. Nazwy nie mogą się zaczynać od cyfry. Mogą zawierać litery, cyfry i znak podkreślenia. Tomek tomek _tomek_2 Tome. K � To _2_tomek_ są zarezerwowane słowa Pythona: and, assert, break, class, continue, def, del, elif, else, except, exec, finally, for, from, global, if, import, in, is, lambda, not, or, pass, print, raise, return, try, while
Dostęp do nie istniejącej nazwy �Dostęp do nazwy, która nie istnieje spowoduje sygnalizację błędu >>> y Traceback (most recent call last): File "<pyshell#16>", line 1, in -toplevely Name. Error: name ‘y' is not defined >>> y = 3 >>> y 3
W przypadku kodowania � Podstawienie = � Wśród liczb używamy porównanie ==. +-*/%. ◦ Szczególne użycie + dla łączenia łańcuchów. ◦ Szczególne użycie % dla formatowania łańcuchów. � Logiczne operatory są słowami (and, or, not) nie symbolami (&&, ||, !). � Podstawową � Pierwsze instrukcją drukowania jest “print” podstawienie pod zmienną tworzy ją. ◦ Zmienne nie muszą być deklarowane. ◦ Python dowiaduje się o typach zmiennych od nich samych.
Wielokrotne przyporządkowania Można używać wielokrotnych podstawień. >>> 2 >>> 3 >>> x, y = 2, 3 x y x, y=y, x Inne konstrukcje >>> x++ (niedopuszczalne) >>> x+=1 >>> y*=3+y
5 CECHA CHARAKTERYSTYCZNA -bogactwo typów danych � None � Integer (domyślny dla liczb) z = 5 / 2 # Odpowiedzią jest 2! � Float x = 3. 456 � String (basestring, str, unicode) Można używać ”” lub ‘’ np “abc” ‘abc’ Jeden łańcuch może się pojawić w drugim “To John’s” Potrójne łańcuchy używamy dla wielolinijkowych łańcuchów “““a‘b“c”””
Inne typy danych � Bool a=True � Long (w wersji Pythona 3. x tego typu nie ma) x=1234612974369 L � Complex – liczby zespolone x=2. 7 -3. 25 e-3 j � Listy x=[1, ‘a’, [3, (3, 2 -j)], {1: ’a’}] � Słowniki x={(1, 2, ’a’): [3, ’s’, 8. 2 e-2], ‘a’: 2 j} � Krotki x=(2, 5, ’a’, (3, 1), [1], {})
JESZCZE INNE TYPY DANYCH � Zbiory mutowalne (set) a=set([’a’, ’b’, 3, 4]) � Zbiory niemutowalne (frozenset) a=frozenset([8, ’a’, set([‘ 0’, 0]), 9]) � Wektory i tablice (biblioteka array) import array c=array(’d’, [1. 0, 3. 14, 6. 59]) � Ułamki (biblioteka fractions) from fractions import Fraction a=Fraction(1, 10) – Fraction(3, 5)
OPERATORY �Operacje arytmetyczne x+y, x-y, x*y, x//y, x%y, -x, x**y �Operacje bitowe x|y, x^y, x&y, x<<n, x>>n, ~x �Operatory < <= > >= == != <> is is not �Operacje logiczne x or y x and y not x