PYTHON 3. Python Nedir? Yrd. Doç. Dr. Murat Olcay ÖZCAN

Benzer belgeler
Standart Veri Tipleri

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

HSancak Nesne Tabanlı Programlama I Ders Notları

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

YAZILIM VE PROGRAMLAMA DİLİ. Donanım ve yazılım nedir? Yazılım nedir? Yazılım çeşitleri nelerdir? Programlama dili nedir

Internet Programming II

PYTHON PROGRAMLAMA DİLİ

Akış Kontrol Mekanizmaları

İnternet Programcılığı Dersi 2.Dönem Ders Notu

ALGORİTMA VE PROGRAMLAMA I

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9

Python GELECEK. Barış Metin Linux Sistemleri. Python Programlama Dili

JAVA DÖNGÜ DEYİMLERİ. For Döngüsü

Öğr. Gör. Serkan AKSU 1

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

Java da Program Denetimi ve Operatörler

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

=~ Metodu 92 Karakter Sınıfları 94 sub ve gsub metotları 101 Hızlı Tekrar 102 Kontrol Noktası 103 Düello 106 Sonraki Bölümde 109

Nesne Tabanlı Programlama

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

HSancak Nesne Tabanlı Programlama I Ders Notları

1 JAVASCRIPT NEDİR? 1

C Programlama Dilininin Basit Yapıları

Programlama Dilleri 1. Ders 4: Diziler

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2

Yukarıdaki kod aksi belirtilmediği sürece sürekli çalışır. Yani ekrana sürekli Bilgisayar çıldırdı! yazısı gelir. Ancak;

Sunum İçeriği. Programlamaya Giriş

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

YZM 2105 Nesneye Yönelik Programlama

Mantıksal Kontrol ve Döngü Komutları

Programlama Dillerinde Kullanılan Veri Tipleri

1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ?

Girdi Çıktı İşlemleri

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

Ardışık Veri Tipleri. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Dr. Fatih AY Tel: fatihay@fatihay.net

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

Internet Programming II

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Python Programlama Dili

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA

Hafta 12 Karakter Tutan Diziler

Bölüm 4 C de Program Kontrolü

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

PROGRAMLAMAYA GİRİŞ DERS 2

R ile Programlamaya Giriş ve Uygulamalar

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Nesne Tabanlı Programlama

Burada a değişkeninin türü integer olarak verildi. Peki biz bu ifadeyi tırnak içerisinde yazarsak ne olur?

C Konsol Giriş Çıkış Fonksiyonları

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

PYTHON PROGRAMLAMA DİLİ

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş

Nesne Yönelimli Programlama

BİL-142 Bilgisayar Programlama II

Programlama Dili Prensipleri. Lab Notları 8 ve 9

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler

Bigisayar Programlama

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

Lambda, Map, Filter ve Dizi Tamamlama

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Python ile Programlamaya Giriş DERS 9: FONKSİYONLAR DR. HÜSEYİN BAHTİYAR

Bölüm 2 - C ile Programlamaya Giriş

Internet Programming II

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

// hataları işaret eden referans

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

Veritabanı. SQL (Structured Query Language)

C#(Sharp) Programlama Dili

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

4. Bölüm Programlamaya Giriş

Yrd. Doç. Dr. Caner ÖZCAN

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

Transkript:

PYTHON 3 Yrd. Doç. Dr. Murat Olcay ÖZCAN Python Nedir? Python, üst düzey, yorumlayıcı kullanan, etkileşimli ve nesne yönelimli bir programlama dilidir. Yorumlayıcı (interpreter) kullanır. Çalıştırmadan önce kodu derlemenize gerek yoktur. Etkileşimli. Python kabuğunda direkt yorumlayıcıda kod çalıştırabilirsiniz. Nesne Tabanlı programlamayı destekler. Yeni başlayanlar için harika. Kolay bir yazım diline sahip olduğundan programlamaya yeni başlayanlar için iyi bir tercihtir. Metin işlemeden görüntü işlemeye, WEB sayfaları oluşturmaktan oyun programlamaya kadar birçok alanda kullanılabilir.

