Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

A409 Astronomide Sayısal Çözümleme Uygulama I. Python'a Giriş.

Benzer bir sunumlar


... konulu sunumlar: "A409 Astronomide Sayısal Çözümleme Uygulama I. Python'a Giriş."— Sunum transkripti:

1 A409 Astronomide Sayısal Çözümleme Uygulama I. Python'a Giriş

2 Python Nedir, Ne İşe Yarar? “Python işlerinizi hızlı, sisteminize entegre ve etkin bir şekilde yapmanızı sağlayan bir programlama dilidir.” (python.org) Python Windows, Linux / Unix ve Mac-OS üzerinde çalışmasının yanı sıra Java ve.NET sanal makinelerine de port edilmiş durumdadır. Python açık kaynak kod lisanslı özgür (free to use & modify) ve ücretsiz (cost free) bir yazılımdır. Python nesne yönelimli programlama, fonksiyonel ya da yapısal programlama gibi birden fazla programlama paradigmasını destekleyen bir programlama dilidir. Çalıştırılabilir dosyalar şeklinde paketlenebilen programlardan (stand- alone), betikler (script) yazmaya kadar farklı amaçlarla kullanılabilir. Guido van Rossum

3 Bilgisayarıma nasıl Python kurar ve çalıştırırım? Mac-OS ve Linux / Unix kullanıcılarının yapmaları gereken hiçbir şey yoktur. Python zaten hazır gelir! MS Windows'ta ise bir iki tık kurulum için yeterli! Bu dersin örnekleri Python 2.7 ile hazırlanmış olup, pek çoğu Python 2.x ile çalıştırılabilir. Python'u zenginleştiren pek çok modül bulunmaktadır. NumPy, SciPy, Matplotlib, math, astropy bunlardan en sık kullanacaklarımız... Modül kurmak gayet basit: İndirdikten sonra terminalden “python setup.py install” komutunu vermeniz yeterli! Şimdi python'u nasıl kullanabiliriz ona bakalım!

