▪ Operatörler, değişkenler ve değerler üzerinde işlemler gerçekleştirmek için kullanılır.
▪ Python, operatörleri aşağıdaki gibi gruplara ayrılır:
✓ Aritmetik operatörler
✓ Atama (Assignment ) operatörleri
✓ Karşılaştırma (Comparison) operatörleri
✓ Mantıksal (Logical) operatörler
✓ Kimlik (Identity) operatörleri
✓ Üyelik(Membership) operatörleri
✓ Bitwise operatörler
Hazırlayan: Fatma Duran
Ekleme
Çıkarma
▪ Aritmetik operatörler, yaygın matematiksel işlemleri gerçekleştirmek Çarpma
için sayısal değerlerle kullanılır:
Operatör İşlem Örnek Bölme
+ Ekleme a+b
- Çıkarma a-b Üs Alma
* Çarpma a*b
/ Bölme a/b
Tamsayı Bölümü
** Üs Alma a**b
// Tamsayı Bölümü a//b
% Modül/Kalan a%b Modül Kalan
Modül
Hazırlayan: Fatma Duran
Operatör Örnek Aynısı ▪ Atama operatörleri, değişkenlere değer atamak
= x=a x=a için kullanılır.
+= x += b x=x+b
-= x -= b x=x-b
*= x *= b x=x*b
/= x /= b x=x/b
%= x %= b x=x%b
//= x //= b x = x // b
**= x **= b x = x ** b
&= x &= b x=x&b
|= x |= b x=x|b
^= x ^= b x=x^b
▪ x = x+b ile x +=b ifadesi örnekte de görüldüğü
gibi aynı sonucu verir.
>>= x >>= b x = x >> b
<<= x <<= b x = x << b Hazırlayan: Fatma Duran
▪ Bu operatörler, onlara verdiğiniz değerlere bağlı olarak True
veya False olarak değerlendirilir.
Operatör Anlamı
== Eşittir
!= Eşit değil
> Büyüktür
< Küçüktür
>= Büyüktür veya Eşittir
<= Küçüktür veya Eşittir
Hazırlayan: Fatma Duran
▪ Programlamada veri türü önemli bir kavramdır.
▪ Değişkenler farklı türlerdeki verileri depolayabilir ve farklı türler farklı şeyler yapabilir.
▪ Python’da kullanılan bazı veri türleri;
Metin (Text) Türü: str
Sayısal (Numeric) Türler: int, float, complex
Sıra (Sequence) Türleri: list, tuple, range
Eşleme (Mapping) Türü: dict
Set Türleri: set, frozenset
Boole (Boolean) Türü: bool
İkili (Binary) Türü: bytes, bytearray, memoryview
Hazırlayan: Fatma Duran
▪ Veriler ifade edilirken sayısal türler ve metinsel ifadelerin kullanımı için bir örnek tablo aşağıdaki gibi olabilir.
Veri Tipi Örnek
Integer -3, -2,-1, 0, 1, 2, 3,
Floating-point numbers -5.25, -2.10, 0.0, 1.2, 3.15
Strings 'B', 'bio', 'BIOINFORANGE', ‘20 Kategori'
Veri tiplerinin örnekler ile gösterimi
Hazırlayan: Fatma Duran
▪ Python’da değişkene tırnak işareti (tek veya çift) kullanarak atanan her şey string olarak kabul edilir.
▪ Örnekte (x + y), ilk durumda x ve y’yi tam sayı
olarak yorumladığı için 30 olarak okur.
▪ İkinci durumda ise "10" ve "20" tırnak içinde olduğu
için string bir ifade olarak algılanır ve 1020 olarak
okunur.
Hazırlayan: Fatma Duran
▪ Tam sayılar integer, ondalıklı sayılar float, tırnak içinde ifade edilen bilgiler ise string olarak
sınıflandırılır.
▪ type( ) Python’da bulunan gömülü fonksiyonlardan biridir.
print(type( )) yazarak ifadenin hangi sınıfa girdiğini kontrol
edilebilir.
Hazırlayan: Fatma Duran
▪ String bir ifade üzerinden sayısal işlem yapmak istersek;
Hazırlayan: Fatma Duran
▪ İfade bir string olduğunda, len( ) fonksiyonu string’deki karakter sayısını döndürür.
▪ İfadelerde aynı metin yazmasına rağmen
uzunluklar farklı çıkabilir. Boşlukta bir karakter
sayılır ve len( ) ona göre sayı döndürür.
Hazırlayan: Fatma Duran
▪ String bir ifade okunurken lower( ) yönteminin uygulanması, tüm karakterleri küçük harfe dönüştürür.
▪ String bir ifade okunurken upper( ) yönteminin uygulanması, tüm karakterleri büyük harfe dönüştürür.
Tüm karakterler küçüldü.
Tüm karakterler büyüdü.
Hazırlayan: Fatma Duran
▪ replace( ) yöntemi, belirli bir ifadeyi belirtilen başka bir ifade ile değiştirir.
Tek bir harfte dönüşüm yapılabilir.
Kelime olarak değişim yapılabilir.
Hazırlayan: Fatma Duran
▪ split( ) yöntemi string bir ifadeyi listeye böler.
▪ Separator (ayırıcı) belirtilebilir, varsayılan separator herhangi bir boşluktur.
Varsayılan seperator boşluk.
Seperator ‘.’
Seperator ‘;’
Hazırlayan: Fatma Duran
▪ strip( ) yöntemi baştaki ve sondaki karakterleri kaldırır.
Başta ve sondaki boşluklar silindi.
, ifadeleri silindi.
Birden fazla ifade aynı anda silinebilir.
Hazırlayan: Fatma Duran
▪ count( ) yöntemi, verilen string’de alt dizeyi(substring) arar ve alt dizenin içinde kaç kez bulunduğunu
döndürür.
Tek bir harf aranabilir.
Bir kelime aranabilir.
Herhangi bir substring aranabilir.
Hazırlayan: Fatma Duran
▪ Bir koleksiyon türü seçerken, o türün özelliklerini bilmek önemlidir.
▪ Python programlama dilinde 4 tane veri toplama türü bulunmaktadır.
List
Tuple
Set
Dictionary
Hazırlayan: Fatma Duran
▪ Python programlamada liste elemanları, köşeli parantez [ ] içinde virgül ile ayrılarak yazılır.
▪ Parantez içindeki ifade herhangi bir değişken türünde olabilir (int, string, float).
String, integer ve float ifadelere örnek.
Bir liste içinde başka listeler [ ] içinde yazılabilir.
Hazırlayan: Fatma Duran
▪ Listeler ile işlemler yapılabilir.
Farklı listeler yazılıp farklı operatörler ile işlemler
yapılabilir.
Hazırlayan: Fatma Duran
▪ Listeler 0 tabanında indexli olarak düşünülür ve her elemanın index numarası vardır.
▪ İndex ikiye ayrılır.
List = ['B', 'I’, 'O’, 'I’, 'N’, 'F’, 'O’, 'R’, 'A’, 'N’, 'G’, 'E']
0 1 2 3 4 5 6 7 8 9 10 11
-12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
Hazırlayan: Fatma Duran
0. index de ‘B’ elamanı olduğu için ona göre okur.
Farklı sayılar ile de denemeler yapılabilir.
Hazırlayan: Fatma Duran
-1. index de ‘E’ elamanı olduğu için ona göre okur.
Farklı sayılar ile de denemeler yapılabilir.
Hazırlayan: Fatma Duran
Listeler 0 (sıfır) tabanında olduğu için index( )
ile elemanın ilk bulunduğu yerdeki sayısına
göre sonuç alınır.
Listeye ikinci bir ‘A’ elemanı eklediğimizde
sonuç yine aynı döner, çünkü ‘A’ elemanını
ilk 7’de okur.
Hazırlayan: Fatma Duran
▪ Bir liste de belli bir eleman aralığını okumak için 0’dan 3’e, 3 dahil değil.
slicing yöntemi kullanılır.
▪ Bunun için istenilen elemanın numarası ve : (iki
nokta) ile slicing yöntemi uygulanır. 3’den 7’ye, 7 dahil değil.
6’dan 12’ye, 12 dahil değil.
Hazırlayan: Fatma Duran
6’dan başlayıp sonuna kadar okuma yapılabilir, 6 yerine herhangi bir sayı seçilebilir.
7 den önceki elemanlar 7 dahil olmayarak okunabilir.
Listenin belli bir sayı artışı şeklinde her n’inci elemanı alınsın
istenirse [::n] olarak döndürülür.
Hazırlayan: Fatma Duran
▪ Listeye herhangi bir yeni eleman eklemek için append( ) fonksiyonu kullanılır.
Eklenen ifade string olduğu için tırnak içinde yazılır.
Eklenen ifade integer olduğu için direkt yazılır.
Hazırlayan: Fatma Duran
▪ clear( ) ile bir listede bulunan tüm öğeler silinir.
Sonuçta eleman olmadığı için listeyi [ ] olarak okur.
Listeyi normal okuma
Liste içinde başka liste olmasının da bir
önemi yok clear( ) fonksiyonu ile tüm
öğeler silinir.
Hazırlayan: Fatma Duran
▪ Bir listedeki elemanları başka bir listeye kopyalamak için copy( ) yöntemi uygulanır.
List_2’yi okuduğunda List_1 elemanlarını kopyaladığı için aynı sonucu verir.
Hazırlayan: Fatma Duran
▪ count( ) yardımı ile bir listede bulunan elamanların o listede kaç kere bulunduğunu döndürür.
Listede B tek başına bir eleman olmadığı için sonucu 0 döndürdü.
Farklı listeler ile farklı aramalar yapılabilir.
Hazırlayan: Fatma Duran
▪ extend( ) yöntemi, belirtilen liste öğelerini geçerli listenin sonuna ekler.
append( )’den farklı olarak extend( )’de birden fazla
eleman aynı anda eklenir.
Hazırlayan: Fatma Duran
▪ insert( ) fonksiyonu ile bir listeye hangi index numarasında eleman eklenmek istiyorsa, index numarası ve
eklenecek ifade yazılarak okunur.
Hazırlayan: Fatma Duran
▪ pop( ) ile index numarasına göre listeden bir eleman çıkartılabilir.
pop( ) ile çıkarılan öğenin yerine insert( ) ile başka bir öğe de eklenebilir.
Hazırlayan: Fatma Duran
▪ remove( ) fonksiyonu ile listeden eleman çıkartılır. Listede eleman çıkarmak için kullanılan 3 yöntem
aşağıda örneklerde anlatılmıştır
pop( ) ile index numarasına göre eleman
çıkartılırken, remove( ) ile listedeki eleman
direkt yazılır. del’de index numarasına
göre [ ] kullanarak yazılır.
Hazırlayan: Fatma Duran
▪ reverse( ) yöntemi ile bir listenin elemanlarını ters çevirir.
Hazırlayan: Fatma Duran
▪ sort( ) yöntemi ile listede yer alan ifade eğer string ise listeyi A’ dan Z’ye alfabetik olarak sıralaması
yapılabilir.
sort dan sonra reverse yöntemi eklenirse liste tersten alfabetik olarak Z’den A’ya sıralanır.
Hazırlayan: Fatma Duran
▪ List ve tuple’ın 0 tabanında indexli olduğunu daha önce görmüştük, Set’ler indexsiz ve sırasız
elemanlardan oluşur ve { } parantez içinde yazılır.
▪ Set öğeleri değiştirilemez(immutable) ve benzersiz(unique) özellikte olmalıdır.
String, integer ve float ifadelere örnek.
▪ Daha önce list ve tuple’da elemanlar yazılan sıraya göre okunuyordu. Set’de sonuç algoritmanın
kendine göre en hızlı verdiği sonuca göre okunur.
Hazırlayan: Fatma Duran
▪ Boş bir Set yazarken { } yerine ( ) parantez kullanılmalıdır.
Aksi halde boş set dictionary olarak sınıflandırılabilir.
Hazırlayan: Fatma Duran
▪ Set’lerin nasıl sırasız olduklarını anlamak
için örneklere bakalım.
Aynı ifadelerin list ve set olarak okunması,
set kendi algoritmasına göre sonuç
verirken list olduğu gibi okur.
Hazırlayan: Fatma Duran
▪ Set’e bir eleman eklemek istenildiğinde add( ) metodu kullanılmaktadır.
Set’e add( ) metodu ile bir eleman
eklenir, örneklerdeki gibi okurken set
yeniden adlandırılabilir.
Hazırlayan: Fatma Duran
▪ clear( ) ile bir Set’de bulunan tüm öğeler silinir.
Sonunda boş Set, set( ) olarak okunur.
Hazırlayan: Fatma Duran
▪ Bir Set’de bulunan elemanları başka bir Set’e kopyalamak için copy( ) metodu uygulanır.
set_2’yi okuduğunda set_1
elemanlarını kopyaladığı için aynı
sonucu verir.
Hazırlayan: Fatma Duran
▪ pop( ) metodu rastgele bir set öğesini kaldırır. Hangi elemanı sileceği belli olmaz.
Hazırlayan: Fatma Duran
▪ remove( ) metodu ile Set’den eleman çıkartılır. Çıkarılmak istenilen eleman parantez içinde yazılabilir.
▪ Pop metodu ile rastgele bir eleman
çıkarılırken remove metodunda öğe
seçimi yapılır.
Hazırlayan: Fatma Duran
▪ discard( ) metodu ile Set’den eleman çıkartılır. Çıkarılmak istenilen eleman parantez içinde yazılabilir.
▪ remove( ) ve discard( ), Set’den eleman
çıkartmak için kullanılır peki
aralarındaki fark nedir?
Hazırlayan: Fatma Duran
▪ Eğer çıkarılmak istenilen eleman
Set’de yoksa discard metodu hata
vermez, mevcut Set’i döndürür.
Remove metodunda hata verir.
Hazırlayan: Fatma Duran
▪ update( ) metodunda farklı bir Set’i eklerken mevcut bulunan Set’i de güncel olarak tekrar döndürür.
▪ set_2’yi set_1’e eklerken set_1’i
yeniden okur.
▪ Aynı öğeden her iki Set’de de varsa,
güncellenen sette bu öğenin yalnızca
bir görünümü bulunacaktır.
Hazırlayan: Fatma Duran
▪ Difference metodu iki set arasındaki farkı
bulmaya yardımcı olur.
set_2’nin set_1’den farkı ya da ne
isteniyorsa bakılabilir, eğer fark yoksa
boş set olarak set( ) sonucu okunur.
Hazırlayan: Fatma Duran
▪ İki Set arasındaki farkı bulduktan sonra Set’i günceller.
difference( ) metodunda istenmeyen
öğeler olmadan yeni bir Set
döndürürken, difference_update( )
metodunda istenmeyen öğeler
orijinal Set’den kaldırılır.
Hazırlayan: Fatma Duran
▪ İki ya da daha fazla Set’in kesişiminin bir Set’ini döndürür.
Hazırlayan: Fatma Duran
▪ İki Set’deki ortak elemanları döndürür çünkü diğer elemanları istenmeyen eleman olarak görür.
Okunmasını istenen orijinal Set’den istenmeyen elemanları kaldırmaya yarar.
intersection( ) metodu istenmeyen
öğeler olmadan yeni bir Set
döndürürken, intersection_update( )
metodu, orijinal Set’den istenmeyen
öğeleri kaldırır.
Hazırlayan: Fatma Duran
▪ Her iki Set’de de aynı herhangi bir eleman
yoksa True olarak döndürür, aynı herhangi
bir eleman varsa da False olarak döndürür.
Hazırlayan: Fatma Duran
▪ Tüm öğeler belirtilen sette varsa
sonucu True döndürür, yoksa da False
döndürür.
Hazırlayan: Fatma Duran
▪ Belirtilen Set’deki tüm öğeler orijinal Set’de
varsa True döndürür, aksi takdirde False
döndürür.
Hazırlayan: Fatma Duran
▪ Belirtilen Set’lerden tüm öğeleri içeren
bir dizi döndürür.
▪ Bir öğe birden fazla Set’de mevcutsa,
sonuç bu öğenin yalnızca bir
görünümünü içerecektir.
Hazırlayan: Fatma Duran
▪ Her iki sette de bulunmayan öğelerin bir karışımını içeren yeni set döndürür.
Hazırlayan: Fatma Duran
▪ Her iki Set’de ortak olan elemanları kaldırır ve diğer öğeleri ekleyerek orijinal Set’i günceller.
Hazırlayan: Fatma Duran
▪ Düzenli ve değiştirilemez bir koleksiyondur.
▪ Tuple’da elemanlar ( ) parantez içinde yazılır.
String, integer ve float ifadelere örnek.
Tuple içinde başka tuple’lar olabilir.
Hazırlayan: Fatma Duran
▪ Tek bir eleman ile Tuple (demet) oluşturmak zordur.
Bir tuple olduğunu belli etmek için elemandan sonra
virgül koymak gerekir. Yoksa ifadeyi string
algılayabilir.
Hazırlayan: Fatma Duran
▪ Tuple’ların en önemli özelliği değiştirilemez olmalarıdır.
▪ Tuple’lar oluşturulduktan sonra öğeleri değiştirilemez, yeni öğe eklenemez veya öğe çıkarılamaz.
Tuple’da hata verdi.
Hazırlayan: Fatma Duran
▪ Farkı daha iyi anlamak adına List’de
append ile eleman eklemede hata
alınmaz. Append List metotlarından
biridir.
Ancak tuple’da hata alınır.
Hazırlayan: Fatma Duran
▪ Tuple ile farklı operatörler kullanarak işlemler
yapılabilir.
Hazırlayan: Fatma Duran
▪ Tuple’lar da List’ler gibi 0 (sıfır) tabanında indexli olarak düşünülür ve her elemanın index
numarası vardır.
▪ İndex ikiye ayrılır.
Tuple = ('B', 'I’, 'O’, 'I’, 'N’, 'F’, 'O’, 'R’, 'A’, 'N’, 'G’, ‘E’)
0 1 2 3 4 5 6 7 8 9 10 11
-12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
Hazırlayan: Fatma Duran
0. index okunur
1. index okunur
2. index’e kadar olan elemanlar okunur
2:3 index aralığındaki elemanlar okunur
Hazırlayan: Fatma Duran
0’dan 5’e, 5 dahil olmayacak şekilde okunur.
7. elemana kadar 7 dahil olmayacak şekilde okunur.
Ya da negatif index ile -7. elemandan sonrası şekilde okunabilir.
Hazırlayan: Fatma Duran
▪ İndex numarasına göre pop ile listeden
eleman çıkartmayı bir önceki videoda
görmüştük.
Ancak tuple’da eleman çıkarılmadığı için
hata alınır.
Hazırlayan: Fatma Duran
▪ count( ) yardımı ile bir tuple’da bulunan elamanların o tuple’da kaç kere bulunduğunu döndürür.
Python büyük küçük harf
konusunda hassas olduğu
için ekstra eklenen ‘a’ lar
count’da sayıma dahil
olmaz.
Hazırlayan: Fatma Duran
▪ Len fonksiyonu ile bir tuple’da bulunan toplam elaman sayısını döndürür.
Tuple içinde başka tuple olunca
tek bir eleman gibi sayılır.
Hazırlayan: Fatma Duran
▪ Sözlük’ler sıralanmamış, değiştirilebilir ve tekrarlamayan elemanlardan oluşur ve { } parantez içinde yazılır.
▪ Veri değerleri için bir anahtar kullanırlar.
▪ Anahtar:Değer(Key:Value) olarak öğeler tanımlanır.
Hazırlayan: Fatma Duran
▪ Bir anahtar için birden fazla değer verilebilir.
▪ Aynı zamanda iç içe sözlük de yazılabilir.
Hazırlayan: Fatma Duran
▪ key( ) metodu Sözlük’de bulunan anahtarların bir listesini döndürür.
Anahtar:Değer(Key:Value) olarak da düşününce sol taraftaki öğelerin bir görünümünü okur.
Hazırlayan: Fatma Duran
▪ values( ) metodu Sözlük’de bulunan değerlerin bir listesini döndürür.
Anahtar:Değer(Key:Value) olarak da düşününce sağ taraftaki öğelerin bir görünümünü okur.
Hazırlayan: Fatma Duran
▪ items( ) metodu Sözlük’de yer alan Anahtar:Değer çiftlerini döndürür.
Hazırlayan: Fatma Duran
▪ Sözlük’de yer alan Anahtar:Değer çiftlerinden herhangi birinin değer öğesi değiştirilebilir.
Hazırlayan: Fatma Duran
▪ clear( ) metodu ile bir Sözlük’de bulunan tüm öğeler silinir.
Sonunda boş Sözlük, { } olarak okunur.
Hazırlayan: Fatma Duran
▪ Bir Sözlük’de bulunan elemanları başka bir Sözlük’de kopyalamak için copy( ) metodu uygulanır.
dict_2’yi okuduğunda dict_1
elemanlarını kopyaladığı için
aynı sonucu verir.
Hazırlayan: Fatma Duran
▪ update( ) metodu yardımıyla Sözlük’e eleman eklenir.
Aynı anda 1’den fazla eleman eklenebilir.
Hazırlayan: Fatma Duran
▪ pop( ) metodu belirtilen öğenin Anahtar:Değer çiftinin Sözlük’den kaldırılmasını sağlar.
İstenilen herhangi bir Anahtar:Değer çiftini kaldırmak
için anahtar yazılarak öğe kaldırılır.
Hazırlayan: Fatma Duran
▪ Sözlük’den kaldırılan öğenin değeri pop( ) metodu dönüş değeridir.
‘Yıl’ öğesi kaldırıldığında bunun pop( ) dönüş değeri 2020 olarak okunur.
‘Ay’ öğesi kaldırıldığında bunun pop( ) dönüş değeri Mart olarak okunur.
Hazırlayan: Fatma Duran
▪ popitem( ) metodu 3.7 sürümünden sonrası için Sözlük’de bulunan son öğeyi kaldırır.
▪ 3.7’den önceki sürümlerde rastgele
bir Sözlük öğesini kaldırır.
▪ Örneklerde son öğelerin kaldırıldığı
görülmektedir.
Hazırlayan: Fatma Duran
▪ get( ) belirtilen Anahtarın sözlük değerini döndürür.
Hazırlayan: Fatma Duran
▪ Herhangi bir metot kullanmadan da verilen anahtarın değeri döndürülebilir.
Hazırlayan: Fatma Duran
▪ setdefault( ) metodu bir Anahtar:Değer
çiftinin Sözlük değerini döndürür.
Sözlükte bulunmayan Anahtar:Değer çiftine de bakılabilir.
Hazırlayan: Fatma Duran
▪ fromkeys( ) metodu belirtilen anahtar ya da değerlere bir sözlük döndürür.
Hazırlayan: Fatma Duran
▪ fromkeys( ) metoduna örnekler;
Hazırlayan: Fatma Duran
▪ if ile cümleye bir ‘eğer ile şartlandırma’ anlamı katılır.
Operatör Anlamı
▪ Bir örnek vermek gerekirse;
== Eşittir
!= Eşit değil
> Büyüktür
< Küçüktür
>= Büyüktür veya Eşittir
<= Küçüktür veya Eşittir
▪ İfadeleri şartlandırırken Karşılaştırma Operatörlerinden
yardım alınabilir.
Hazırlayan: Fatma Duran
▪ Başka bir örnek vermek gerekirse;
Operatör Tanımı
or İfadelerden bir tanesi doğru ise True
sonucunu döndürür.
and İfadelerin her ikisi de doğru ise True
sonucunu döndürür.
not Sonuç doğru ise False döndürür.
▪ Mantıksal operatörler kullanarak if ifadelerinin sayısı
azaltılabilir.
Hazırlayan: Fatma Duran
▪ Eğer ‘Bioinforange ekibimize katılmak
ister misiniz?’ sorusuna cevabınız ‘Evet’
ise videonun açıklama kısmındaki Ekip
katılım formunu doldurabilirsiniz.
Bloktan sonra birden fazla print yazılabilir.
Hazırlayan: Fatma Duran
▪ elif koşulu, önceki koşulun sağlanmadığı durumda denenen yeni koşul durumudur.
▪ Burada Kodon ‘‘AUG’’ olduğu için koşul sağlanır ve okuma
yapılır.
▪ Burada Kodon ‘‘UAA’’ olduğu için if koşulu sağlanmaz elif için
koşul sağlanıyorsa okuma yapılır.
Hazırlayan: Fatma Duran
▪ Başka bir örnek vermek gerekirse;
▪ Burada Baz ‘‘G’’ olduğu için if koşulu sağlanmaz. elif için
yazılan koşul sağlıyorsa ona göre okuma yapılır.
Hazırlayan: Fatma Duran
▪ else koşulu, ise önceki şartların sağlanmadığı durumda herhangi bir şart belirtmeden yazılır.
▪ Basit bir örnek vermek gerekirse;
▪ Sayı 0’dan büyük olmadığı için if koşulu sağlanmaz.
▪ Sayı 0’dan küçük olmadığı için elif koşulu sağlanmaz.
▪ else öncekiler dışında bir durum olarak şart belirtmeden
yazılır.
Hazırlayan: Fatma Duran
▪ if koşulundan sonra direkt else kullanılabilir. Örnekte if koşulu doğru bir sonuç vermediği için else
koşuluna bakılır, koşul sağlıyorsa sonuç okunur.
Operatör Tanım
in Nesnede belirtilen değere sahip bir dizi
varsa True döndürür.
not in Nesnede belirtilen değere sahip bir dizi
yoksa True döndürür.
▪ Üyelik (Membership) Operatörleri bir dizinin
nesnede olup olmadığını kontrol etmek için
kullanılır.
Hazırlayan: Fatma Duran
▪ Bir koşul içinde başka koşullar da yazılabilir.
▪ if için sonuç doğru olmadığı için ilk koşul okunmaz.
▪ else bloğunda yazılan if koşulu da sağlamadığı için
okunmaz.
▪ Sonuç doğru olunca sonucu döndürür.
Hazırlayan: Fatma Duran
▪ Bir sonraki uygulamalı anlatım videosu için minik bir not :)
Kod Sonuç
\ Çift tırnak içinde tekrar çift tırnakta ifade
yazarken hata almamak için kullanılır.
\′ Tek tırnak
\\ Ters eğik çizgi
\n Yeni satır
\t Tab
\b Geri tuşu
\r Satırbaşı
\f Form Feed
\ooo Sekizli değer
\xhh Hex değeri
Hazırlayan: Fatma Duran
▪ for döngüsü, bir dizi veya diğer yinelenebilir nesneler üzerinde yineleme yapmak için kullanılır.
▪ Döngü, dizideki son öğeye ulaşana kadar devam eder.
Hazırlayan: Fatma Duran
▪ Break ifadesiyle, tüm öğeler arasında döngü
oluşturmadan önce döngüyü durdurulabilir.
Kategori Bioinfocodes olunca döngü sonlanır.
▪ Kategori Bioinforum olunca döngü sonlanır.
▪ Kategori Bioinfocourse olunca döngü sonlanır.
Hazırlayan: Fatma Duran
▪ print komutu döngüde if şartından sonra
yazılırsa sonuç bir önceki örneğe göre farklı
olur. Kategori Bioinforum olunca döngü sonlanır.
Kategori Bioinfocourse olunca döngü sonlanır.
Kategori Bioinfocast olunca döngü sonlanır.
Hazırlayan: Fatma Duran
▪ Biyobilim Biyomühendislik olunca
print de o hariç okuma yapar.
▪ continue ifadesi ile döngünün mevcut yinelemesi
durdurabilir ve bir sonrakinden devam edilebilir.
▪ Biyobilim Moleküler Biyoloji olunca print de o hariç
okuma yapar.
▪ Biyobilim Biyomedikal Mühendisliği olunca print de
o hariç okuma yapar.
Hazırlayan: Fatma Duran
Harfi f olarak gördüğünde pass bloğunun
▪ pass, bir ifade sözdizimsel olarak gerekli olduğunda, ancak
çalıştığını görmek için aşağıdaki örneği
herhangi bir komutun veya kodun yürütülmesi istenmediğinde
inceleyebilrsiniz;
kullanılır.
pass kullanmadan yazılırsa;
Hazırlayan: Fatma Duran
▪ Bir dizi kodda belirli sayıda döngü yapmak için range( ) fonksiyonundan yardım alınabilir.
▪ range( ) fonksiyonu, 0'dan başlayarak ve 1 artarak bir sayı dizisi döndürür ve belirli bir sayı ile biter.
▪ Herhangi iki sayı arası
okunabilir. ▪ Belirtilen iki sayı aralığı arasında
▪ 0’dan başladığı için 10 dahil
belirli bir artış eklenerek okuma
olmayacak şekilde okur.
yapılabilir.
Hazırlayan: Fatma Duran
▪ Bir dizi kodda belirli sayıda döngü yapmak için range( ) fonksiyonundan yardım alınabilir.
▪ range( ) fonksiyonu, 0'dan başlayarak ve 1 artarak bir sayı dizisi döndürür ve belirli bir sayı ile biter.
▪ 0’dan başladığı için 10 dahil ▪ Eğer iki sayı aralığının 0 değil de 1 den o sayıya kadar
olmayacak şekilde okur. olması istenirse de +1 ekleyerek okuma yapılabilir.
Hazırlayan: Fatma Duran
▪ Bir for döngüsündeki else anahtar sözcüğü, döngü bittiğinde yürütülecek bir kod bloğunu belirtir.
Hazırlayan: Fatma Duran
▪ Örnek 1;
▪ Enzimler ve kesim bölgelerinin bir listesi verilmiştir.
▪ Restriksiyon enzimi adı için okuma yaparken listedeki
her elemanının sıfırıncı [0], indeksi üzerinden okuma
yapılır.
▪ Kesim bölgesi için okuma yaparken listedeki her
elemanının birinci [1], indeksi üzerinden okuma yapılır.
Hazırlayan: Fatma Duran
▪ Örnek 2;
▪ Kayıtta elemanlar; sekans, accession numarası, genetik
kod şeklinde verilmiştir.
▪ Accession numarası için okuma yaparken listedeki her
elemanının birinci [1], indeksi üzerinden okuma yapılır.
▪ Genetik kod için okuma yaparken listedeki her
elemanının ikinci [2], indeksi üzerinden okuma yapılır.
Bu örnekteki sekans, accession numarası, genetik kod için verilen değerler temsilidir.
Hazırlayan: Fatma Duran
▪ Örnek 3;
▪ Verilen bir DNA listesi için uzunluğa bağlı bir döngü
oluşturulabilir.
▪ Döngünün listede şartı sağlayan eleman sırasına bağlı
farklı sonuç verdiği de görülmektedir.
Hazırlayan: Fatma Duran
▪ Örnek 3;
▪ Eğer print döngü dışında olursa şartı sağlayan elemanlar
tek bir liste olarak okunur.
Hazırlayan: Fatma Duran
▪ İç içe döngüler yazılabilir.
▪ list_1’in tüm elemanları sırası ile list_2’nin
tüm elemanlarını gezer ve döngü
tamamlanır.
Hazırlayan: Fatma Duran
▪ k-mer sayımı, dizileme verilerini analiz etmek için kullanılan
▪ Örnek 4; birçok biyoinformatik uygulamasında önemli bir adımdır.
Örneğin; AATG , k=3 3-mer sayımı için 2 seçenek vardır.
Hazırlayan: Fatma Duran
▪ Örnek 4;
Peki dizi daha uzun olursa bunu nasıl yaparız?
▪ range kullanarak her olası başlangıç konumunu yinelenmesi
sağlanır ve k-mer çıkarılır.
▪ Daha sonra k-mer zaten sözlük’de değilse varsayılan sıfır
değerini kullanarak sözlük’den k-merdeki mevcut sayıma
bakarız.
▪ Son olarak, k-mer için sözlük’deki değeri güncel sayı artı bir
olacak şekilde güncellenir.
Hazırlayan: Fatma Duran
▪ Örnek 5; ▪ k =4 ya da farklı değerler için de bakılabilir. Aranan
belli bir motife bağlı k değeri değiştirilebilir.
▪ Örneğin ATTGGC için k=4 için 4-mer sayımına bakacak
olursak 3 seçenek vardır;
k-mer sayımda daha uzun diziler için bütün ihtimallerin bir
sonucu okunabilir.
Hazırlayan: Fatma Duran
▪ Örnek 6;
▪ Her değerin başlangıç konumlarının listesinin olduğu bir kural oluşturulabilir.
▪ Şu anda sözlük’de olmayan bir k-mer için varsayılan değer boş bir liste olacaktır ve her yinelemede sayıma
bir tane eklemek yerine, listeye bir konum eklenir.
▪ Örnekteki gibi 4-mer için konumların bir sonucu döndürülebilir.
Hazırlayan: Fatma Duran
▪ Sayılamaz olan döngü algoritmalarında kullanılmaktadır.
▪ While döngüsü ile, bir koşul doğru olduğu sürece bir dizi ifade çalıştırılabilir.
sayi için 12’den küçük ve Başlangıç için sayi değeri
eşit olduğu durumların bir değişebilir ve sonucu döndürürken
sonucunu döndürür. belli bir artış değeri belirtilebilir.
6’dan 12’ye, 2 artırarak döndür.
1’den 12’ye, 1 artırarak döndür. Hazırlayan: Fatma Duran
▪ Break ifadesiyle, tüm öğeler arasında döngü oluşturmadan önce döngüyü durdurulabilir.
• 1’den başlayarak 15’den küçük (15 dahil değil) döngü olurken 8’i
görünce döngüyü sonlandır.
Hazırlayan: Fatma Duran
▪ continue ifadesi ile döngünün mevcut yinelemesi durdurabilir ve bir sonrakinden devam edilebilir.
• 3’den başlayarak 16’dan küçük döngü olurken 7’yi görünce dur ve
sonrakinden döngüye devam et.
• Sayı için bir başlangıç ve belli bir artış seçerken döngünün sonsuz
devam etmesi engellenmiş olur.
Hazırlayan: Fatma Duran
▪ Bir while döngüsündeki else anahtar sözcüğü, döngü bittiğinde yürütülecek bir kod bloğunu belirtir.
▪ 1’den başlayarak 30’dan küçük (30 dahil değil) döngü
olurken 3’er artarak döngüyü sonlandır.
▪ Son olarak else için okunacak kod bloğunu okur.
Hazırlayan: Fatma Duran
▪ Örnek 1;
▪ Kodon ve antikodonların bir listesi verilmiştir.
▪ Kodon için bir tanımlama yapılmalı, burada ‘GUA’ kodon
olarak tanımlanabilir.
▪ Döngünün sonsuz devam etmemesi için döngü başında bir 0
eşitliği ve 1 artarak devam etmesi için devamında +=1 eşitliği
eklenir.
▪ Antikodon listedeki her eleman için 1. indeks olarak okunur.
Listedeki her eleman üzerinden Kodon ‘GUA’ olduğunda
antikodonu listedeki elemanın 1. indeksi olarak döndürülür.
▪ ‘GUA’ Kodonu için antikodonu ‘CAU’ olarak okunur.
Hazırlayan: Fatma Duran
▪ Örnek 2;
▪ Enzimler ve kesim bölgelerinin bir listesi verilmiştir.
▪ Enzim için bir tanımlama yapılmalı, burada ‘BamHI’ enzim
olarak tanımlanabilir.
▪ Döngünün sonsuz devam etmemesi için döngü başında bir 0
eşitliği ve 1 artarak devam etmesi için devamında +=1 eşitliği
eklenir.
▪ Listedeki her eleman üzerinden Enzim ‘BamHI’ olduğunda
kesim bölgesini listedeki elemanın 1. indeksi olarak
döndürülür.
▪ ‘BamHI’ enzimi için kesim bölgesi G’GATCC olarak okunur.
Hazırlayan: Fatma Duran
▪ Örnek 3; GC Oran Hesaplama
▪ Dizinin sonsuz bir döngüde devam etmemesi için
67 ve 73. satırdaki tanımlar yapılır.
▪ 68. satırda n==0 iken yani verilen dizinin ilk
elemanından başlayarak bir döngü başlatılır.
▪ 69. Satırda kullanıcıdan bir dizi girmesi istenir.
▪ 70 ve 71 de dizideki C ve G için sayım yapılır.
▪ 72. Satırda GC oran için hesaplama yapılır.
▪ 75. Satırda okuma yapılırken okunacak ifadenin
2 li ondalıklı bir float formatında olduğunu ifade
etmek için %.2f formatı uygulanır.
Hazırlayan: Fatma Duran
▪ Örnek 3; GC Oran Hesaplama
Kodu alıştırdıktan sonra kullanıcıdan bir dizi girmesi istenir.
Hazırlayan: Fatma Duran
▪ Örnek 3;
Dizi girildikten sonra enter denildiğinde GC oran için hesaplama yapılır.
Hazırlayan: Fatma Duran
▪ Örnek 4; Düşük Dejenerasyon Bölgesi Bulma
▪ PCR primerini bulmak için düşük dejenerasyon bölgesini (low degeneration region) bulmak önemlidir.
▪ Bir PCR primeri yaklaşık 16 nükleotit uzunluğundadır, primer tasarımı için 45 nükleotit uzunluğu yeterli
olur (15 aminoasit, her aminoasit 3 nükleotit=45 nükleotit).
▪ Bu örnekte kullanıcıdan bir protein sekansı isteyip sekans üzerinde 15 aminoasitlik en düşük
dejenerasyon bölgesine sahip diziyi okumasını sağlayabiliriz.
▪ Her aminoasit belli bir sayıda kodon kodlar bunun için kodda bir sözlük tanımlanır. Örn:
Hazırlayan: Fatma Duran
▪ 33. Satırdaki gibi kullanıcıdan bir protein sekansı
istenebilir.
▪ 34-36, Her aminoasitin kodladığı kodon sayısından
oluşan bir sözlük tanımlanır.
▪ 37. satırda dejenerasyon değerleri için bir liste
tanımlanır.
▪ 38. satırda 15 aminoasitlik sekanslar için bir liste
tanımlanır.
▪ 39. satırda segmentin protein sekansına göre indeksi
tanımlanır.
▪ Döngünün sonsuz devam etmemesi için 40 ve 47.
satırlar tanımlanmalı.
Hazırlayan: Fatma Duran
▪ 41. satırda segment uzunluğu 15 aminoasit olarak döngü
oluşturulur.
▪ 44. satırda dejenerasyon değerleri
aminoasit_kodon_sayısı sözlüğüne göre hesaplanır.
▪ 45. satırda hesaplanan dejenerasyon değerleri 37.
satırda tanımlanan listeye eklenir.
▪ 46. satırda 15 aminoasitlik sekanslar 38. satırda
tanımlanan listeye eklenir.
▪ 48. Satırda okunması istenen segment için
protein_sekans içinden 15 aminoasitlik bölümü seçtiği
kontrol edilir.
▪ 49. satırda en düşük dejenerasyon değerine sahip 15
aminoasitlik sekansı okuması istenir.
Hazırlayan: Fatma Duran
Kod yazılıp çalıştırıldığında ilk olarak sizden protein sekansı girmeniz istenir.
Hazırlayan: Fatma Duran
FASTA formatında alınan protein sekansını girebilirsiniz.
Hazırlayan: Fatma Duran
Protein sekansını girip kodu çalıştırmak için tekrar enter dediğinizde, protein
sekansındaki düşük dejenerasyon bölgesini okur.
Hazırlayan: Fatma Duran
Eğer Spyder IDE kullanarak bu kodu yazarsanız Variable Explorer ile
değişkenleri detaylı olarak inceleyebilirsiniz.
Hazırlayan: Fatma Duran
▪ Protein sekansının uzunluğuna bağlı bu
örnekte 450 adet öğe oluştu.
▪ Her öğe için hesaplanan dejenerasyon
değerlerine segment_value değiş-
keninden bakılabilir.
▪ Bu protein dizisi için en düşük oranın
195 numaradaki dizi için olduğunu
görebiliriz.
Hazırlayan: Fatma Duran
▪ segment_sekans ile 450 öğe için
yer alan bütün 15 aminoasitlik
ihtimaller görülebilir.
▪ 195 numaranın en düşük
dejenerasyon değerine sahip
olduğunu görmüştük okunan sonuç
ve 195 numara da aynıdır.
▪ Çok daha uzun protein sekansı için
bütün ihtimaller üzerinde
incelemesi döngüler ile daha kısa
sürmektedir.
Hazırlayan: Fatma Duran
▪ Bir fonksiyon, yalnızca çağrıldığında çalışan bir kod bloğudur.
▪ Fonksiyonlar tekrarlayan işlemleri 1 defa tanımlayarak 1’den fazla çalıştırmanızı sağlar.
• Python’da fonksiyonları tanımlarken def
kullanılır.
• Fonksiyonu çağırmak için adını ve parantezi
sona eklemeyi unutmayın.
• Birden fazla print yazılabilir.
Hazırlayan: Fatma Duran
▪ Bilgi, fonksiyonlara bağımsız değişken olarak aktarılabilir.
▪ Bağımsız değişkenler, fonksiyonun adından sonra parantez içinde belirtilir.
▪ Örnekte tek bağımsız değişkenli bir fonksiyon
yazılmıştır.
▪ Fonksiyon çağrıldığında, fonksiyonun içinde tam
adı yazdırmak için kullanılan bir isim yazılabilir.
Hazırlayan: Fatma Duran
▪ İstediğiniz kadar bağımsız değişken ekleyebilirsiniz, virgülle ayırmayı unutmayın.
▪ Peki print kısmında çift tırnak ile boşluk bırakılmadan
yazılırsa sonucu araya boşluk koymadan okur;
Hazırlayan: Fatma Duran
▪ Fonksiyon da kaç tane değişken varsa çağırırken de o değişken kadar çağırmanız gerekir, fazla ya da eksik
olmamalı.
Fonksiyonda 3 bağımsız değişken varken
(Platform, Kategori ve Yıl) 3 tane çağırınca hata
vermez.
Fonksiyonda 2 bağımsız değişken varken(Kategori ve Platform) 1 tane
çağırınca hata verdi.
Hazırlayan: Fatma Duran
▪ Fonksiyonunuza kaç argüman aktarılacağını bilmiyorsanız, fonksiyon tanımında parametre adının önüne
bir * eklemeniz gerekir.
▪ Bu şekilde fonksiyon bir dizi bağımsız değişken alır ve öğelere erişebilir.
• Burada fonksiyonu string olarak
okuması için başına str ekledik.
• Fonksiyonun bir öğesi de
indeksine göre okunabilir.
Hazırlayan: Fatma Duran
▪ Anahtar = değer sözdizimi ile bağımsız değişkenler yazılabilir ve belli bir değer okunabilir.
• Burada bağımsız değişkenlerin sıra ile yazılıp yazılmaması önemli değil.
Hazırlayan: Fatma Duran
▪ Fonksiyona kaç bağımsız anahtar kelime değişkeni aktarılacağını bilmiyorsanız, işlev tanımında parametre
adından önce iki yıldız işareti ** eklemeniz gerekir.
▪ Bu sayede fonksiyon öğelere erişebilir.
• Tek * dan farklı olarak çift ** ‘da
fonksiyon çağırılırken anahtar=değer
çiftleri olarak kullanılır.
Hazırlayan: Fatma Duran
▪ Bir fonksiyona list, string, dict vb. herhangi bir veri türünde bağımsız değişken gönderebilir.
• List için örnek • dict için örnek
Hazırlayan: Fatma Duran
▪ Fonksiyonun bir değer döndürmesine izin vermek için return ifadesini kullanılır.
• return ile farklı uygulamalar yazılabilir.
Hazırlayan: Fatma Duran
• A, T, G ve C bazları ile 3 bazlık yazılabilecek tüm
ihtimallerinin bir listesini yazdırmayı deneyelim.
• 103. Satırda fonksiyon tanımlanır.
• 104. Satırda bazlar tanımlanır.
• Sonuçta bize bir liste okumasını istediğimiz için
okumasını istediğimiz bilginin ekleneceği bir listeyi
105. satırdaki gibi tanımlamalıyız.
Hazırlayan: Fatma Duran
• 106. satırda bir döngü yazılır.
• 107 ve 108 de döngü içine döngüler eklenir, baz
sayısına göre burada döngü artırılabilir ya da
azaltılabilir.
• 109. satırda döngü biterken sonuc listesine bazların
eklenmesi sağlanır.
• 110. satırda sonuc için return ile okumasını izin
verilir
• 112. satırda fonksiyonun okunması sağlanır.
Hazırlayan: Fatma Duran
• Kod yazılıp çalıştırıldığında 3 bazlık tüm ihtimallerin bir listesi okunur.
Hazırlayan: Fatma Duran
for döngüsü ile 1 baz daha ekleyerek 4 bazlık tüm dizilerin bir listesi de okunabilir.
Hazırlayan: Fatma Duran
• Burada bir dna listesi tanımlanır.
• 65. satırda dna’nın listeden hangi elemana eşit
olduğu belirtilir.
• 66. satırda fonksiyon yazılır.
• 67. satırda dna uzunluğu eğer 7 bazdan uzun ise
sonuç döndürmesi istenir.
• 68. satırda uzun dna için tanım yapılır. Python
sürümününe göre hata almamak için başına list
eklenir. filter fonksiyonu ile sonucun True ya da
False dönmesi istenir.
• 69. satırda fonksiyonun okunması istenir.
Hazırlayan: Fatma Duran
• Kod yazılıp çalıştırıldığında dna listesinin 1. indeksi ‘GTAGCATCGA’ 7 bazdan
daha uzun olduğu için sonuç True okunur.
Hazırlayan: Fatma Duran
• dna listesinin 2. indeksi ‘CAGC’ 7 bazdan daha uzun olmadığı için sonuç False okunur.
Hazırlayan: Fatma Duran
• 88. satırda fonksiyon ve bağımsız değişkenleri
tanımlanır.
• 89 ve 90. satırda bağımsız değişkenlerin okunması
istenir.
• 91 ve 96. satırda döngünün sonsuz devam
etmemesi için tanımlamalar yapılır.
• 92. satırda döngü için tanımlama yapılır.
• 94. satırda baz için şart yazılır.
• 97. satırda döngünün okunması için return ile
okunmasına izin verilir.
• 99. satırda dna ve aranan baz, bağımsız
değişkenlerinin fonksiyonda okunması istenir.
Hazırlayan: Fatma Duran
• Kod yazılıp çalıştırıldığında sıra ile istenen okumaları yapar.
• dna içinde her G gördüğünde ‘Önceki baz Guanin’dir’ şartlı blok çalışır ve okuması yapılır.
Hazırlayan: Fatma Duran
▪ Python’da kullanıma hazır çeşitli fonksiyonlar bulunmaktadır.
▪ Bu fonksiyonlara gömülü fonksiyonlar (Built-in Function) denir.
▪ Farklı diller arasında fonksiyonların kullanımı değişiklik göstermektedir.
▪ Python programlama dilinde C dilinden farklı olarak modül kullanmadan fonksiyonları kullanabilirsiniz.
Hazırlayan: Fatma Duran
Gömülü Fonksiyonlar (Built-in Function)
▪ Tabloda yer alan built-in
abs( ) compile( ) format( ) isinstance( ) object( ) set( )
function listesinden bir kısmını
all( ) complex( ) frozenset( ) issubclass( ) oct( ) setattr( )
daha önceki videolarda
any( ) delattr( ) getattr( ) iter( ) open( ) slice( )
ascii( ) dict( ) globals( ) len( ) ord( ) sorted( )
görmüştük. Bir kısmını bu
bin( ) dir( ) hasattr( ) list( ) pow( ) str( ) videoda bir kısmını da ilerleyen
bool( ) divmod( ) hash( ) locals( ) print( ) sum( ) videolarda örneklerle detaylı
bytearray( ) enumerate( ) help( ) map( ) property( ) super( ) inceleyeceğiz.
bytes( ) eval( ) hex( ) max( ) range( ) tuple( )
callable( ) exec( ) id( ) memoryview( ) repr( ) type( )
chr( ) filter( ) input( ) min( ) reversed( ) vars( )
classmethod( ) float( ) int( ) next( ) round( ) zip( )
Hazırlayan: Fatma Duran
▪ Bir sayının mutlak değerini döndürmek için abs( ) fonksiyonu kullanılır.
Ondalıklı float bir sayı için de mutlak değer alınabilir.
Karmaşık bir sayı için de mutlak değer alınabilir.
Hazırlayan: Fatma Duran
▪ Tüm öğelerin True olup olmadığını kontrol etmek için all( ) fonksiyonu kullanılır.
0 hariç sayılar True kabul edilir.
0 öğe olarak False kabul edilir.
Hazırlayan: Fatma Duran
▪ any( ) fonksiyonu ile bir listedeki öğelerden herhangi birinin True olup olmadığını kontrol
edilebilir.
▪ Herhangi bir öğe doğruysa fonksiyonu True döndürür, aksi takdirde False döndürür.
Herhangi bir öğenin True olması yeterli.
İfadelerin yanında string bir ifade olabilir. Yinelenebilir nesne boş ise any( ) fonksiyonu
False döndürür. Hazırlayan: Fatma Duran
[ ], ( ) , { } gibi nesne boş ise, nesne
False ise, nesne 0 ise False döndürür.
▪ bool( ) fonksiyonu, belirtilen bir nesnenin Boolean değerini verir.
▪ Boolean değeri Python’da bir ifade için True ya da False’dur.
Hazırlayan: Fatma Duran
▪ callable( ) belirtilen nesne çağrılabilir ise True döndürür, aksi takdirde False döndürür.
Bir fonksiyonun çağrılabilir olup olmadığı kontrol edilebilir.
Normal bir değişken çağrılamaz.
Hazırlayan: Fatma Duran
▪ divmod( ) fonksiyonu verilen değerlerin bölüm ve kalan argümanlarının bir tuple'ını döndürür.
10/2 işleminde bölüm=5, kalan=0
23/3 işleminde bölüm=7, kalan=2
120/8 işleminde bölüm=15, kalan=0
Hazırlayan: Fatma Duran
▪ isinstance( ) fonksiyonunda belirtilen nesne belirtilen tipte ise True döner, aksi halde False döner.
Belirtilen tiplerden herhangi biri mi diye de bakılabilir.
Hazırlayan: Fatma Duran
▪ max( ) fonksiyonu, en yüksek değere sahip öğeyi döndürür.
String ifadelerde alfabetik olarak en büyüğe göre sonuç döndürür.
İfadeler sayı ise en büyük sayı değerini döndürür.
Hazırlayan: Fatma Duran
▪ pow( ) fonksiyonu üslü sayılarla hesaplama yaparken kullanılabilir.
2^6*(%5) işleminde sonuç=4
2^6 işleminde sonuç=64
6^3 işleminde sonuç=216 6^8*(%20) işleminde sonuç=16
Hazırlayan: Fatma Duran
▪ round( ) fonksiyonu ondalık belirlenen sayıda, belirtilen sayıyı yuvarlayarak bir float sayı ya da bir tamsayı
verebilir.
Virgülden sonra kaç sayı olacağı önceden belirlenebilir. Herhangi bir belirtme olmazsa en yakın ondalık
sayıya yuvarlanarak bir sonuç okunur.
Hazırlayan: Fatma Duran
▪ sorted( ) fonksiyonu belirtilen nesnelerin sıralı bir listesini verir.
Harfler alfabetik olarak A’dan Z’ye ya da Z’den A’ya sıralanabilir.
Sayılar bir listede veya tuple da olabilir. Okuma
yapılarken küçükten büyüğe doğru sıralama yapılır.
Hazırlayan: Fatma Duran
▪ sum( ) fonksiyonu bir sayı veya yenilenebilir tüm öğelerin toplamını döndürür.
Belirtilen sayıya ek olarak verilen sayıların toplamı eklenerek okunabilir.
Verilen sayıların toplamı okunabilir.
Hazırlayan: Fatma Duran
▪ Python’da lambda fonksiyonu, anonim bir fonksiyondur ve Python'da, anonim fonksiyonlar oluşturmak için
kullanılır.
▪ Birden fazla satırı olmayan küçük ve kısıtlı bir fonksiyondur.
▪ lambda tek bir kod satırında yazılır ve hemen çağrılabilir.
▪ Normal bir fonksiyon gibi lambda fonksiyonu da tek bir ifadeyle birden çok argümana sahip olabilir.
▪ Bir lambda fonksiyonunun herhangi bir sayıda parametresi olabilir, ancak fonksiyonda yalnızca bir ifade
içerebilir.
Hazırlayan: Fatma Duran
▪ lambda fonksiyonu ile matematiksel hesaplamalar yapılabilir.
x bağımsız değişkenine 26 eklenerek x ve y bağımsız değişkenleri x, y, z bağımsız değişkenlerine kendi
bir sonuç okunur. birbirleri ile çarpılabilir. arasında bir işlem yazılabilir.
Burada 26 yerine farklı sayılar Çarpma yerine başka işlemler
yazılabilir. yapılabilir.
Ya da toplama yerine başka işlemler
yapılabilir.
Hazırlayan: Fatma Duran
▪ Bir fonksiyon yazılarak girilen sayının n. katının bir sonucu için işlem yapılabilir.
• Aynı anda birden fazla sayı için işlem yapılabilir.
x bağımsız değişkenin herhangi bir
n. katı için fonksiyon yazılabilir.
Bunun için işlem de n için değer
tanımlamak gerekir.
Hazırlayan: Fatma Duran
▪ filter( ) fonksiyonu, bir dizi öğeden bazı belirli öğeleri seçmek için kullanılır.
▪ Dizi, list’ler, set’ler, tuple’lar vb. herhangi bir yineleyici olabilir.
• İlk olarak, sayilar adında farklı sayıları içeren bir liste
tanımlanır.
• filter( ) fonksiyonu tarafından döndürülen filtrelenmiş
değerleri depolayacak olan sonuc adlı bir değişken
tanımlanır.
• Listenin her bir öğesi üzerinde çalışan ve 5'ten büyükse
True döndüren bir lambda fonksiyonu yazılır.
• filter( ) fonksiyonu tarafından döndürülen sonucun bir
listesi okunabilir.
Hazırlayan: Fatma Duran
▪ map( ) fonksiyonu, bir dizideki her öğeye belirli bir işlemi uygulamak için kullanılır.
• İlk olarak, sayilar adında farklı sayıları içeren bir liste
tanımlanır.
• Eşlenen değerleri saklayacak sonuc adında bir
değişken yazılır.
• Listenin her elemanı üzerinde çalışan ve bu sayının
karesini döndüren bir lambda fonksiyonu yazılır.
• map( ) fonksiyonu tarafından döndürülen sonucun bir
listesi okunabilir.
Hazırlayan: Fatma Duran
▪ Bir DNA dizi listesi için listede bulunan dizilerdeki A nükleotidlerinin sayısına göre sıralandığı bir örnek
yazılabilir.
• sorted( ) fonksiyonu için Python’da, sıralama
ölçütlerini özelleştirmek için iki seçenek vardır;
kullanılacak her bir öğeyi sıralamak istediğimiz
değere dönüştüren bir fonksiyon yazılabilir ya da
2 öğeyi karşılaştırıp hangisinin önce gelmesi
gerektiğine karar veren bir fonksiyon yazılabilir.
• dna_dizileri adında bir liste tanımlanır ve A'nın
sayısını sayan bir fonksiyon yazılabilir.
Hazırlayan: Fatma Duran
▪ A sayısını sayan bir fonksiyon gibi aynı şeyi hesaplamak için bir lambda ifadesi yazılabilir.
• lambda ile daha kısa sürede ve tek satırda Adenin
baz sayısına göre diziler sıralanabilir.
• sorted( ) fonksiyonu ile liste öğeleri arasında
karşılaştırma yaparken bağımsız değişkenlerin
sıralanması için key argümanından yardım alınır.
Hazırlayan: Fatma Duran
▪ Dizide bulunan diğer nükleotidler için de sayım yapılabilir.
Hazırlayan: Fatma Duran
▪ Python, sınıflar (classes) aracılığıyla nesne yönelimli programlamayı (object-oriented programming, OOP)
desteklemektedir.
▪ Python'da nesneler, değişkenlerle ilişkilendirdiğimiz verilerdir.
▪ Nesneler, sınıfların örnekleridir ve hem verilere hem de sınıfa özgü fonksiyonlara (class-specific functions)
sahip olabilirler.
▪ class ile tanımlanırlar.
Hazırlayan: Fatma Duran
▪ Self parametresi, nesnenin kendisine atıfta bulunabilmesi için yöntemin birinci parametresidir.
▪ Python’ın bir özelliği, bir nesnenin her yönteminin ilk argüman olarak, örnek değişkenlerine erişmek için
kullandığımız self adında bir parametre alması gerektiğidir.
▪ Self varsayılan (default) bir parametredir ve kullanılması zorunludur.
Hazırlayan: Fatma Duran
▪ Nesne özelliklerine değerler atamak veya nesne oluşturulurken yapılması gereken diğer işlemler için
__init__( ) fonksiyonu kullanılmaktadır.
▪ Tüm sınıfların(classes) __init__( ) adında bir fonksiyonu vardır ve sınıf başlatılırken çalıştırılmaktadır.
▪ self ve diğer parametrelerin tanımlanmasına yardımcı olmaktadır.
▪ Insan adında bir class tanımlanır.
▪ class isimlerinin kod okunurluğu açısından büyük harfle başlaması daha
uygundur.
▪ Fonsiyonu çağırırken yeni oluşan nesne için self ve diğer parametreler
yazılır.
▪ Bellekte insan adında bir yer açılır ve bunun üzerinden okumalar
yapılabilir.
Hazırlayan: Fatma Duran
▪ Nesne özelliklerine değerler atamak veya nesne oluşturulurken yapılması gereken diğer işlemler için
__init__( ) fonksiyonu kullanılmaktadır.
▪ Tüm sınıfların(classes) __init__( ) adında bir fonksiyonu vardır ve sınıf başlatılırken çalıştırılmaktadır.
▪ self ve diğer parametrelerin tanımlanmasına yardımcı olmaktadır.
▪ __init__ ile tanımlama yapılırken
farklı adlandırmalar yazılabilir
(tercih edilen farklı yazılmasıdır)
Hazırlayan: Fatma Duran
▪ Görseldeki class (sınıf) örneğinde olduğu gibi
islem=Islemler( ) ile class çalıştırılır ve
[Link](sayi1, sayi2) olarak adlandırıldığında
Python yorumlayıcısı [Link](islem, sayi1,
sayi2)'yi çalıştırır.
▪ Dolayısıyla, yöntemi çağıran örneğe atıfta bulunan bir
yer tutucu(self) fazladan bir birinci argüman
kullanılmalıdır.
▪ Aksi halde hata alınır.
Hazırlayan: Fatma Duran
▪ Bioinfoconference adında bir class tanımlanır.
▪ __init__ yöntemi ile konu1 ve konu2 ve class
için parametreler tanımlanır.
▪ Konular = Bioinfoconference( ) satırında class
çalıştırılır.
▪ Daha sonra konu1 ve konu2 için okuma
yapılır.
▪ 20-22 Mart 2021 tarihlerinde gerçekleşecek olan Bioinfoconference: Biyoenformatik ve Disiplinlerarası Yaklaşımlar
Konferansı’nın kayıt formu linki anasayfadadır.
Hazırlayan: Fatma Duran
▪ Farklı işlemler için class’lar yazılabilir.
▪ Islemler adında bir class tanımlanır.
▪ __init__ yöntemi ile parametreler tanımlanır.
▪ toplama için fonksiyon tanımlanır.
▪ islem= Islemler( ) satırında class çalıştılır.
▪ class için okuma yapılır.
Hazırlayan: Fatma Duran
▪ Gen adında bir class tanımlanır.
▪ Daha sonra __init__ yöntemine parametreler tanımlanır.
▪ def print_kimlik( ) fonksiyonu ile gen için aksesyon
numarasının okunması sağlanır (Burada string bir ifade ile
işlem yapıldığı için str( ) fonksiyonu ile çağrılır).
▪ def print_len( ) fonksiyonu ile gen için sekans uzunluğunun
okunması sağlanır.
▪ gen1 = Gen( ) ve gen2 = Gen( ) bellekte yer açılır.
▪ Daha sonra class çağrılır.
▪ Her yöntemin yapıcı(constructor) dahil ilk parametresi self
olsa da nesneleri çağırırken self yazılmaz.
Hazırlayan: Fatma Duran
▪ Sonuçta her 2 gen için okunması istenen sıraya göre aksesyon numaraları ve sekans uzunluklarının bir sonucunu
döndürür.
▪ Burada aksesyon numaraları ve sekans için örnekler gerçeği yansıtmamaktadır.
Hazırlayan: Fatma Duran
▪ Gen adında bir class tanımlanır.
▪ Daha sonra __init__ yöntemine parametreler tanımlanır.
▪ def baz_yapisi( ) fonksiyonu ile sekansta bulunan bazların
sayımı yapılabilir. Burada baz sayısı için bir döngü yazılır.
0. indeksten tüm dizi üzerinden baz sayımı yapılır.
▪ def gc_oran( ) fonksiyonu ile sekansın GC oran
hesaplaması yapılır.
▪ gen = Gen( ) ile nesne için bellekte yer açılır.
▪ Daha sonra okuma yapılır.
Hazırlayan: Fatma Duran
▪ Kod çalıştırıldığında gen için A baz sayısı ve GC oranın bir sonucunu döndürür.
Hazırlayan: Fatma Duran
▪ Diğer bazlar için sayım yapılabilir.
Hazırlayan: Fatma Duran