PYTHON

Transkrypt

PYTHON
PYTHON
Język programowania – zbiór reguł określających, które ciągi symboli tworzą program komputerowy
oraz jakie obliczenia opisuje ten program.
Aby program napisany w danym języku mógł być wykonany, niezbędne jest odpowiednie
przetworzenie jego kodu źródłowego:


KOMPILKACJA – kod źródłowy jest tłumaczony do postaci języka maszynowego;
INTERPERETACJA – kod źródłowy jest na bieżąco tłumaczony i wykonywany przez
dodatkowy program zwany interpreterem.
KOD ŹRÓDŁOWY
(PROGRAM)
DANE WEJŚCIOWE
INTERPRETER
wykonany przez
komputer
DANE WYJŚCIOWE
Python jest to interpretowany język programowania wysokiego poziomu







Twórca: Guido van Rossum (1990)
Nazwany w ślady za programem TV BBC „Latający cyrk Monty Pythona”
Wartość (nie nazwy) posiadają typ. Jest to język z typami dynamicznymi.
Posiada wbudowane abstrakcyjne typy danych:
o listy,
o krotki –przechowują stałe wartości o różnych typach danych,
o zbiory,
o słowniki.
Możliwe programowanie:
o obiektowe,
o strukturalne,
o funkcyjne.
Cecha wyróżniająca: stosowanie wcięć do wydzielania bloków kodu
Aby móc korzystać z funkcji matematycznych należy zaimportować odpowiedni moduł:
>>>import.math

np. math.sqrt(2) – pierwiastek z liczby 2
Aby uzyskać pomoc na temat funkcji i stałych zdefiniowanych w module math:
>>>help(math)


Dostępne są następujące rodzaje liczb:
o całkowite (0, 1, -2) typ int,
o boolowskie (False, True) typ bool,
o zmiennoprzecinkowe (3.14; 2.718) typ float,
o zespolone (2+3j, 1j, 1+0j) typ complex.
Operatory arytmetyczne:
o dodawanie +, odejmowanie -,
o mnożenie *, dzielenie /, dzielenie całkowite //,

o reszta z dzielenia całkowitego %,
o potęgowanie **.
Typy liczbowe – typ obiektu można pobrać za pomocą funkcji type
np. type(16), type(2**64), type(1+2j)
PRIORYTET:
1. Nawiasy – mają najwyższy priorytet używane do wymuszania obliczenia wartości wyrażenia
w żądanej kolejności;
2. Potęgowanie (prawostronnie łączny);
3. Mnożenia, dzielenie (całkowite), reszta z dzielenia;
4. Dodawanie, odejmowanie.
!!! OPERATORY O TYM SAMYM PRIORYTECIE SĄ OBLICZANE OD LEWEJ DO PRAWEJ
STRONY (LEWOSTRONNIE ŁĄCZNE).



Standardowy zestaw binarnych operatorów porównania, charakteryzujących się oczekiwaną
semantyką:
o < (mniejszy niż),
o > (większy niż),
o = = (równy),
o != (różny),
o <= (mniejszy równy),
o >= (większy równy).
Porównanie wartości obiektów, do których odniesienia zostały wskazane w operatorze.
Wynik: wartość tupu bool.
OBIEKTY – abstrakcja danych




Każda dana jest reprezentowana przez obiekt lub przez relację między obiektami.
Każdy obiekt ma:
o tożsamość,
o typ,
o wartość.
Od chwili jego utworzenia, tożsamość nigdy się nie zmienia.
Porównanie tożsamości dwóch obiektów
operator: is

Funkcja id – zwraca wartość całkowitą, reprezentującą tożsamość obiektu
adres obiektu przekształcony do postaci liczbowej
TYP – określa zbiór atrybutów i operacji, które można wykonać na obiekcie i definiuje zbiór
dopuszczalnych wartości obiektu.


nie może ulec zmianie,
można pobrać za pomocą funkcji type.
ZMIENNA – odniesienie do obiektu

aby ją utworzyć i nadać jej wartość, należy użyć instrukcji przypisania
zmienna = wyrażenie

może być przypisana jednocześnie wielu zmiennych
a=b=c=0

możliwe są jednoczesne przypisania
a, b, c=1, 2, 3
PRZYKŁAD:
>>>a=3
>>>b=3
>>>id(a)
>>>id(b)
>>>a is b
TRUE

Ostatnio wydrukowane wyrażenie przypisywane jest do zmiennej _
PRZYKŁAD 2
>>>53.4*3.56
11.74799999999
>>>round(_, 2)
11.75

Zmienna ta powinna być traktowana jako zmienna tylko do odczytu.
IDENTYFIKATOR (nazwy ZMIENNYCH, FUNKCJI, KLAS)\
To dowolny ciąg składający się z liter cyfr oraz znaków podkreślenia zaczynających się od
litery/znaku podkreślenia.
ZAPIS: plik.py
INSTRUKCE ITERACYJNE

