forked from tdwojak/Python2018
14 KiB
14 KiB
Ogólne wprowadzenie do Pythona
19 Listopada 2017
Hello Python!
r = "adflakjfsldkfj" + "asd"
print(r)
print('r')
print(2 / 3.0)
adflakjfsldkfjasd r 0.6666666666666666
print('Hello Python')
print(10)
print(3.14)
print('123456789 * 987654321')
print(10 ** 20)
print(12 ** (3 + 4 *(567 % 8) / 9))
print("PI", "jest równe", 3.1415)
Komentarze
- Komentarze nie są interpretowane.
- Komentarze w Pythonie zaczynają się od znaku '#'
- Istnieją komentarze wielolinijkowe tagowane potrójnym ", czyli """ """
print("Bardzo ważna wiadomość") # A to jest komentarz
"""
Komentarz
wielo-
linijkowy
"""
# print("Nie chcę być wydrukowanym")
print("A teraz chcę")
Zmienne
- case sensitive,
- brak deklaracji typu,
- do zmiennej można pezypisać wszystko.
alaalaalaalaalaalaalaala
print(type(ocena_z_pythona))
print(type(pi))
print(type(imie_prowadzacego))
print(type(nazwisko_prowadzego))
print(type(None))
<class 'int'> <class 'float'> <class 'str'> <class 'str'> <class 'NoneType'>
Listy
- W Pythonie nie ma tablic, są listy;
- Listy mogą przechowywać elementy różnych typów;
- Indeksowanie zaczyna się od 0.
pusta_lista = [] # albo równoważnie pusta_lista = list()
oceny = [5, 4, 3, 5, 5]
roznosci = [3.14, "pi", ["pi"], 3]
#print(oceny[1])
ciag_10_elem = range(10)
print(oceny[int(12/ 5)])
3
Dodawanie i usuwanie elementów z listy
11
#oceny.pop(0) # Domyślnie usuwa ostatni element z listy
oceny = [1,2,3,2,3,1,2, 4]
oceny.remove(2)
print(oceny)
[1, 3, 2, 3, 1, 2, 4]
Indeksowanie
print(oceny)
print('pierwszy element:', oceny[0])
print('ostatni element:', oceny[-1])
print('5 pierwszych:', oceny[:5])
print('5 ostatnich', oceny[-5:])
print('od drugiego, do piątego', oceny[1:5])
print('parzyste:', oceny[1:6:2])
print('od tyłu', oceny[::-1])
[1, 3, 2, 3, 1, 2, 4] pierwszy element: 1 ostatni element: 4 5 pierwszych: [1, 3, 2, 3, 1] 5 ostatnich [2, 3, 1, 2, 4] od drugiego, do piątego [3, 2, 3, 1] parzyste: [3, 3, 2] od tyłu [4, 2, 1, 3, 2, 3, 1]
Co możemy zrobić z listą?
oceny.sort()
print(oceny)
oceny.reverse()
print("liczba piątek", oceny.count(5))
[1, 1, 2, 2, 3, 3, 4] liczba piątek 0
Pętla typu for
- W Pythonie pętla _for działa jak pętla for each w innych językach;
- W Pythonie nie ma klamr, ani _begin i end; jako ciało pętli musi być wcięte (najcześciej 4 spacje).
for i in range(10):# range[5] = [0,1,2,3,4]
pass
print('element:', i) # Uwaga wcięcie!
print('sqr:', i **2) # Uwaga wcięcie!
Schemat:
for zmienna in lista:
# jakiś kod
for ocena in oceny:
print("Ocena:", ocena)
Lista kwadratów
kwadraty = []
for i in range(10):
kwadraty.append(i ** 2)
print(kwadraty)
print(kwadraty[5])
Słowniki, czyli mapy
slownik = {}
s_oceny = {"Justyna" : [5,5,5], "Bartek" : [3,4,5], "Ola": [3,3,3]}
print(s_oceny)
s_oceny[1234567890] = [3,4,5]
#print("ADAM:", s_oceny["Adam"])
print(s_oceny)
s_oceny['Ala'] = [2,2,2,4,4,4,3,3,3]
print(s_oceny)
Iterowanie po słowniku
for osoba in s_oceny:
print(osoba,':', s_oceny[osoba])
for osoba, oceny in s_oceny.items():
print(osoba,':', oceny)
Instrukcja sterująca if ... else
- działa tak samo, jak w innych języka;
- jest dodatkowa instrukcja następnego warunku _elif...;
zmienna = 7
if zmienna < 0:
print("Ujemna!")
elif zmienna == 0:
print("Zero!")
if "Ala" in s_oceny:
print("Ala jest w grupie!")
else:
print("Niestety Ali nie ma grupie!")
Funkcje
def is_greater_than_5(x):
if x > 5:
return True
else:
return False
print(is_greater_than_5(5))
print(is_greater_than_5(-100))
print(is_greater_than_5(500))
Łańcuchy znakowe
napis = "Wiadomość"
print(napis)
for znak in napis:
print(znak, ord(znak))
if 'dom' in napis:
print(True)
else:
print(False)
slowa = ['Bardzo' , 'ważna', 'wiadomość']
print(' '.join(slowa))
text = "Bardzo ważna wiadomość"
print(text.split(' '))
text = "Nie wszyscy lubią spacje na końcu linii. "
print(text)
print(text.strip(' '))