Python Tarihi Guido van Rossum tarafından 80 lerin sonunda Hollanda da geliştirilmeye başlanmıştır. Geliştirilmesinde ABC, Modula-3, C, C++, Algol-68, SmallTalk, Unix kabuğu ve diğer script dillerinden esinlenilmiştir. Açık kaynak kodlu ve ücretsizdir. Sürüm çıkış tarihleri: Python 1.0 Kasım 1994 Python 2.0 2000 Python 3.0-2008 Python Özellikleri Öğrenmesi kolay Okuması kolay Bakımı kolay Geniş kütüphane seçenekleri Unix, Linux, Windows, MacOS uyumlu Taşınabilir - Python çok çeşitli donanım platformlarında çalışabilir ve tüm platformlarda aynı arabirime sahiptir Genişletilebilir - Alt düzey modülleri Python yorumlayıcısına ekleyebilirsiniz. Veritabanları - Python, tüm önemli ticari veritabanlarına arabirimler sağlar. GUI Programlama - Python, Windows MFC, Macintosh ve Unix'in X Window sistemi gibi birçok sisteme uyumlu GUI uygulamalarını destekler.

Kurulum www.python.org sitesinden indirebilir. Kurulum - Alternatif Python ve bir çok bilimsel kütüphaneyi içeren Anaconda paketini yüklemek için: https://www.continuum.io/downloads

Kod Editörü - PyCharm Community ücretsiz sürümünü indirmek için www.jetbrains.com/pycharm/download/ Ücretsiz Kitap www.istihza.com a giriş yaptıktan sonra Python 3 seçilerek kitaba ulaşılır. Web sayfaları şeklinde gezilebilir ya da PDF olarak indirilebilir.

Ayrılmış İsimler Python dilinde belirli bir amacı yerine getirirler. Değişken, fonksiyon, sınıf isimlerinde kullanılamayacak kelimelerdir. Çok satırlı işlemler Genelde her işlem satır sonunda satır sonunda bitirilir. Ancak istenirse satır sonunda (\) karakteri kullanılarak işlem sonlanmadan alt satıra geçilebilir.

Yorum Eklemek Kodların arasına yorum satırları eklemek için # işareti kullanılır. Yalnız başına ya da bir işlemle aynı satırda kullanılabilir. Bir satırda birden çok işlem Noktalı-virgül ; kullanılarak aynı satırda birden çok işlem yazılabilir.

Değişkenlere değer atamak Python değişkenlerinin bellek alanını ayırmak için önceden tanımlanmasına gerek yoktur. Bir değişkene bir değer atandığında bildirim otomatik olarak gerçekleşir. Eşittir işareti (=) değişkenlere değer atamak için kullanılır. Çoklu Değer Ataması Python aynı anda birden fazla değişkene tek bir değer atamanıza izin verir. Aynı anda birden çok aynı yada farklı tip değişkene, farklı değerler de atanabilir.

Yazdırma ve Klavyeden Giriş print fonksiyonu kullanılarak standart çıkış aygıtına yazdırma işlemi yapılır. Virgül (,) ile birden fazla veri tipi birleştirilebilir. input fonksiyonu kullanılarak klavyeden girilen girdiler okunur. Okunan değer string(karakter dizisi) tipindedir. Standart Veri Tipleri Sayılar int (tamsayı) float (kesirli sayı) complex (karmaşık sayı) String (Karakter Dizisi) Boolean (True, False) Listeler Demetler Sözlükler

Sayılar Sayı örnekleri String Python'da String, tırnak işaretleri içinde temsil edilen bitişik karakter kümesi olarak tanımlanır. Tek veya çift tırnak " kullanılabilir. Dizelerin alt kümeleri, dizenin başı 0'dan başlamak üzere, dilim işleci ([] ve [:]) kullanılarak alınabilir. Artı (+) işareti dize birleştirme operatörü ve yıldız (*) tekrarlama operatörüdür.

Kaçış Dizileri Veri tiplerinde dönüşüm Fonksiyon int(x) float(x) str(x) chr(x) hex(x) oct(x) tuple(s) list(s) dict(d) Tanım x i Tamsayıya çevirir. x i kesirli sayıya çevirir. x i string e çevirir. x bir karaktere çevirir. x tamsayısını hexadecimal a çevirir. x tamsayısını octal a çevirir. s i demete çevirir. s i listeye çevirir. s i sözlüğe çevirir.

Temel Operatörler(İşleçler) Aritmetik İşleçler Karşılaştırma İşleçleri Mantıksal İşleçler Atama İşleçleri Aitlik İşleçleri Aritmetik İşleçler Karşılaştırma İşleçleri