FOR (dla) – używana do iterowania po elementach sekwencji lub innego obiektu iterowanego
for zmienna in wyrażenie:
blokInstrukcji
blok instrukcji – ciąg instrukcji, które umieszczone są w kolejnych liniach, przy czym każda linia jest
wcięta w stosunku do linii zaczynającej się od for o tę samą liczbę spacji.

RANGE – uniwersalna funkcja tworząc skończony ciąg arytmetyczny
Można wywołać z 1, 2, 3 argumentami.
>>>list(range(6))
0, 1, 2, 3, 4, 5
MODUŁ TURTLE













degress() – jednostki miary kąta na stopnie,
radians() – jednostki miary kąta na radiany,
reset() – czyści ekran, pióro na środku i przypisuje zmiennym ich domyślne wartości,
clear() – czyści ekran,
tracer(znacznik) – włącza/wyłącza śledzenie,
forward(odległość) – ruch naprzód o odległość kroków,
backward(odległość) – ruch wstecz o odległość kroków,
left(kąt) – obrót w lewo o kąt jednostek (o),
degress(), radians()
right(kąt) – obrót w lewo o kąt jednostek (o),
up() – podnosi pióro (przerywa rysowanie),
down() – opuszcza pióro (rozpoczyna rysowanie),
width(grubość) – grubość linii,
color(barwa)
Przykłady kolorów:



Lista wszystkich kolorów: http://www.tcl.tk/man/tcl8.5/TkCmd/colors.htm
write(napis [,przesunięcie]),
fill(znacznik) fill(1) – rozpoczęcie rysowania ścieżki, fill(0) – po zakończeniu,
circle(promień [,rozciągłość])
część okręgu

goto((x, y)) – przechodzi do współrzędnych x, y.
PRZYKŁADY RYSUNKÓW
1. TRÓJKĄT
import turtle
def triangle (size):
for i in range(3):
turtle.forward(size)
turtle.left(120)
def main():
turtle.setup()
triangle(100)
turtle.done()
main()
Komentarz [k1]: Dzięki temu poleceniu
rysunek nie zniknie po jego zakończeniu
2. SZEŚCIOKĄT
import turtle
for i in range(6):
turtle.left(60)
turtle.forward(150)
turtle.done()
3. CZERWONA GWIAZDKA 5-CIO RAMIENNA
import turtle
def main():
turtle.setup()
turtle.color(“red”)
turtle.begin_fill()
for i in range(5)
turtle.forward(150)
turtle.right(144)
turtle.end_fill()
turtle.done()
main()
Komentarz [k2]: Powoduje
zamalowanie figury
Komentarz [k3]: Funkcja – skończony
ciąg arytmetyczny
Komentarz [k4]: 180/5=36
180-36=144
4. BIAŁA GWIAZDA
import turtle
for i in range(5):
turtle.forward(20); turtle.left(60)
turtle.forward(20); turtle.right(120)
turtle.forward(20); turtle.left(60)
turtle.forward(20); turtle.left(72)
turtle.done()
Komentarz [k5]: 360/5
5. ROZGWIAŻDŻENIE
import turtle
for i in range(1, 21):
turtle.fd(10*i); turtle.bk(10*i); turtle.rt(360/20)
turtle.done()
6. KOPERTA
import turtle
import math
def main():
bok=100
polowaPrzek=0.5*math.sqrt(2*(bok**2))
turtle.lt(90)
Komentarz [k6]: fd=forward
Komentarz [k7]: bk=backward
Komentarz [k8]: rt=right
turtle.fd(bok)
turtle.rt(135)
turtle.fd(polowaPrzek)
turtle.rt(90)
turtle.fd(polowaPrzek)
turtle.lt(135)
turtle.fd(bok)
turtle.lt(135)
turtle.fd(polowaPrzek)
turtle.rt(90)
turtle.fd(polowaPrzek)
turtle.lt(135)
turtle.fd(bok)
turtle.rt(135)
turtle.fd(polowaPrzek)
turtle.rt(90)
turtle.fd(polowaPrzek)
turtle.rt(45)
turtle.fd(bok)
turtle.done()
main()
7. PTASZEK
import turtle
def main():
turtle.lt(30)
turtle.fd(20); turtle.bk(20)
turtle.rt(60)
turtle.fd(20); turtle.bk(20)
turtle.lt(30)
turtle.done()
main()
8. SKOKI
import turtle
for i in range(10):
turtle.fd(10)
turtle.pu()
turtle.fd(10)
turtle.pd()
turtle.done()
9. SNAKE
import turtle
for i in range(5):
turtle.fd(10); turtle.lt(90)
turtle.fd(20); turtle.rt(90)
Komentarz [k9]: α
Komentarz [k10]: β
Komentarz [k11]: α
turtle.fd(10); turtle.rt(90)
turtle.fd(20); turtle.lt(90)
turtle.done()

Podobne dokumenty