Temat 1: Podstawy języka Python
Wstecz; Ostatnia modyfikacja: 27.02.2015
- Porównanie "Hello World" w różnych językach.
- Zalety Pythona: minimalizm (zwięzły kod - wcięcia determinują bloki kodu); duża liczba bibliotek;
świetny do małych programów, dość dobry do rozbudowanych programów.
- Drobna wada Pythona: jest nieco wolniejszy niż C czy C++
- podstawowe typy danych
x=123
x="aaa" # tu x zmienia swój typ
y="bbb"
z="*"*10
x>y
y>x
x[1] # dostęp w czasie stałym
x[10] # błąd
1/10
1./10
z=3j+4
z=complex(3,4)
5**3
z.real; z.imag
print("Hello"+" world|||")
print("Hello"+1) #bład
round(2.3)
round(2.5)
(d,r) = divmod(10,3)
moduł math
import math
help(math)
math.e
math.pi
math.ceil(2.3)
math.floor(2.3)
math.log(64,2)
listy
x=[1,2,3,4]
len(x)
help(len) # dokumentacja funkcji
y=x
x[1]=5
x==y
x=y[:] # kopiowanie listy
x[1]=6
x==y # rozne listy
range(10)
x.append(7)
x.append("aaa") # rozszerza istniejącą listę
x+y # tworzy nową listę
sum([x**2 for x in y])
sum(map(lambda x:x**2, y))
string'i
x="abcdef"
x.find("b")
len(x)
"a" in x
"x" in x
y=":".join(["abc","def","ghi"])
y[2:]
y[:3]
y[2:3]
y[-1]
y[-2]
y[::-1]
y.split(":")
y.split("f")
y=y.replace(":","-")
sortowanie wykorzystując sorted
z=["aaz","dddd","cc","b"]
sorted(z)
sorted(z, reverse=True)
sorted(z, key=lambda e:len(e))
sorted(z, key=lambda e:e[-1])
przekazywanie parametrów przez linię komend: sys.argv
import sys
def hello(name):
print("Hello "+ name)
if len(sys.argv) >= 2:
hello(sys.argv[1])
else:
print("Podaj parametr!")
opcjonalnie: funkcje
opcjonalnie: mierzenie czasów wykonania
import timeit
def test(N):
return range(N)[N/2]
import __builtin__
__builtin__.__dict__.update(locals())
t = timeit.timeit("test(10000)", number=10)
print(t)
opcjonalnie: różnice pomiędzy Python 2 i Python 3: range, print
Ćw 1: implementacja ciągu Fibonacciego