Mantıksal İşleçleri İşleç Tanım Örnek (a=true b=false) and Logical AND İki işleç de doğru ise koşul doğru olur. (a and b) False. or Logical OR İkisinden bir tanesi bile doğru ise koşul doğru olur. (a or b) True. not Logical NOT İşlecin mantıksal durumunun tersini alır. Not(a and b) True. Değer Atama İşleçleri Atama İşleci Örnek Kullanım Açıklama = c = a + b a ve b toplamı c ye atanır. += a += 5 a = a + 5 -= a -= 5 a = a - 5 *=, /=, %=, **=, //= bunlar da aynı şekilde

Aitlik İşleçleri İşleç in Tanım Değeri belirtilen dizi içinde bulursa True, bulamazsa False sonucu verir. not in Değeri belirtilen dizi içinde bulamazsa True, bulursa False sonucu verir. İşleçlerde İşlem Öncelikleri

Karar Verme if bloğu if bloğu verinin karşılatırıldığı mantıksal bir ifade içerir. Karşılaştırma sonucunda True ise içerdiği işlemler gerçekleştirilir. Sonuç False ise işletim bloğun sonundan devam eder. if ifade: işlem(ler) Karar Verme if else bloğu if bloğu içindeki ifadenin sonucunun False olduğu durumda işletilecek ifadeler else bloğu içinde tanımlanabilir. if ifade: else: İşlem(ler) İşlem(ler)

Karar Verme elif bloğu if bloğunun False olduğu durumda, else bloğuna geçiş yapmak yerine daha fazla koşulu kontrol edebilmek için araya istenilen sayıda elif bloğu eklenebilir. Bir elif bloğu True değer aldığında if elif- else bloğu sonuna gidilerek işlemlerin çalıştırılması buradan devam eder. Listeler Virgülle ayrılmış değerler barındıran bir yapıdır. İçerdiği değerlerin aynı tipte olması zorunluluğu yoktur. String ler için geçerli olan erişim ve dilimleme işlemleri aynı şekilde geçerlidir. Erişilen değere yeni değer atanabilir. Yerini bildiğimiz bir elemanı silmek için del ifadesini kullanabiliriz.

