Podstawy bioinformatyki
Wstęp do języka Python i Python jako kalkulator
Joanna Bednarska, Dawid Grabarek
Zakład Chemii Fizycznej i Kwantowej
Katedra Inżynierii i Modelowania Materiałów Zaawansowanych
joanna.bednarska@pwr.edu.pl
dawid.grabarek@pwr.edu.pl
18 pazdziernika 2015
1 / 23
Plan wykładu
1
Literatura i pomoce naukowe
2
Język Python
3
Interpreter Pythona jako kalkulator
2 / 23
Cel zajęć
Nauczenie Państwa samodzielnej pracy z językiem Python
dla celów bioinformatyki i nie tylko.
Oraz zapoznanie z podstawowymi bazami danych,
przydatnymi dla biotechnologów.
3 / 23
Literatura i pomoce naukowe
Python. Wprowadzenie - M. Lutz, D. Ascher, wyd. Helion
Darmowe e-booki: https://pl.python.org/darmowe,ebooki.html
Darmowe kursy online: http://pl.python.org/kursy,jezyka.html
Oryginalna dokumentacja języka Python:
http://www.python.org/doc/
https://projecteuler.net/
http://www.pythonchallenge.com/
4 / 23
5 / 23
Język programowania
Definicja
Język programowania - zbiór zasad określających, kiedy ciąg symboli
tworzy program komputerowy oraz jakie obliczenia opisuje.a
a
Mordechai Ben-Ari. Understanding Programming Languages . In: (1996).
6 / 23
Język programowania
Przykład- język naturalny
Zapisz na tablicy kolejne wyniki potęgowania liczby Eulera przez 1,2,3,4 i 5.
Przykład- język programowania
from math import e
for n in range(1, 6):
print e**n
7 / 23
Język Python
Którą wersję wybrać? Zasadniczo istnieją dwie wersje Pythona: 2.x i 3.x.
Istnieją małe ale ważne różnice w składni niektórych poleceń i w dostępie
do bibliotek.
Obecnie więszość dystrubucji Linuxa wykorzystuje wersję 2.7 i my tej
będziemy używać.
8 / 23
Język Python
Charakterystyka:
język wysokiego poziomu
dynamiczny system typów
automatyczne zarządzanie pamięcią
język interpretowany
9 / 23
Język Python
Zalety:
Bardzo łatwa do opanowania i intuicyjna składnia, a więc czytelność
kodu
Dzięki trybowi interaktywnemu możliwe jest szybkie sprawdzanie
prostych kodów i uzyskiwanie informacji o poleceniach, funkcjach i
typach danych
Ogromna ilość bibliotek daje dużą wszechstronność i pozwala na:
administrację systemem
złożone obliczenia matematyczne
pisanie prostych gier komputerowych
analizę i wizualizację danych
pracę z plikami tekstowymi
rozwiązywanie problemów bioinformatyki
zarządzanie bazami danych
10 / 23
Język Python
Wady:
Tutaj, zasadniczo brak
Ogólnie:
Może być wolniejszy niż języki nieinterpretowane
Raczej nieużywany w aplikacjach mobilnych ergo na smartphonach
11 / 23
Język Python
Zastosowania:
codzienna praca z danymi
YouTube
Google
DropBox
Instagram
Quora
obliczenia naukowe prowadzone przez NASA
wiele innych:
https://www.python.org/about/success/#computer-graphics
12 / 23
Interpreter Pythona
Aby wejść do interpertera Pythona, wpisz w konsolę python.
Pojawi się informacja o wersji używanego interpretera, oraz, tzw. znak
zachęty, czyli >>>. W toku dalszej nauki poznamy inne formy znaku
zachęty, np. ....
Zauważ, że w systemie UNIX, analogiczną rolę pełni znak $, wraz z nazwą
użytkownika, komputera i nazwą obecnego katalogu roboczego.
Aby wyjść z interpretera, użyj CTRL+D lub wpisz quit().
13 / 23
Interpreter Pythona jako kalkulator
Operator Znaczenie
+ Dodawanie
- Odejmowanie
* Mnożenie
/ Dzielenie
// Podłoga z dzielenia
% Reszta z dzielenia
** Podnoszenie do potęgi
14 / 23
Python jako kalkulator
Operator Znaczenie
== Czy jest równe?
!= Czy nie jest równe?
> Czy lewa wartość jest większa od prawej wartości?
< Czy prawa wartość jest większa od lewej wartości?
>= Czy lewa wartość jest niemniejsza od prawej wartości?
<= Czy prawa wartość jest niemniejsza od lewej wartości?
15 / 23
Biblioteka math
Definicja
Biblioteka programistyczna - plik dostarczający podprogramy, dane oraz
typy danych które mogą zostać wykorzystane z poziomu
kodu zródłowego programu. Użycie bibliotek to sposób na
ponowne wykorzystanie tego samego kodu.a
a
pl.wikipedia.org . In: (Biblioteka programistyczna).
16 / 23
Biblioteka math
Biblioteka math zawiera podstawowe funkcje matematyczne
(trygonometryczne, cyklometryczne, logarytm, eksponens, etc.) oraz pewne
stałe, np. liczbę pi lub liczbę Eulera (podstawa logarytmu naturalnego).
By z niej skorzystać, zaimportuj ją:
Przykład
>>> import math # Importujemy bibliotekę math
>>> dir(math) #Wyświetlamy podprogramy i dane które zawiera
biblioteka. Na razie nie interesują nas te,
które zaczynają się od i kończą na __ , np.
__name__, poza __doc__ (patrz dalej)
>>> math.pi #Zwraca wartość liczby pi
>>> math.sin(1) #Zwraca wartość sinusa dla 1 radiana
>>> math.sin(math.pi/2) #Zwraca wartość sinusa dla pi/2
radianów, czyli 90 stopni
17 / 23
Biblioteka math
Q: Skąd mam to wiedzieć?
A: Używaj wbudowanej pomocy.
Przykład
>>> dir(math)
>>> print math.sin.__doc__ #Zwraca informację o użyciu
funkcji sinus
>>> print math.modf.__doc__ #Zwraca informację o użyciu
funkcji, ktorą poznałem
pisząc ten wykład
18 / 23
Biblioteka math
Co warto pamiętać o bibliotece math:
sin, cos, e, exp, factorial, floor, log, log10, pi, pow, radians, sin, sqrt
Sprawdz sam(a) co oznaczają powyższe funkcje/dane przy pomocy funkcji
doc
19 / 23
Inne sposoby importowania bibliotek
Przykład
>>> from math import sin #Importuj tylko funkcję sin,
ponieważ jej akurat potrzebuję
>>> sin(1) #Nie odwołuję się do biblioteki math, ponieważ
funkcja została z niej pobrana
>>> from math import cos, pi, radians
#Przypomniało mi się, że potrzebuję więcej funkcji/
danych z biblioteki math, więc je "dobieram"
20 / 23
Inne sposoby importowania bibliotek
Przykład
>>> from math import * #Zaimportuj wszystko z biblioteki math.
Mogę teraz wykorzystywać wszystkie
funkcje i dane z biblioteki.
UWAGA. Wysoce nierekomendowane dla
początkujących.
>>> dir() #Do czego mam dostep, tzn. do jakich zmiennych,
funkcji, itd.?
21 / 23
Inne sposoby importowania bibliotek
Przykład
>>> import math as m #Importuj math, ale pod nazwą m.
Użyteczne, gdy nazwa biblioteki
jest dla nas za długa lub nam
się nie podoba
>>> m.sin(1)
22 / 23
Co dalej?
Aby oswoić się z dzisiejszym materiałem
Staraj się używać intepretera Pythona jako kalkulatora do
codziennych obliczeń
Sprawdz inne funkcje biblioteki math
Często korzystaj z atrybutu doc
23 / 23
Wyszukiwarka
Podobne podstrony:
bioinf3Bioinformatics 2011 Zhang 2083 8bioinfoI wyklad03bioinf4Bioinformatics 2012 Vlachakis bioinformatics bts637(3)elementy bioinformatyki wyklad4Bioinformatyka4Bioinformatyka wykładyBioinformatics 2011 Bakan 1575 7(1)Bioinformatyka skrypt3bioinf5bioinformatyczneBD lab1Bioinformatykabioinf2 sylabusybioinfoI wyklad04bioinf2bioinformatyczneBD lab2więcej podobnych podstron