4 Python’u nasıl kullanırız? Terminalden hesap makinesi gibi kullanabiliriz $ python Python (v2.7.2: a2, Jun , 14:13:39) [GCC (Apple Inc. build 5493)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> 2*(10**2) / 4 50 Favori editörümüzle kaydettikten sonra çalıştırabiliriz print 2 * (10**2) / 4 ifadesini ilkdeneme.py isimli bir metin dosyasına kaydedelim Bu dosyanın bulunduğu klasörünü içinden aşağıdaki komutu verelim Macintosh-3:Downloads pi$ python ilkdeneme.py 50 Programımızı Py2exe ya da Pyinstaller gibi bir modülle çalıştırılabilir bir dosyaya (executable -exe-) dönüştürerek çalıştırabiliriz

5 Python’u Nasıl Kullanırız? Internet üzerinde Python misafir eden web sitelerini kullanabiliriz https://www.pythonanywhere.com Arayüzü olan geliştirme ortamlarını (Integrated Development Environments – IDEs with Graphical User Interfaces – GUIs) kullanabilirsiniz. Spider, IDLE, skulpt … Bazı paketleri hazır olarak içeren çeşitli Python dağıtımlarını kullanabiliriz. Anaconda (https://store.continuum.io/cshop/anaconda/) Enthought Canopy (https://www.enthought.com/products/canopy/) WinPtyhon (http://winpython.sourceforge.net/) Bu derste WinPython versiyonunu bilgisayarımıza kuracağız. Dersin alıştırmaları bu paketteki IDLE geliştirme ortamı kullanılarak yapılacak. WinPython sürümünü sitesinden bilgisayarınızın işletim sistemi ve işlemci mimarisine uygun olan seçenekten indirip, kolaylıkla kurabilirsiniz.

6 Python'da Değişkenler Diğer programlama dillerinden farklı olarak Python'da değişkenler için hafızada boyut sabitlemek üzere önceden tür tanımlaması yapılmaz sayac = 100 # Tam sayı değişken toplam = # Reel sayı değişken ad = "astronomi" # Metin (string) değişken print sayac → 100 print toplam → print ad → astronomi Birden fazla değişkenin değerini aynı anda belirleyebilirsiniz a = b = c = 1 sayac, toplam, ad = 100, , “astronomi” Bir Python değişkeni bir kez tanımlandıktan sonra sayı (number), metin (string), liste (list), demet (tuple), ya da sözlük (dictionary) türlerinden birini alır

7 Python'da Sayı ve Metin Değişkenler Python 4 çeşit sayı türünü destekler: - İşaretli tam sayılar (signed integers) - Uzun tam sayılar (long integers) - Reel sayılar (kayan noktalı sayılar : floating point numbers) - Karmaşık sayılar (complex numbers) tamuzunreelkarmaşık L j 100-0x19323L j L e-36j 0800xDEFABCECBl32.3+e18.876j L J -0x L-32.54e1003e+26J 0x L70.2-E124.53e-7j Python'da metin değişkenler “ ” ya da ' ' kullanılarak tanımlanır: str = 'Merhaba Dunya!' print str # Tüm değişkeni yazdırır → Merhaba Dunya! print str[0] # Değişkenin ilk harfini yazdırır → M print str[2:5] # 3 ile 5. karakter arasındaki karakterleri yazdırır → rha print str[2:] # 3. karakterden başlayarak sona kadar yazdırır → rhaba Dunya! print str[-1]# Metin değişkenin son karakterini yazdırır → ! print str * 2 # Metin değişkeni iki kez yazdırır → Merhaba Dunya!Merhaba Dunya! print str + "TEST" # Değişkenlerin birleşimini yazdırır → Merhaba Dunya!TEST

8 Python'da Listeler Listeler (lists) '[' ile ']' karakterleri arasında yer alan, birbirinden virgülle ayrılan ve aynı türde olması gerekmeyen “şeyler”den (item) oluşur. >>> liste = [ 'abcd', 786, 2.23, 'astronomi', 70.2 ] >>> kucukliste = [123, 'astronomi'] >>> print liste # Tüm listeyi yazdırır ['abcd', 786, 2.23, 'astronomi', ] >>> print liste[0] # Listenin ilk elemanını yazdırır abcd >>> print liste[1:3] # Listenin 2. elemanından 3. elemanına kadar olanları yazdırır [786, 2.23] >>> print liste[2:] # Listenin 3. elemandan itibaren tüm elemanlarını yazdırır [2.23, 'astronomi', ] >>> print kucukliste * 2 # Listeyi iki kez yazdırır [123, 'astronomi', 123, 'astronomi'] >>> print liste + kucukliste # Listelerin birleşimini yazdırır ['abcd', 786, 2.23, 'astronomi', , 123, 'astronomi']

9 Python'da Demetler (Tuples) ve Sözlükler (Dictionaries) Demetler (tuples) '(' ile ')' karakterleri arasında yer alan ve “salt okunur” listeler olarak tanımlanabilecek değişkenlerdir. >>> demet = ( 'abcd', 786, 2.23, 'astronomi', 70.2 ) >>> kucukdemet = (123, 'astronomi') Yukarıda listeler için verilen tüm komutlar demetler için de aynı şekilde çalışır. Fark; >>> demet = ( 'abcd', 786, 2.23, 'astronomi', 70.2 ) >>> liste = [ 'abcd', 786, 2.23, 'astronomi', 70.2 ] >>> demet[2] = 1000 # Yanlış yazım hatası (Invalid syntax) >>> liste[2] = 1000 # Geçerli işlem liste  ['abcd', 786, 1000, 'astronomi', 70.2] Sözlükler (dictionaries) '{' ile '}' karakterleri arasında yer alan ve anahtar-değer ikililerinden oluşan değişkenlerdir. >>> dict = {} >>> dict['bir'] = "Bu bir olsun" >>> dict[2] = "Bu iki olsun" >>> tinydict = {'ad': 'astronomide sayisal cozumleme','kod':409, 'bolum'': astronomi'} >>> print dict[‘bir'] # “bir” anahtarının değerini yazdırır Bu bir olsun >>> print dict[2] # 2 anahtarının değerini yazdırır Bu iki olsun >>> print tinydict # Bütün sözlüğü yazdırır {'ad': 'astronomide sayisal cozumleme','kod':409, 'bolum'': astronomi'} >>> print tinydict.keys() # Sadece anahtarları yazdırır {'ad', 'kod', 'bolum'} >>> print tinydict.values() # Sadece değerleri yazdırır {'astronomide sayisal cozumleme', 409, 'astronomi'}

10 Değişkenler Arası Dönüşümler int(x [,base]) : x'i tam sayıya çevirir, x metin değişkense base kullanılacak tabanı belirler long(x [,base]) : x'i uzun sayıya çevirir, x metin değişkense base kullanılacak tabanı belirler float(x) : x'i reel sayıya çevirir complex(real [,imag]) : Reel kısmı “real”, imajiner kısmı “imag” olan karmaşık sayı yaratır str(x) : x'i metin değişkene çevirir repr(x) : x’i yazdırılabilir bir formata çevirir. örn: x = ‘foo’; print repr(x)  “’foo’”; print str(x)  foo eval(str) : Metin şeklindeki bir ifadeyi çalıştırarak uygun nesneye dönüştürür. örn: x = 1; print eval(‘x+1’)  2 tuple(s) : s’i demet (tuple) değişkene çevirir. list(s) : s’i liste değişkene çevirir. set(s) : s demet (tuple) değişkenini bir kümeye dönüştürür. dict(d) : (anahtar,değer) çiftlerinden oluşan bir demet değişkenini sözlük değişkene çevirir. frozenset(s) : frozenset (donuk küme) kümenin elemanları değiştirilemeyen bir çeşididir. chr(x) : arasındaki bir tam sayının ASCII kodu olarak karakter karşılığını verir. örn: chr(97)  “a” unichr(x) : arasındaki bir tam sayının UNICODE olarak karakter karşılığını verir. örn: unichr(97)  u“a” ord(x) : Tek bir karakterin tam sayı karşılığını verir (chr’nin tersi). örn: ord(“a”)  97 hex(x) : Tam sayı olan x’i onaltılık sisteme çevirir. örn: hex(97)  61, hex(205)  CD, hex(1016)  3F8 oct(x) : Tam sayı olan x’i sekizlik sisteme çevirir. örn: oct(97)  141, oct(205)  315, oct(1016)  1770