Listeler II Temel İşlemler ve Fonksiyonlar İşlem Sonuç Tanım len([1, 2, 3]) 3 Uzunluğu verir [1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] Birleştirme ['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] Tekrarlama 3 in [1, 2, 3] True Aitlik max([1, 2, 3]) 3 En büyük değeri verir min([1, 2, 3]) 1 En küçük değeri verir Listeler III Liste Methodları Method liste.append(x) liste.insert(index, x) liste.remove(x) liste.index(x) liste.reverse() liste.sort() Açıklama Listenin sonuna x i ekler Listenin index sırasına x i ekler Listeden x i siler Listede x in ilk bulunduğu yeri verir Listeyi terse çevirir Listeyi sıralar

Tuple (Demetler) Listeler gibi bir değer dizisi olup, farkı içerdiğin değerlerin değiştirilemez olmasıdır. Genel olarak parantez içinde virgül ile ayrılmış değerler olarak tanımlanır. Boş olarak tanımlamak için: Tek elemanlı bir tuple tanımlamak için: Elemanlara erişim, atama ve diğer fonksiyonlar Listelerde olduğu gibidir. Sözlük (Dictionary) Sözlüklerin her bir elemanı değeri tanımlayan bir ifade ile değerin : (ikinokta) ile birleşmesinden oluşur. Bir sözlükteki değerleri tanımlayan anahtarlar eşsiz olmalıdır. Değerler için böyle bir zorunluluk yoktur. Değerler herhangi bir veri tipinde olabilir ancak anahtarlar string, sayı yada tüple gibi değişmez bir yapı türünde olmalıdır.

Sözlük II Varolan kayıtlar değiştirebilir ya da yeni anahtar-değer kaydı eklenebilir. Varolan kayıtlar ya da tüm sözlük silinebilir. Döngüler - while Belirtilen koşul True sonucunu verdiği sürece içerdiği işlemleri yerine getirir. İşlemler yerine getirildikten sonra koşul tekrar kontrol edilir. Koşul True olduğu sürece bu böyle devam eder. while ifade: işlem(ler)

Döngüler - for İçerdiği işlemleri belirli sayıda çalıştırmak için kullanılır. Genellikle döngünün kaç kez tekrarlanacağı önceden bilindiğinde ve bir dizinin tüm elemanları için işlem yapılacağında tercih edilir. for tekrarlama_değişkeni in dizi: işlem(ler) Döngü Kontrol İfadeleri İfade break continue pass Açıklama Döngüyü kırıp çıkar, döngü sonlanmış olur. Döngünün o dönüşü sonlanmış olur, döngü içi diğer işlemler yapılmadan döngünün başına gidilir. Hiç bir işlem yapmaz, bir nevi hatırlatıcıdır

Döngülerde Else Kullanımı Python programlama dilinde döngüler için else bloğu kullanılabilir. While döngüsü ile kullanıldığında: Koşul False değerini aldığında else bloğu çalıştırılır. For döngüsü ile kullanıldığında: Döngü tekrarlamayı bitirdiğinde else bloğu çalıştırılır. ANCAK döngü break ile sonlanmışsa else bloğu çalıştırılmaz. Fonksiyonlar Bir fonksiyon, tek bir ilgili eylem gerçekleştirmek için kullanılan, tekrar kullanılabilir organize bir kod bloğudur. Fonksiyonlar, uygulamanız için daha iyi modülerlik ve yüksek oranda kod tekrar kullanımı sağlar. Python içinde tanımlı print() gibi bir çok fonksiyon olduğu gibi kendi fonksiyonumuzu da tanımlayabiliriz.

Kullanıcı Tanımlı Fonksiyon def anahtar kelimesi ile fonksiyon tanımlanır. Fonksiyona aktarılacak parametre ve argümanlar parantez içinde tanımlanır. Opsiyonel olarak fonksiyon bilgi kısmı içerebilir. return ifadesi ile fonksiyon sonlandığında bir değer döndürülmesi sağlanabilir. Genel Yapı: Kullanıcı Tanımlı Fonksiyon II Birden fazla parametre kullanılacaksa ya da birden fazla değer return ile döndürülecekse değer/değişkenler, ile ayrılarak yazılır. Parametre alıp almamasına göre ve değer geri döndürüp döndürmemesine göre farklı tipte fonksiyonlar yazılabilir. Parametre almayan ve değer döndürmeyen fonksiyon Parametre almayan ve değer döndüren fonksiyon Parametre alan ve değer döndürmeyen fonksiyon Parametre alan ve değer döndüren fonksiyon

Anonim Fonksiyonlar def anahtar kelimesi kullanılmadan oluşturulan fonksiyonlardır. lambda anahtar kelimesi kullanılarak küçük anonim fonksiyonlar oluşturulur. Anonim fonksiyonlar bir çok parametre alabilir, ancak tek bir ifade içerebilir. Komut, yazdırma yada birden fazla işlem içeremez. lambda [arg1 [,arg2,...argn]]:ifade print(f) print(f) map() ve filter() fonksiyonları Lambda (anonim) fonksiyonlarla sıklıkla birlikte kullanılan fonksiyonlardır. def ile tanımlamış fonksiyonlar ile birlikte de kullanılabilseler de, hız ve kolaylık açısından anonim fonksiyonlarla birlikte kullanımları yaygındır. map() fonksiyonu bir fonksiyon adı ve bir dizi adı olmak üzere iki argüman almaktadır. map (fonksiyon, dizi) map() fonksiyonu dizinin her elemanı için fonksiyonu çalıştırır ve sonuçları döngüsel olarak bize verir. Bu sonuçları istersek bir listeye alabilir, ya da for döngüsü için kullanabiliriz.

map() fonksiyonu örnekler Listedeki sıcaklık değerlerini Celcius dan fahrenheit a çevirmek: Fahrenheit dan tekrar Celcius a dönüşüm: Birden fazla liste üzerinde de işlem yapılabilir. filter() fonksiyonu filter() fonksiyonu da aynı şekilde bir fonksiyon ve bir dizi olmak üzere iki argüman almaktadır. filter (fonksiyon, dizi) filter() fonksiyonu dizinin her elemanı için fonksiyonu çalıştırır ve fonksiyonun sonuç olarak True değerini verdiği elemanları döngüsel olarak bize verir. Bu elemanları istersek bir listeye alabilir, ya da for döngüsü için kullanabiliriz.

filter() fonksiyonu örnekler Bir fibonacci dizisindeki tek ve çift sayıları bulup, bir listeye atamak: Dosya İşlemleri open fonksiyonu kullanılarak dosya oluşturma/açma işlemleri yapılır. open(dosya_ismi, erişim_kipi) Erişim kipi ile dosyanın yazma, okuma, sonuna ekleme gibi farklı durumlar için açılması sağlanır. Bazı erişim kipi değerleri: r : Sadece okumak için. Dosya imleci dosyanın başındadır. r+ : Hem okuma hem yazmak için. Dosya imleci dosyanın başındadır. w : Sadece yazmak için. Dosya varsa üzerine yazar, yoksa oluşturur. w+ : Hem okuma hem yazmak için. Dosya varsa üzerine yazar, yoksa oluşturur. a :Dosya sonuna ekleme yapmak için. Dosya imleci dosyanın sonundadır.

Dosya Nesnesi Özellikleri Özellik dosya.closed dosya.mode dosya.name Açıklama Dosya kapalıysa True, değilse False döndürür. Dosyanın açıldığı erişim kipini verir. Dosyanın ismini verir. dosyam.close() metodu ile dosya kapatılır. Okumak ve Dosyaya Yazmak Dosyaya yazmak için write() metodu kullanılır. Dosyadan bir string okumak için read() metodu kullanılır. Parametre olarak girilen sayı kadar byte okunur. Sayı girilmezse dosya sonuna kadar okuma işlemi yapılması denenir. Dosyadan bir satır okumak için readline() metodu kullanılır. Dosyadan tüm satırları okuyup her satırı bir eleman olarak bir listeye aktarmak için ise readlines() metodu kullanılır. Bir listeyi satır satır yazmak için ise writelines() metodu kullanılabilir.

Dosya imleci konumlandırma tell() metodu dosya içerisinde nerede olduğunu gösterir. Diğer bir ifadeyle bir sonraki okuma yada yazma işleminin hangi byte için yapılacağını gösterir. seek(offset, başlangıç) metodu ile dosya imleci offset kadar ilerletilir. başlangıç değeri: 0 ise dosya başından itibaren 1 ise o anki pozisyonundan itibaren 2 ise dosya sonundan itibaren Hata Yakalama (Exception Handling) Program içindeki hatalı bir kod ya da hatalı bir giriş değeri bazen hataya ve programın sonlanmasına sebep olabilir. Hata oluşur oluşmaz, program sonlanır. Örneğin aşağıdaki kod bir sıfıra bölüm hatası vererek programı sonlandırmaktadır.

Hata Yakalama II Karşılaşabilecek bazı genel hatalar şunlardır: ImportError : import başarısız olduğunda IndexError : liste içinde tanımlı olmayan bir sıradaki elemana erişmek istendiğinde NameError : bilinmeyen bir değişken kullanıldığında SyntaxError : kod içinde yazım kurallarına uygunluk sağlanmadığında TypeError : bir fonksiyon uygunsuz bir değer ile çağrıldığında ValueError: bir fonksiyon uygun tipte ancak uygunsuz bir değer ile çağrıldığında Python içinde tanımlı daha bir çok hata türü vardır. ZeroDivisionError ve OSError gibi. Python a sonradan yüklenmiş kütüphanelerin de kendilerine ait tanımlı hata türleri bulunmaktadır. Hata Yakalama III try/except Hatalarla başedilmek ve hata oluştuğunda başka bir kodu çalıştırmak için try/except bloğu kullanılır. Hata oluşabilecek kod try bloğu içine konur ve hata oluştuğunda bu bloğun işletimi durdurularak except bloğu işletilir. Hata oluşmazsa except bloğu da işletilmez.

Bu kodun çıktısı ne olur? Hata Yakalama IV try bloğunun birden çok except bloğu olabileceği gibi bir except bloğuna da birden fala hata tanımlanabilir. Hata türü belirtilmezse except bloğu tüm hataları yakalar.

Hata Yakalama V - finally Hata oluşsun ya da oluşmasın bir kodun mutlaka çalışmasını istiyorsak bu kodu finally bloğu içine yazabiliriz. Hata oluşturma Programın çalışmasını durdurmak için kendi istediğimizde hata da oluşturabiliriz. Bunun için raise komutu kullanılır.