Fonksiyonlar (Functions)

8 Eylül 2008 yazan: rimbi

İşte size örnek bir fonksiyon tanımı

>>> def topla(a,b):
…     return a + b

Fonksiyon tanımları def anahtar kelimesi ile başlıyor. Ardından fonksiyonun ismi ve parametreleri geliyor. Diğer bütün blok tanımlamalarında olduğu gibi satır : ile sonlanıyor. Fonksiyonun kendisine ait kodlar içeri girintili olarak yazılıyor.

Dikkat ederseniz nasıl değişkenleri tanımlarken tip belirtmiyorsak fonksiyon tanımlarken de geri dönüş değeri belirtmemiz gerekmiyor. Fonksiyonu çağırıp sonucunu görelim:

>>> print “3 + 5 = %d” % topla(3, 5)
3 + 5 = 8
>>>

Bir de şuna bakın:

>>> add=topla
>>> print add(4, 5)
9
>>>

Burada bir değişkene fonksiyon ataması yaptık. Artık add değişkenini de topla fonksiyonu gibi kullanılabilir kıldık. Python’ı esnek ve kullanımı kolay kılan özelliklerinden sadece biri bu.

Normal fonksiyon tanımlamaları dışında lambda fonksiyonları da tanımlamak mümkün. Mesela topla fonksiyonunu şu şekilde de ifade edebiliriz:

>>> topla = lambda a,b : a + b
>>> print topla(1, 2)
3
>>>

Lambda fonksiyonları tek satırlık, tek işlemlik fonksiyon tanımları için kullanılabilmektedir.

Fonksiyon içinde fonksiyon tanımlamak da mümkün:

>>> def topla_ve_yazdir(a, b):
…     def yazdir(a, b, sonuc):
…         print “%d + %d = %d” % (a, b, sonuc)
…     yazdir(a, b, a + b)

>>> topla_ve_yazdir(5, 6)
5 + 6 = 11
>>>

Burada dikkat edilmesi gereken husus şudur: yazdir fonksiyonu sadece topla_ve_yazdir fonksiyonu içinden çağırılabilir.

The Book for Django Web Application Framework

8 Eylül 2008 yazan: rimbi

The Book of Django WebApp Framework

read more | digg story

Değişkenler (Variables)

7 Eylül 2008 yazan: rimbi

Python’da değişken tanımlamak oldukça basit:

>>> x = 3

Bu şekilde x değişkenine atama yaptığımız anda değişken tipini de  tam sayı (integer) olarak belirlemiş oluyoruz. Söylediğimizi doğrulayalım:

>>> print x.__doc__
int(x[, base]) -> integer

Convert a string or number to an integer, if possible.  A floating point
argument will be truncated towards zero (this does not include a string
representation of a floating point number!)  When converting a string, use
the optional base.  It is an error to supply a base when converting a
non-string. If the argument is outside the integer range a long object
will be returned instead.

Python’da tam sayı (integer), kayan-noktalı sayı (floating point number), karakter dizileri (strings) gibi bazı temel veri tipleri dışında çok kullanılan liste (list), sözlük (dictionary) ve tuple veri tipleri de mevcuttur. Ama bunlar başka yazıların konuları.

Karakter Dizileri (Strings)

7 Eylül 2008 yazan: rimbi

Karakter dizileri herhangi bir programlama dilinde muhtemelen en çok ihtiyaç duyulacak veri tiplerinin başında gelir. Python karakter dizileri oldukça kullanışlıdır.
Python’da değişken tipleri çalışma esnasında (run-time) belirlenmektedir. Mesela şunu uyguladığınızda

>>> str = “Merhaba”

ya da şunu

>>> str = ‘Merhaba’

bir karakter dizisi yaratmış ve bu karakter dizisine str (string kelimesinin kısaltması olarak yaygınca kullanılan bir değişken ismi) isimli bir değişken ile ulaşılabilmesini sağlamış oluyoruz. Bu şekilde str değişkeninin tipi karakter dizisi olarak atanmış oluyor. str değişkenin tipini ve bu tipe ait açıklamayı şu şekilde öğrenebiliriz:

>>> print str.__doc__

str(object) -> string

Return a nice string representation of the object.
If the argument is a string, the return value is the same object.

Bir karakter dizisinin uzunluğunu öğrenmek için len fonksiyonunu kullanıyoruz.

>>> len(str)

7

İki karakter dizisini birbirine iliştirmek için ise + işaretini kullanmak yeterli. Şöyle ki,

>>> str1 = “Merhaba “

>>> str2 = “dünya!”

>>> str3 = str1 + str2

>>> str3

‘Merhaba dünya!’

Uzun karakter dizilerini birden fazla satıra yamak da mümkün:

>>> str = ‘Bu karakter dizisi \
… birden fazla satira sigacak \
… kadar uzatildi’
>>>

Bunu yapmanın bir diğer yolu da “”" (3 bitişik tırnak işareti) kullanmak:

>>> str = “”"Bu karakter dizisi de
… birden fazla satira sigacak
… kadar uzatildi”"”
>>>

Hello world!

5 Eylül 2008 yazan: rimbi

Öncelikle merhaba. Burada sizlerle Python programlama dili ile ilgili deneyimlerimi paylaşmak istiyorum. Buradaki makalelerin pek çoğu Python’a yeni başlayanlar ve orta seviyeli Python kullanıcılarına hitap edecektir. Her ne kadar programlama yapmak için İngilizce’nin olmazsa olmaz olduğuna inansam da sitenin Türkçe kaynak eksikliğinin giderilmesi noktasında az da olsa faydalı olmasını temenni ediyorum.

Pyhton yorumlanan (interpreted) diller arasında yer alıyor. Yani yazdığınız kod bir yorumlayıcı tarafından yorumlanıp çalıştırılıyor. Derlenen diller gibi değil yani. Bu tür dillerde yazdığınız kod bir derleyici tarafından derlenip makine kodları içeren, çalıştırılabilir (executable) dosyalara dönüştürürler. (Çalıştırılabilir dosyaların windows’taki uzantısı .exe’dir.) 

Python’u yüklediyseniz eğer (yüklemediyseniz buradan indirip yükleyebilirsiniz) komut satırından python.exe komutunu girerek Python yorumlayıcısını çalıştırabilirsiniz. 

 

Satır başında gördüğünüz >>> işareti yorumlayıcının çalıştığını ve sizden komut beklediğini göstermektedir. Şimdi komut satırında

>>> print ‘Hello world!’

yazın. Burada karakter dizileri (strings) için ‘(kesme) işareti yerine “(tırnak) işareti de kullanabilirsiniz. Daha sonra aşağıdaki sonucu görmüş olmanız gerekiyor.

 

Tebrikler python ile ilk programınızı yazdınız. Bir sonraki yazıda görüşmek dileğiyle.