bioinf1


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:
bioinf3
Bioinformatics 2011 Zhang 2083 8
bioinfoI wyklad03
bioinf4
Bioinformatics 2012 Vlachakis bioinformatics bts637(3)
elementy bioinformatyki wyklad4
Bioinformatyka4
Bioinformatyka wykłady
Bioinformatics 2011 Bakan 1575 7(1)
Bioinformatyka skrypt3
bioinf5
bioinformatyczneBD lab1
Bioinformatyka
bioinf2 sylabusy
bioinfoI wyklad04
bioinf2
bioinformatyczneBD lab2

więcej podobnych podstron