11 Python’da Operatörler Aritmetik Operatörler a = 10, b = 20, c = 9, d = 2 OperatörTanımÖrnek +Toplamaa + b = 30 -Çıkarma a - b = -10 *Çarpma a * b = 200 /Bölme b / a = 2 %Mod b % a = 0 **Üs c ** d = 81 //Tam sayı bölme (aşağı yuvarlama) c // d = 4 Karşılaştırma Operatörleri OperatörTanımÖrnek ==Eşittira == b  False !=Eşit değildir a != b  True <>Farklı a <> b  True >Büyüktür a > b  False =Büyük ya da eşittir a >= b  False <=Küçük ya da eşittira <= b  True

12 Python’da Operatörler İkili Operatörler a = 60 ( ), b = 13 ( ) OperatörTanımÖrnek &Bit-bit karşılaştırma (ve) yapara & b  (12) |Bit-bit karşılaştırma (veya) yapara | b  (61) ^Bit-bit karşılaştırma (xor) yapara ^ b  (49) ~Bit-bit değil operatörü ~a = (-61) <<İkili sola kaydırma operatörü a << 2  (240) >>İkili sağa kaydırma operatörü a << 2  (15) Üyelik Operatörleri OperatörTanımÖrnek iniçinde operatörüx in y not iniçinde değil operatörüx not in y

13 Python’da Döngü Yapıları (For Döngüsü) for x in range(baslangic,son,adim) yapısı >>> for i in range(0,10,2): print i for s in “string” yapısı >>> for harf in 'Python': print ‘Harf :’, harf Harf : P Harf : y Harf : t Harf : h Harf : o Harf : n for item in list yapısı >>> yildizlar = [‘rigel’, ‘betelgeuse’, ‘bellatrix’] >>> for yildiz in yildizlar: print ‘Yildiz :’, yildiz Yildiz : rigel Yildiz : betelgeus Yildiz : bellatrix

14 Python’da Döngü Yapıları (For Döngüsü) İndeks Kullanarak For Döngüsü İterasyonu >>> yildizlar = [‘rigel', ‘betelgeuse', ‘bellatrix'] >>> for indeks in range(len(yildizlar)): print ‘Yildiz :', yildizlar[indeks] Yildiz : rigel Yildiz : betelgeuse Yildiz : bellatrix İç-içe For Döngüleri (Nested Loops) >>> for x in xrange(1, 11): for y in xrange(1, 11): print '%d * %d = %d' % (x, y, x*y) Sonuç : 1’den 10’a çarpım tablosu! For – else yapısı >>> for x in xrange(3): print x else: print 'Final x = %d' % (x) For döngüsünden çıkış >>> for x in xrange(3): print x if x == 1: break

15 Python’da Döngü Yapıları (While Döngüsü) Klasik While Döngü Yapısı >>> sayac = 0 >>> while (sayac < 3): print ‘Sayac = ', sayac sayac = sayac + 1 # ya da sayac += 1 Sayac = 0 Sayac = 1 Sayac = 2 While – else yapısı >>> sayac = 0 >>> while sayac < 3: print sayac, " 3ten kucuktur" sayac += 1 else: print sayac, " 3ten kucuk degildir” 0 3ten kucuktur 1 3ten kucuktur 2 3ten kucuktur 3 3ten kucuk degildir

16 Python’da Şartlı Yapılar (Conditionals) Klasik if – elif – else yapısı Python (default, May , 22:43:36) [MSC v bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>> x = int(raw_input("Please enter an integer: ")) Please enter an integer: 42 >>> if x < 0: x = 0 print ‘Negatif sayi 0 ile degistirildi!' elif x == 0: print ‘Sifir' elif x == 1: print ‘x bire esit‘ else: print ‘x birden buyuk bir sayi’


"A409 Astronomide Sayısal Çözümleme Uygulama I. Python'a Giriş." indir ppt

Benzer bir sunumlar


Google Reklamları