Python Programlama Dili
|
|
|
- Aydin Şafak
- 9 yıl önce
- İzleme sayısı:
Transkript
1 Python Programlama Dili 6. Modüller Diyelim ki bir program yazıyorsunuz. Programınız da.py uzantılı bir metin dosyası içinde yer alıyor. İşte bütün bu öğeleri ve veri tiplerini içeren.py uzantılı dosyaya modül adı verilir. Yani şimdiye kadar yazdığınız ve yazacağınız bütün Python programları aynı zamanda birer modüldür Modülleri İçe Aktarma (importing Modules) Python da bir modülü başka bir programa taşıma işlemine içe aktarma adı verilir. İngilizce de bu işleme import denir. Diyelim ki bir program yazdınız ve adını da deneme.py koydunuz. Bu programın içeriği şöyle olsun: def carp(liste): a = 1 for i in liste: a = a * i print(a) Bu program içinde carp() fonksiyonuna ihtiyacınız olduğunda yapmanız gereken tek şey bu fonksiyonu çağırmaktır. Bu işlemi nasıl yapacağımızı bir önceki bölümde tartışmıştık. Aynı fonksiyona başka bir programda da ihtiyaç duymamız halinde yine yapacağımız şey bu fonksiyonu o program içinden çağırmak olacak. Ancak bunu yapmanın belli kuralları vardır. carp() fonksiyonunu içeren yukarıdaki deneme.py adlı program bir modüldür. Bu modülün adı da deneme dir. Python da modüller.py uzantısına sahiptir. Ancak bir modülün adı söylenirken bu.py uzantısı yerine sadece isim kısmı dikkate alınır. Bu yüzden elinizdeki deneme.py adlı programın (ya da modülün) adı deneme olacaktır. Şimdi bu deneme.py adlı dosyanın bulunduğu dizin içinde bir komut satırı açıp Python un etkileşimli kabuğunu çalıştırın. Mesela eğer deneme.py dosyasını masaüstüne kaydettiyseniz bir komut satırı açın, cd Desktop komutuyla masaüstüne gelin ve python komutunu vererek etkileşimli kabuğu başlatın. Şimdi şu komutu verin: >>> import deneme
2 Eğer hiçbir şey olmadan bir alt satıra geçildiyse modülünüzü başarıyla içe aktardınız demektir. Eğer No module named deneme gibi bir hata mesajıyla karşılaşıyorsanız, muhtemelen Python u masaüstünün olduğu dizinde başlatamamışsınızdır. import deneme komutunun başarılı olduğunu varsayarak yolumuza devam edelim... Modülü içe aktardıktan sonra dir() adlı özel bir fonksiyondan yararlanarak, içe aktardığımız bu modül içindeki kullanılabilir fonksiyon ve nitelikleri görebiliriz: >>> dir(deneme) Bu komut bize şöyle bir çıktı verir: [' builtins ', ' doc ', ' file ', ' name ', ' package ', 'carp'] Burada bizi ilgilendiren kısım en sondaki carp adlı öğe. Bu çıktıdan anlıyoruz ki, deneme adlı modülün içinde carp adlı bir fonksiyon var ve biz bu fonksiyonu kullanma imkânına sahibiz. O halde gelin bu fonksiyonu kullanmak için sırasıyla şöyle bir şeyler yazalım: >>> liste = [45, 66, 76, 12] >>> deneme.carp(liste) Bu komutlar şöyle bir çıktı verir: Gördüğünüz gibi, deneme modülü içindeki carp() adlı fonksiyonu kullanarak liste içindeki sayıları birbiriyle çarptık. deneme modülünü nasıl içe aktardığımıza ve bu modülün içindeki bir fonksiyon olan carp() fonksiyonunu nasıl kullandığımıza çok dikkat edin. Önce modülümüzün adı olan deneme yi yazıyoruz. Ardından bir nokta işareti koyup, ihtiyacımız olan fonksiyonun adını belirtiyoruz. Yani şöyle bir formül takip ediyoruz: modül_adı.fonksiyon Burada asla unutmamamız gereken şey öncelikle kullanacağımız modülü import modül_adı komutuyla içe aktarmak olacaktır. Modülü içe aktarmazsak tabii ki o modüldeki fonksiyon veya niteliklere erişemeyiz... Şimdi deneme.py adlı dosyanızı açıp dosyanın en sonuna şu kodu yazın: a = 23
3 Yani deneme.py dosyasının son hali şöyle olsun: def carp(liste): a = 1 for i in liste: a = a * i a = 23 print(a) Şimdi tekrar komut satırına dönüp şu komutu verin: dir(deneme) Bu komut biraz öncekiyle aynı çıktıyı verecektir. Halbuki biz modülümüze a adlı bir değişken daha ekledik. O halde neden bu değişken listede görünmüyor? Python da bir modülü içe aktardıktan sonra eğer o modülde bir değişiklik yaparsanız, o değişikliğin etkili olabilmesi için modülü yeniden yüklemeniz gerekir. Bu işlemi reload() adlı özel bir fonksiyon yardımıyla yapıyoruz: >>> reload(deneme) Bu komut şöyle bir çıktı verir: <module 'deneme' from 'deneme.py'> Bu çıktı modülün başarıyla yeniden yüklendiğini gösteriyor. Şimdi dir(deneme) komutunu tekrar verelim: >>> dir(deneme) Bu defa listede çarp öğesiyle birlikte a öğesini de göreceksiniz. Dolayısıyla artık bu öğeye de erişebilirsiniz: >>> deneme.a 23 Python da programımız içinde kullanacağımız modülleri birkaç farklı yöntemle içe aktarabiliriz. Biz şimdiye kadar sadece import modül_adı yöntemini öğrendik. Hemen kısaca bu yöntemleri inceleyelim: import modül_adı
4 Bu yöntemle bir modülü, bütün içeriğiyle birlikte içe aktarabiliriz. Başka bir deyişle bir modülün içinde ne var ne yoksa programımız içine davet edebiliriz. Yukarıda kullandığımız da zaten bu yöntemdir from modül_adı import * Bu yöntemle bir modül içinde adı ile başlayanlar hariç bütün fonksiyonları programımız içine aktarabiliriz. Yani bu yöntem de tıpkı yukarıda anlatılan yöntemde olduğu gibi, bütün fonksiyonları alacaktır. Yalnız ile başlayan fonksiyonlar hariç... Eğer bir modülü bu yöntemi kullanarak içe aktarmışsanız, içe aktardığımız modülün nitelik ve fonksiyonlarına doğrudan nitelik veya fonksiyon adını kullanarak erişebilirsiniz. Örneğin import modül_adıyöntemiyle içe aktardığımız modüllerin nitelik ve fonksiyonlarını şöyle kullanıyorduk: modül_adı.fonksiyon from modül_adı import * yöntemiyle içe aktardığımız modüllerin nitelik ve fonksiyonlarını ise şöyle kullanıyoruz: >>> fonksiyon Mesela yukarıda bahsettiğimiz deneme modülünü örnek alalım: >>> from deneme import * >>> liste = [2, 3, 4] >>> carp(liste) 24 Gördüğünüz gibi, bu defa carp() fonksiyonunu doğrudan kullanabildik. Bu yöntem oldukça pratiktir. Programcıya aynı işi daha az kodla yapma imkânı sağlar. Ancak bu yöntemin bazı sakıncaları vardır. Bunlara biraz sonra değineceğiz from modül_adı import fonk1, fonk2 Bu yöntem ise bir modülden fonk1 ve fonk2 adlı fonksiyonları çağırmamızı sağlayacaktır. Yani bütün içeriği değil, bizim istediğimiz fonksiyonları içe aktarmakla yetinecektir. Örneğin: >>> from deneme import carp Bu şekilde deneme modülünün yalnızca carp() fonksiyonunu içe aktarmış olduk. Bu şekilde carp() fonksiyonuna erişebiliriz: >>> liste = [2, 3, 4]
5 >>> carp(liste) 24 Ama a niteliğine erişemeyiz. Çünkü biz burada sadece carp() fonksiyonunu içe aktardık. Eğer a niteliğine de erişebilmek istersek modülümüzü şu şekilde içe aktarmamız gerekir: >>> from deneme import carp, a Bu şekilde hem carp() fonksiyonunu, hem de a niteliğini içe aktarmış olduk import modül_adı as yeni_isim Diyelim ki herhangi bir sebepten, modülün adını programınız içinde doğrudan kullanmak istemiyorsunuz. O zaman bu yöntemi kullanarak modüle farklı bir ad verebilirsiniz: >>> import deneme as den >>> liste = [2, 3, 4] >>> den.carp(liste) Mesela içe aktaracağınız modül adı çok uzunsa ve her defasında bu uzun ismi yazmak size zor geliyorsa bu yöntemi kullanarak modül adını kısaltabilirsiniz. Ayrıca programınızda zaten deneme adlı başka bir nitelik veya fonksiyon varsa bu ikisinin birbirine karışmasını engellemek için de bu yöntemi kullanmayı tercih edebilirsiniz. Peki bu yöntemlerden hangisini kullanmak daha iyidir? Eğer ne yaptığınızdan tam olarak emin değilseniz veya o modülle ilgili bir belgede farklı bir yöntem kullanmanız önerilmiyorsa, anlatılan birinci yöntemi kullanmak her zaman daha güvenlidir (import modül_adı). Çünkü bu şekilde bir fonksiyonun nereden geldiğini karıştırma ihtimaliniz ortadan kalkar. Mesela deneme.carp(liste) gibi bir komuta baktığınızda carp() fonksiyonunun deneme adlı bir modül içinde olduğunu anlayabilirsiniz. Ama sadece carp(liste) gibi bir komutla karşılaştığınızda bu fonksiyonun program içinde mi yer aldığını, yoksa başka bir modülden mi içe aktarıldığını anlayamazsınız. Ayrıca mesela programınız içinde zaten carp adlı bir fonksiyon varsa, deneme adlı modülden carp() fonksiyonunu aldığınızda isim çakışması nedeniyle hiç istemediğiniz sonuçlarla karşılaşabilirsiniz... Buna bir örnek verelim. Komut satırında şöyle bir kod yazın: >>> a = 46 Şimdi deneme adlı modülü şu yöntemle içe aktarın: >>> from deneme import *
6 Bakın bakalım a değişkeninin değeri ne olmuş? >>> print a 23 Gördüğünüz gibi, deneme modülündeki a niteliği sizin kendi programınızdaki a değişkenini silip attı. Bu nedenle içeriğini bilmediğiniz modülleri içe aktarırken import modül_adı yöntemini kullanmak sizi büyük baş ağrılarından kurtarabilir. İnternet üzerinde, başkaları tarafından yazılmış binlerce modüle ulaşabilirsiniz. Hatta Python un kendi içinde de Python geliştiricileri tarafından yazılmış onlarca faydalı modül bulunur. Zaten Python programlama diline asıl gücünü katan da bu ilave modüllerdir. Bu noktaya kadar modüller hakkında genel bir bilgi edindiğimize göre, Python un kendi içinde bulunan önemli modüllerden os modülünü inceleyerek modüller hakkında daha kapsamlı bir bilgi edinmeye başlayabiliriz os Modülü os adlı modül Python daki en önemli modüllerden biridir. Bu bölümün en başında yaptığımız modül tanımını dikkate alacak olursak, aslında os modülü, bilgisayarımızda bulunan os.py adlı bir Python programıdır. Peki biz bu os.py programını nereden bulabiliriz. GNU/Linux sistemlerinde bu modül çoğunlukla /usr/lib/python2.7/ dizini içinde bulunur. Windows sistemlerinde ise bu modülü bulmak için C:/Python27/Lib adlı dizinin içine bakabilirsiniz. os modülü bize, kullanılan işletim sistemiyle ilgili işlemler yapma olanağı sunar. Modülün kendi belgelerinde belirtildiğine göre, bu modülü kullanan programların farklı işletim sistemleri üzerinde çalışma şansı daha fazla. Bu modülü, yukarıda anlattığımız şekilde içe aktaracağız: Bu modülün sizin yazdığınız modülden önemli bir farkı, komut satırını hangi dizin altında açmış olursanız olun os modülünü içe aktarabilmenizdir. Yani bu modülü kullanabilmek için os.py dosyasının bulunduğu dizine gitmenize gerek yok. Bu modülü programımız içine nasıl davet edeceğimizi öğrendiğimize göre, os modülü içindeki fonksiyonlardan söz edebiliriz. Öncelikle, isterseniz bu modül içinde neler var neler yok şöyle bir listeleyelim... Daha sonra şu komutu veriyoruz:
7 >>> dir(os) İsterseniz daha anlaşılır bir çıktı elde edebilmek için bu komutu şu şekilde de verebilirsiniz: >>> for icerik in dir(os):... print icerik Gördüğünüz gibi, bu modül içinde bir yığın fonksiyon ve nitelik var. Şimdi biz bu fonksiyonlar ve niteliklerden önemli olanlarını incelemeye çalışalım name Niteliği dir(os) komutuyla os modülünün içeriğini incelediğinizde orada name adlıbir nitelik olduğunu göreceksiniz. Bu nitelik, kullandığınız işletim sisteminin ne olduğu hakkında bilgi verir. Basit bir örnekle başlayalım: #!/usr/bin/env python # -*- coding: utf-8 -*- import os if os.name == "posix": a = raw_input("linus Torvalds'a mesajınızı yazın:") print "Merhaba Linux kullanıcısı!" if os.name == "nt": a = raw_input("bill Gates'e mesajınızı yazın:") print "Merhaba Windows Kullanıcısı!" Bu basit örnekte öncelikle os adlı modülü bütün içeriğiyle birlikte programımıza aktardık. Daha sonra bu modül içindeki name niteliğinden yararlanarak, kullanılan işletim sistemini sorguladık. Buna göre bu program çalıştırıldığında, eğer kullanılan işletim sistemi GNU/Linux ise, kullanıcıdan Linus Torvalds a mesajını yazması istenecektir. Eğer kullanılan işletim sistemi Windows ise, Bill Gates e mesaj yazılması istenecektir. os modülünde işletim sistemi isimleri için öntanımlı olarak şu ifadeler bulunur: GNU/Linux için "posix", Windows için "nt", "dos", "ce" Macintosh için "mac" OS/2 için "os2"
8 Aynı komutları şu şekilde de yazabiliriz: #!/usr/bin/env python # -*- coding: utf-8 -*- from os import name if name == "posix": a = raw_input("linus Torvalds'a mesajınızı yazın:") print "Merhaba Linux kullanıcısı!" if name == "nt": a = raw_input("bill Gates'e mesajınızı yazın:") print "Merhaba Windows Kullanıcısı!" Dikkat ederseniz burada from os import name komutuyla, os modülü içindeki name niteliğini aldık yalnızca. Ayrıca program içinde kullandığımız os.name ifadesini de name şekline dönüştürdük... Çünkü from os import name komutuyla yalnızca name niteliğini çektiğimiz, aslında os modülünü çekmediğimiz için, os.name yapısını kullanırsak Python bize os isminin tanımlanmadığını söyleyecektir. Bu name niteliğinin ne kadar faydalı bir şey olduğunu tahmin edersiniz. Eğer yazdığınız bir programda name niteliğini kullanarak işletim sistemi sorgulaması yaparsanız, yazdığınız programın birden fazla işletim sistemi üzerinde çalışma imkânı olacaktır. Çünkü bu sayede programınızın, kullanılan işletim sistemine göre işlem yapmasını sağlayabilirsiniz listdir Fonksiyonu os modülü içinde yer alan bu fonksiyon bize bir dizin içindeki dosyaları veya klasörleri listeleme imkânı veriyor. Bunu şöyle kullanıyoruz: >>> a = os.listdir("/home/") >>> print a Yukarıdaki örnekte her zamanki gibi, modülümüzü import os komutuyla programımıza aktardık ilk önce. Ardından kullanım kolaylığı açısından os.listdir fonksiyonunu a adlı bir değişkene atadık. Örnekte os.listdir fonksiyonunun nasıl kullanıldığını görüyorsunuz. Örneğimizde /home dizini altındaki dosya ve klasörleri listeliyoruz. Burada parantez içinde tırnak işaretlerini ve yatık çizgileri nasıl kullandığımıza dikkat edin. En son da print a komutuyla /home dizininin içeriğini liste olarak ekrana yazdırıyoruz. Çıktının tipinden anladığımız gibi, elimizde olan şey, öğeleri yan yana dizilmiş bir liste. Eğer biz dizin içeriğinin böyle yan yana değil de alt alta dizildiğinde daha şık görüneceğini düşünüyorsak, kodlarımızı şu biçime sokabiliriz:
9 import os a = os.listdir("/home/") for dosyalar in a: print dosyalar Eğer dosyalarımıza numara da vermek istersek şöyle bir şey yazabiliriz: import os a = os.listdir("/home/") c = 0 for dosyalar in a: if c < len(a): c = c+1 print c, dosyalar Hatta Python daki enumerate() adlı özel bir fonksiyonu kullanarak bu işlemi çok daha kısa bir yoldan halledebilirsiniz: import os a = os.listdir("/home/") for s, d in enumerate(a, 1): print s, d getcwd Fonksiyonu os modülü içinde yer alan bu fonksiyon bize o anda hangi dizin içinde bulunduğumuza dair bilgi verir. İsterseniz bu fonksiyonun tam olarak ne işe yaradığını bir örnek üzerinde görelim. Bunun için, kolaylık açısından, hemen Python komut satırını açalım ve >>> işaretinden hemen sonra şu komutu yazalım: Bu komutu yazıp ENTER tuşuna bastıktan sonra da şu komutu verelim: >>> os.getcwd()
10 Gördüğünüz gibi bu komut bize o anda hangi dizin içinde bulunduğumuzu söylüyor. Bu arada İngilizce bilenler için söyleyelim, buradaki cwd nin açılımı current working directory. Yani: O anda içinde bulunduğumuz dizin. Şöyle bir örnek vererek konuyu biraz açalım: #!/usr/bin/env python # -*- coding: utf-8 -*- import os mevcut_dizin = os.getcwd() if mevcut_dizin == "/home/deneme/desktop": for i in os.listdir(mevcut_dizin): print i else: print "Bu program yalnızca /home/deneme/desktop dizini içini gösterir!" Şimdi de os modülü içindeki başka bir fonksiyona değinelim chdir Fonksiyonu Bu fonksiyon yardımıyla içinde bulunduğumuz dizini değiştirebiliriz. Diyelim ki o anda /usr/share/apps dizini içindeyiz. Eğer bir üst dizine, yani /usr/share/ dizinine geçmek istiyorsak, şu komutu verebiliriz: >>> os.chdir(os.pardir) >>> print os.getcwd() Buradaki pardir sabiti, İngilizce parent directory (bir üst dizin) ifadesinin kısaltması oluyor. pardir sabiti dışında, bir de curdir sabiti vardır. Bu sabiti kullanarak mevcut dizin üzerinde işlemler yapabiliriz: >>> os.listdir(os.curdir) Gördüğünüz gibi bu curdir sabiti getcwd() fonksiyonuna benziyor. Bunun dışında, istersek gitmek istediğimiz dizini kendimiz elle de belirtebiliriz: >>> os.chdir("/var/tmp")
11 mkdir() ve makedirs() Fonksiyonları Bu iki fonksiyon yardımıyla dizin veya dizinler oluşturacağız. Mesela: >>> os.mkdir("/test") Bu kod / dizini altında test adlı boş bir klasör oluşturacaktır. Eğer bu kodu şu şekilde yazarsak, mevcut çalışma dizini içinde yeni bir dizin oluşacaktır: >>> os.mkdir("test") Yani, mesela mevcut çalışma dizini masaüstü ise bu test adlı dizin masaüstünde oluşacaktır. İsterseniz bu kodları şu şekle getirerek yeni oluşturulan dizinin nerede olduğunu da görebilirsiniz: >>> print os.getcwd() >>> os.mkdir("test") Bundan başka, eğer isterseniz mevcut bir dizin yapısı içinde başka bir dizin de oluşturabilirsiniz. Yani mesela /home/kullanıcı_adınız/ dizini içinde deneme adlı boş bir dizin oluşturabilirsiniz: >>> os.mkdir("/home/istihza/deneme") Peki diyelim ki iç içe birkaç tane yeni klasör oluşturmak istiyoruz. Yani mesela /home/kullanıcı_adınız dizini altında yeni bir Programlar dizini, onun altında da Python adlı yeni başka bir dizin daha oluşturmak istiyoruz. Hemen deneyelim: >>> os.mkdir("/home/istihza/programlar/python") Ne oldu? Şöyle bir hata çıktısı elde ettik, değil mi? Traceback (most recent call last): File "deneme.py", line 2, in? os.mkdir("/home/istihza/programlar/python") OSError: [Errno 2] No such file or directory: '/home/istihza/programlar/python' Demek ki bu şekilde çoklu dizin oluşturamıyoruz. İşte bu amaç için elimizde makedirs() fonksiyonu var. Hemen deneyelim yine:
12 >>> os.makedirs("/home/istihza/programlar/python") Gördüğünüz gibi, /home/kullanıcı_adımız/ dizini altında yeni bir Programlar dizini ve onun altında da yeni bir Python dizini oluştu. Buradan çıkan sonuç, demek ki mkdir() fonksiyonu bize yalnızca bir adet dizin oluşturma izni veriyor.. Eğer biz birden fazla, yani çoklu yeni dizin oluşturmak istiyorsak makedirs() fonksiyonunu kullanmamız gerekiyor. Küçük bir örnek daha verip bu bahsi kapatalım: >>> print os.getcwd() >>> os.makedirs("test/test1/test2/test3") Tahmin ettiğiniz gibi bu kod mevcut çalışma dizini altında iç içe test, test1, test2 ve test3 adlı dizinler oluşturdu... Eğer test ifadesinin soluna / işaretini eklerseniz, bu boş dizinler kök dizini altında oluşacaktır rmdir() ve removedirs() fonksiyonları Bu fonksiyonlar bize mevcut dizinleri silme olanağı tanıyor. Yalnız, burada hemen bir uyarı yapalım: Bu fonksiyonları çok dikkatli kullanmamız gerekiyor... Ne yaptığınızdan, neyi sildiğinizden emin değilseniz bu fonksiyonları kullanmayın! Çünkü Python bu komutu verdiğinizde tek bir soru bile sormadan silecektir belirttiğiniz dizini. Gerçi, bu komutlar yalnızca içi boş dizinleri silecektir, ama yine de uyaralım. Hemen bir örnek verelim. Diyelim ki mevcut çalışma dizinimiz olan masaüstünde TEST adlı boş bir dizin var ve biz bu dizini silmek istiyoruz: >>> os.rmdir("test") Böylece TEST dizini silindi. Bir de şu örneğe bakın: >>> os.rmdir("/home/istihza/test") Bu kod ise /home/kullanıcı_adı dizini altındaki boş TEST dizinini silecektir... Tıpkı mkdir() ve makedirs() fonksiyonlarında olduğu gibi, iç içe birden fazla boş dizini silmek istediğimizde ise removedirs() fonksiyonundan yararlanıyoruz:
13 >>> os.removedirs("test1/test2") Yine hatırlatmakta fayda var: Neyi sildiğinize mutlaka dikkat edin... Python da dizinleri nasıl yöneteceğimizi, nasıl dizin oluşturup sileceğimizi basitçe gördük. Şimdi de bu dizinleri yönetme işini biraz irdeleyelim. Şimdiye kadar hep bir dizin, onun altında başka bir dizin, onun altında da başka bir dizini nasıl oluşturacağımızı çalıştık. Peki, aynı dizin altında birden fazla dizin oluşturmak istersek ne yapacağız? Bu işlemi çok kolay bir şekilde şöyle yapabiliriz: >>> os.makedirs("test1/test2") >>> os.makedirs("test1/test3") Bu kodlar mevcut çalışma dizini altında test1 adlı bir dizin ile bunun altında test2 ve test3 adlı başka iki adet dizin daha oluşturacaktır. Peki, bu test1, test2 ve test3 ifadelerinin sabit değil de değişken olmasını istersek ne yapacağız. Şöyle bir şey deneyelim: >>> test1 = "Belgelerim" >>> test2 = "Hesaplamalar" >>> test3 = "Resimler" >>> os.makedirs(test1/test2) >>> os.makedirs(test1/test3) Bu kodları çalıştırdığımızda Python bize şöyle bir şey söyler: Traceback (most recent call last): File "deneme.py", line 4, in? os.makedirs(test1/test2) TypeError: unsupported operand type(s) for /: 'str' and 'str' Peki, neden böyle oldu ve bu hata ne anlama geliyor? Kod yazarken bazı durumlarda / işareti programcıları sıkıntıya sokabilir. Çünkü bu işaret Python da hem bölme işleci hem de dizin ayracı olarak kullanılıyor. Biraz önce yazdığımız kodda Python bu işareti dizin ayracı olarak değil bölme işleci olarak algıladı ve sanki test1 ifadesini test2 ifadesine bölmek istiyormuşuz gibi davrandı bize. Ayrıca kullandığımız os.makedirs() fonksiyonunu da gördüğü için ne yapmaya çalıştığımızı anlayamadı ve kafası karıştı...peki, bu meseleyi nasıl halledeceğiz? Bu meseleyi halletmek için kullanmamız gereken başka bir nitelik var Python da.
14 ossep niteliği Bu fonksiyon, işletim sistemlerinin dizin ayraçları hakkında bize bilgi veriyor. Eğer yazdığımız bir programın farklı işletim sistemleri üzerinde çalışmasını istiyorsak bu fonksiyon epey işimize yarayacaktır. Çünkü her işletim sisteminin dizin ayracı birbiriyle aynı değil. Bunu şu örnekle gösterebiliriz: Hemen bir Python komut satırı açıp şu komutlarıverelim: >>> os.sep '/' Bu komutu GNU/Linux ta verdiğimiz için komutun çıktısı / şeklinde oldu. Eğer aynı komutu Windows ta verirsek sonuç şöyle olacaktır: >>> >>> os.sep \ Peki bu os.sep niteliği ne işe yarar? Yazdığımız kodlarda doğrudan dizin ayracı vermek yerine bu niteliği kullanırsak, programımızı farklı işletim sistemlerinde çalıştırırken, sistemin kendine özgü dizin ayracı nın kullanılmasını sağlamış oluruz. Yani mesela: >>> os.makedirs("test/test2") komutu yerine; >>> os.makedirs("test" + os.sep + "test2") komutunu kullanırsak programımızı farklı işletim sistemlerinde çalıştırırken herhangi bir aksaklık olmasını önlemiş oluruz. Çünkü burada os.sep niteliği, ilgili işletim sistemi hangisiyse ona ait olan dizin ayracının otomatik olarak yerleştirilmesini sağlayacaktır... Bu os.sep niteliği ayrıca dizin adlarını değişken yapmak istediğimizde de bize yardımcı olacaktır. Hatırlarsanız yukarıda şöyle bir kod yazmıştık: >>> test1 = "Belgelerim" >>> test2 = "Hesaplamalar"
15 >>> test3 = "Resimler" >>> os.makedirs(test1/test2) >>> os.makedirs(test1/test3) Yine hatırlarsanız bu kodu çalıştırdığımızda Python hata vermişti. Çünkü Python burada / işaretini bölme işleci olarak algılamıştı. İşte bu hatayı almamak için os.sep niteliğinden faydalanabiliriz. Şöyle ki: >>> test1 = "Belgelerim" >>> test2 = "Hesaplamalar" >>> test3 = "Resimler" >>> os.makedirs(test1) >>> os.makedirs(os.sep.join([test1, test2])) >>> os.makedirs(os.sep.join([test1, test3])) Dikkat ederseniz, burada os.sep niteliğini join() adlı bir fonksiyon ile birlikte kullandık. (join() fonksiyonunu birkaç ders sonra daha ayrıntılı bir şekilde inceleyeceğiz). Yukarıdaki kod sayesinde doğrudan / işaretine bulaşmadan, başımızı derde sokmadan işimizi halledebiliyoruz. Ayrıca burada parantez ve köşeli parantezlerin nasıl kullanıldığına da dikkat etmemiz gerekiyor... Yukarıda test1, test2 ve test3 değişkenlerinin adlarını doğrudan kod içinde verdik... Tabii eğer istersek raw_input() fonksiyonuyla dizin adlarını kullanıcıya seçtirebileceğimiz gibi, şöyle bir şey de yapabiliriz: import os def dizinler(test1, test2, test3): os.makedirs(test1) os.makedirs(os.sep.join([test1, test2])) os.makedirs(os.sep.join([test1, test3])) Dikkat ederseniz, burada öncelikle os modülünü çağırıyoruz. Daha sonra dizinler adlı bir fonksiyon oluşturup parametre olarak test1, test2 ve test3 adlı değişkenler belirliyoruz. Ardından os.makedirs(test1) komutuyla test1 adlı bir dizin oluşturuyoruz. Tabii bu test1 bir değişken olduğu için adını daha sonradan biz belirleyeceğiz. Alttaki satırda ise os.makedirs() ve os.sep.join() komutları yardımıyla, bir önceki satırda oluşturduğumuz test1 adlıdizinin içinde test2 adlı bir dizin daha oluşturuyoruz. Burada os.sep.join() fonksiyonu / işaretiyle uğraşmadan dizinleri birleştirme imkânı sağlıyor bize. Hemen alttaki satırda da benzer bir işlem yapıp kodlarımızı bitiriyoruz. Böylece bir fonksiyon tanımlamış olduk. Şimdi bu dosyayı deneme.py adıyla masaüstüne kaydedelim. Böylelikle kendimize bir modül yapmış olduk. Şimdi Python komut satırını açalım veşu komutları verelim:
16 >>> import deneme >>> deneme.dizinler("belgelerim", "Videolar", "Resimler") Burada öncelikle import deneme satırıyla deneme adlı modülümüzü çağırdık. Daha sonra deneme.dizinler satırıyla bu modül içindeki dizinler() adlı fonksiyonu çağırdık. Böylelikle masaüstünde Belgelerim adlı bir klasörün içinde Videolar ve Resimler adlı iki klasör oluşturmuş olduk. Bu os.sep.join() ifadesi ile ilgili son bir şey daha söyleyip bu konuya bir nokta koyalım. Şimdi Python komut satırını açarak şu kodları yazalım: >>> os.sep.join(["dizin1", "Dizin2"]) ENTER tuşuna bastığımızda, bu komutların çıktısı şöyle olur: 'Dizin1/Dizin2' Aynı kodları Windows üzerinde verirsek de şu çıktıyı alırız: 'Dizin1\\Dizin2' Gördüğünüz gibi farklı platformlar üzerinde, os.sep çıktısı birbirinden farklı oluyor. Bu örnek, os.sep niteliğinin, yazdığımız programların taşınabilirliği (portability), yani farklı işletim sistemleri üzerinde çalışabilme kabiliyeti açısından ne kadar önemli olabileceğini gösteriyor... Bu bölümün başında şöyle bir soru sormuştuk: Acaba kendi yazdığımız modülleri içe aktarabilmek için modülün bulunduğu dizine gitmemiz gerekirken, os modülünü içe aktarmak için neden böyle bir şey yapmamıza gerek kalmıyor? Şimdi bu sorunun cevabını verelim: Python da sys adlı bir modül daha bulunur. Bu modülün path adlı bir de niteliği vardır. İsterseniz kendi gözlerimizle görelim: >>> import sys >>> sys.path Bu komutlar bize dizin adlarını içeren uzun bir liste verir. Biz herhangi bir modülü içe aktarmaya çalıştığımızda Python ilk olarak o anda içinde bulunduğumuz dizine bakar. Kendi yazdığımız modülü içe aktarabilmek için modülün bulunduğu dizine gitmemizin sebebi bu. Eğer Python, modülü o anda çalışılan dizin içinde bulamazsa, sys.path çıktısında görünen dizinlerin içine bakar. Eğer aranan modül bu çıktıdaki dizinlerin herhangi birisinin içindeyse modülü bulup içe
17 aktarabilir. Ama eğer modül bu dizinlerden birinde değilse içe aktarma sırasında hata verir. Gördüğünüz gibi /usr/lib/python2.7 dizini bu çıktıda görünüyor. O yüzden os modülünü rahatlıkla içe aktarabiliyoruz.
Python Programlama Dili
Python Programlama Dili 7. Dosya İşlemleri Bu bölümde Python programlama dilini kullanarak dosyaları nasıl yöneteceğimizi, yani nasıl yeni bir dosya oluşturacağımızı, bir dosyaya nasıl bir şeyler yazabileceğimizi
Python Programlama Dili
Python Programlama Dili 3. Python da Döngüler Bu bölümde iki tane döngüden bahsedeceğiz: while ve for döngüleri. Ayrıca bu bölümde döngüler dışında break ve continue deyimleri ile range() ve len() fonksiyonlarına
Python Programlama Dili
Python Programlama Dili 8. Hata Yakalama Hatalar programcılık deneyiminizin bir parçasıdır. Ancak bizim burada kastettiğimiz, programınızı çalıştıran kullanıcıların sebep olduğu ve programınızın çökmesine
PYTHON PROGRAMLAMA DİLİ
PYTHON PROGRAMLAMA DİLİ Ege Bilmuh GNU/Linux ve Özgür Yazılım Çalışma Grubu http://tinyurl.com/ozgurbilmuh Enes Ateş [email protected] 03.05.2012 Önceki Hafta Python Nedir, Kimler Kullanır? Python'ı Çalıştırmak
CYGWIN KURULUMU ve KULLANIMI
CYGWIN KURULUMU ve KULLANIMI Cygwin, Microsoft Windows işletim sistemi üzerinde çalışan, open source, bir UNIX simülatörüdür. Cygwin`in asıl amacı *nix türevi sistemlerde yer alan yazılımların Windows
LABORATUVAR ÇALIŞMASI 1 - Python a Giriş
LABORATUVAR ÇALIŞMASI 1 - Python a Giriş Bu Çalışmanın Amacı Bu çalışmadaki amacımız, kullandığımız sistem ve kullanım hedefimiz için en uygun olan Python sürümünü bilgisayarımıza yükleyerek bilgisayarımızı
Kabuk Programlama (Bash)
Kabuk Programlama (Bash) Erkan Esmer Ocak, 2013 İçindekiler 1 Giriş.................................................... 2 2 Kabuk(Shell)............................................... 3 3 Çekirdek(Kernel).............................................
Bolum 9. Konu Başlıkları
Bolum 9 Konu Başlıkları 1.Grafik Arayüz Tasarımı//Pencere Araçları(Widgets) Label Button Enrty Checkbutton Toplevel Listbox Menu Text Bitmap Herhangi bir pencere üzerinde bulunan düğmeler,etiketler,sağa-sola,yukarı-aşağı
Burada a değişkeninin türü integer olarak verildi. Peki biz bu ifadeyi tırnak içerisinde yazarsak ne olur?
STRİNG (KARAKTER) İŞLEMLERİ Python'da karakter dizilerini ifade etmek için yapmamız gereken tek şey, ifademizi tırnak ("") içinde belirtmektir. Python'da tırnak içerisinde belirtilen her şey karakter dizisi
VISUAL BASIC DE İŞLETİM SİSTEMİ DENETİM KOMUTLARI VE FONKSİYONLARI
VISUAL BASIC DE İŞLETİM SİSTEMİ DENETİM KOMUTLARI VE FONKSİYONLARI Visual basic kodları yazılırken, yapılması istenen işlerin yanı sıra sistem ile ilgili bazı işlerin yapılması da (klasör oluşturma silme,
C Konsol ve Komut Satırı
C Konsol ve Komut Satırı Öğr. Gör. M. Ozan AKI Rev 1.0 C:\> Konsol ekranı, işletim sistemi ve dosya yönetiminin metin tabanlı yönetilebilmesini sağlayan arabirimdir. Windows işletim sistemi ortaya çıkmadan
Python Programlama Dili
Python Programlama Dili 11. Nesne Tabanlı Programlama - OOP (NTP) Python da Nesne Tabanlı Programlama (Object Oriented Programming) nin pratikte nasıl işlediği anlatılacaktır. 11.1. Neden Nesne Tabanlı
http://www.microsoft.com/visualstudio/eng/downloads
Visual Studio 2012'nin kurulumunu, Visual Studio'nun kullanımını ve Windows Store'da basit bir proje hazırlanmasını anlatacağım. Hepsinden önce Visual Studio ortamından biraz bahsedelim. Visual Studio
Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur
Python büyük-küçük harf ayrımı yapar. Pythonda kod yazarken girintiler kullanılır Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur Klavyeden girilen bir değeri okumak ad=input("adınızı giriniz")
PROGRAMLAMA DİLİ (2009)
PROGRAMLAMA DİLİ (2009) 1 DR. NUREDDİN ERK PERİHAN ERK TEKNİK LİSESİ DÖNEM ÖDEVİ Ders: Görsel Programlama Konu: Python Programlama Dili Öğrencinin; Adı: Melike Soyadı: Gültekin Sınıfı: T12A Numarası: 33
Programlama Dili Prensipleri. Lab Notları 8 ve 9
Programlama Dili Prensipleri Lab Notları 8 ve 9 Fonksiyonel Programlama Fonksiyonel programlamada bir fonksiyon aynı parametreler aldığı sürece aynı sonucu üretecektir. Daha çok yapay zeka için kullanılan
GRAFİK TASARIM. ACTION SCRIPT 3.0 Ders1 YARD. DOÇ. DR. MEHTAP YALÇINKAYA
GRAFİK TASARIM ACTION SCRIPT 3.0 Ders1 YARD. DOÇ. DR. MEHTAP YALÇINKAYA Kod Parçacıklarını Kullanma ve Flash Timeline'ında Gezinme Code Snippet Panelini Kullanarak ActionScript Ekleme Timeline'a Kod Yerleştirme
BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü
BM-209 Nesne Yönelimli Programlama Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü Java Programlama Dili Java bayt kodları Java Sanal Makineleri üzerinde
Python Programlama Dili
Python Programlama Dili 2. Python da Koşul ifadeleri Python da koşullu durumların nasıl oluşturulacağını bu bölümde öğreneceğiz. Bu iş için kullanacağımız üç tane deyim var: if, else ve elif 2.1. if If
BİL BİLGİSAYAR PROGRAMLAMA (JAVA)
BİL 141 - BİLGİSAYAR PROGRAMLAMA (JAVA) KURULUM DÖKÜMANI Ders kapsamında lab saatlerinde veya lab saatleri dışında Java kodları yazabilmek ve çalıştırabilmek için bilgisayarınıza bazı yazılımların kurulması
Android Ders Notları
Android Ders Notları 1. Yeni Bir Proje Başlatma Android Studio programında yeni bir proje başlatıyoruz. İlk olarak karşımıza resim 1 deki gibi bir pencere gelecek. Burada Application name kısmına proje
BİLGİSAYAR PROGRAMLAMA. Yrd. Doç. Dr. Beytullah EREN
BİLGİSAYAR PROGRAMLAMA Yrd. Doç. Dr. Beytullah EREN [email protected] 0264 295 5642 EXCEL DE DOĞRULAMA VE DENETLEME DOĞRULAMA Bir hücre grubuna veri girişi için doğrulama kriterleri (tamsayı, ondalıklı,
SGK Otomasyon Tanıtım ve Kullanım Kılavuzu
SGK Otomasyon Tanıtım ve Kullanım Kılavuzu İçindekiler 1.Bölüm:............................ Programın Amacı ve Size Katacakları 2.Bölüm:........................... Programın Genel Özellikleri 3.Bölüm:............................
Komut Penceresi ile Çalışmaya Başlamak
Komut Penceresi ile Çalışmaya Başlamak Gökhan SELAMET Terminal Penceresi / CLI Nasıl Açılır Standart Olarak Bilgisayar Adı Bulunduğu Dizin Kullanıcı Yetki Klasör Sistemi Terminalde çalışırken üç önemli
Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.
Javascript Html sayfalarının içine yazılarak, sayfayı daha etkileşimli hale getirir. click olayları, uyarı mesajları gibi hareketlerle sayfayı daha dinamik hale getirir. Javascript olmadan yazılan html
Print Komutu ile Değişkenleri Yazdırmak
PYTHON DERS-4 Bu derste eksiklerimizi gidereceğiz. Şimdiye kadar bazı komutları kullandık ancak kullandığımız bu komutların özellikleri hakkında hiçbir şey öğrenmedik. İşte bu derste biraz onlardan bahsedeceğiz.
Python, Guido Van Rossum adlı Hollandalı bir programcı tarafından yazılmış bir programlama dili.
Yazar/Kaynak: pardus-linux.org Derleyen: tdsoftware.wordpress.com Temel Bilgiler Giriş Python, Guido Van Rossum adlı Hollandalı bir programcı tarafından yazılmış bir programlama dili. Python kelimesi aslında
Genel Programlama II
Genel Programlama II 22.03.2011 1 Yapılar ( Structures ) Yapılar ( structures ); tam sayı, karakter vb. veri tiplerini gruplayıp, tek bir çatı altında toplar. Bu gruplandırma içinde aynı ya da farklı veri
Java 2 Standart Edition SDK Kurulum ve Java ya Giriş
Kurulum için ilk önce Sun Microsystems in sitesinden uygun J2SE sürümünü indirin. Ben J2SE v1. 4. 2_16 Windows Installer paketini kullandım J2SE SDK Kurulumu aşağıdaki gibi başlayacaktır. 1 Kurulum tamamlandıktan
Python Programlama Dili
Python Programlama Dili 4. Python da Listeler, Demetler ve Sözlükler Bu bölümde Python da dört yeni veri tipi daha öğreneceğiz. Öğreneceğimiz bu veri tipleri liste (list), demet (tuple), sözlük (dictionary)
SIMAN KULLANIM KILAVUZU
SIMAN KULLANIM KILAVUZU Önder Öndemir SIMAN Simülasyon programı Model Çatı ve Deneysel Çatı olmak üzere iki kısımdan oluşur. Model çatı genel itibariyle modullerin ve işlem bloklarının yazıldığı kısımdır.
Program ile birlikte 4 adet örnek Excel dosyası ve bu dosyaları transfer etmekte kullanılan örnek dizaynlar verilmektedir.
27 Mayıs 2013 İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL İlgili Modül/ler : Veri Aktarma, Muhasebe MUHASEBE FİŞİNE EXCEL DEN FATURA TRANSFERİ Excel de bulunan fatura verilerinin muhasebe fişine toplu olarak
Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.
C# da Diziler Diziler için aynı tipteki verilerin tutulduğu bir koleksiyon diyebiliriz. Örneğin integer verinin bir yığın şeklinde tutulması için dizileri kullanırız. C# da diziler referans tipinde değişkenlerdendir.
C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler
C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra
Temel Bilgisayar Uygulamaları Web Tasarımı, Programlama Dilleri ve C# a Giriş
Kitap: Örneklerle Algoritma ve C# Programlama - Erhan Arı C# Giriş C# yazmak için Windows ta Visual Studio, Mac te Xamarin Studio kullanırız. Bi C# Projesi oluşturmak için Visual Studio da: File(Dosya)->New
GUSTOLOJİ ÖN MUHASEBE PROGRAMI
GUSTOLOJİ ÖN MUHASEBE PROGRAMI STOK CARİ BANKA KASA FATURA ÇEK/SENET PERSONEL TOPLU SMS RAPORLAR DÖVİZ KUR HESABI GUSTOLOJİ ÖN MUHASEBE PROGRAMI GENEL ÖZELLİKLERİ Muhasebe Programı istediğiniz para biriminden
Regular Expressions Version 0.1
Regular Expressions Version 0.1 Hüseyin Kaya [email protected] 2001 Özet Bu belge Linux and Unix Shell Programming adlı kitaptan faydalalınarak yazılmıştır. Kitabın yazarı David Tansley. İngilizce bilenler
BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1
BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 Ekrana Metin Yazdırmak Ekranda metin yazdırmak istendiğinde print komutu kullanılır. Kullanımı aşağıda verilmiştir. Parantez içinde
Aşağıdaki programı inceleyip ekrana ne yazacağını söyleyebilir misiniz?
PYTHON DERS-8 LİSTELER-2 Geçen ders listeler oluşturmayı, listedeki her elemanın bir index numarası olduğu ve bu numaranın 0'dan başladığını, listenin tamamını veya index numarası sayesinde belirli bir
Linux ta komutlar hakkında yardım almak için aşağıdaki komutlar kullanılır : - man - info - whatis - apropos
Yardım Komutları Linux ta komutlar hakkında yardım almak için aşağıdaki komutlar kullanılır : - man - info - whatis - apropos Yardım Komutları man komut Parametre olarak aldığı komut hakkında bilgiyi ekranda
$ rm dosya1 dosya2 dosya3 dosya4 dosya5 dosya6 dosya7 dosya8
Joker karakterler Günlük Linux kullanımında çok defa bir operasyonu tek seferde birden fazla nesne için çalıştırmak isteyebileceğiniz (rm gibi) durumlarla karşılaşabilirsiniz. Böyle durumlarda, aşağıdaki
Denetim Masası/Programlar/Windows özelliklerini Aç/Kapat
Merhaba arkadaşlar, Bu yazımızda yerel ağda veya Ip adresimizle bir web sitesinin paylaşıma açılması, aynı ağdan veya uzaktan bir bilgisayarın web sitemize nasıl erişebileceği konuları üzerinde duracağız.
DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.
DAO İLE SQL KOMUTLARI Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım. SQL-1 SELECT En basit SQL cümleciği oluşturmak için SELECT sözcüğü
Toplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir.
www.csharpturk.net Türkiye nin C# Okulu Yazar Yunus Özen Eposta [email protected] Tarih 08.04.2006 Web http://www.yunusgen.tr ARİTMETİK OPERATÖRLER VE KULLANIM ŞEKİLLERİ Bilgisayarlar yapıları gereği,
man komut man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.)
Yardım Komutları man komut Parametre olarak aldığı komut hakkında bilgiyi ekranda gösterir. man ls (ls komutu hakkında bilgi verir.) man pwd (pwd komutu hakkında bilgi verir.) Komut çalıştırıldığında uzun
BÖLÜM 3 OPERAT A ÖRLER - 19 -
BÖLÜM 3 OPERATÖRLER - 19 - 3.1 Operatörler Hakkında Yukarıdaki örnekleri birlikte yaptıysak = işaretini bol bol kullandık ve böylece PHP'nin birçok operatöründen biriyle tanıştık. Buna PHP dilinde "atama
NESNEYE YÖNELİK PROGRAMLAMA
NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem
Dizi elemanları yukarıdaki gibi tek tek tanımlanabileceği gibi matematiksel ifadelerdeki diziler gibi de tanımlanabilir.
DİZİLER/ARRAY: Dizi yi çeşitli şekillerde tanımlamak mümkün. Dizi içlerinde birden fazla değer saklayabilen veri kümeleridir diye tanımlarsak uygun olur sanırım. Diziler yan yana dizilmiş kutucuklar olarak
MODÜL 1 DERS 1 BİLGİSAYARLAR DÜNYAYA HAKİM. Hazırlayan: EBOT00
MODÜL 1 DERS 1 BİLGİSAYARLAR DÜNYAYA HAKİM DERS 1 Bilgisayarlar, internet, web siteleri, hesap makineleri ve mp3 çalarlar yazılım olmadan kolaylıkla görevlerini yerine getiremezler. İlk bilgisayarlar büyük
Python Programlama Dili
Python Programlama Dili 1. Temel Bilgiler 1.1. Python Hakkında Python, Guido Van Rossum adlı Hollandalı bir programcı tarafından yazılmış bir programlama dilidir. Geliştirilmesine 1990 yılında başlanan
Uzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak
Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı
Internet Programming II Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 23 May. 2016 PHP Dosya İşlemleri Form yolu ile kullanıcıdan alınan bilgilerin veri tabanı yerine
Temel Linux Eğitimi 1., 2. ve 3. Bölümler
Süha TUNA Bilişim Enstitüsü UHeM Yaz Çalıştayı - 11.06.2012 İçerik 1. Linux, Kavramlar ve Dizin Yapısı 2. Temel Linux Komutları 3. Sunucuya Uzaktan Bağlanma 1. Linux, Kavramlar ve Dizin Yapısı Linux Linux,
Windows XP: Simple Sharing, Security ve ForceGuest Perşembe, 07 Eylül :02 - Son Güncelleme Cumartesi, 12 Eylül :36
Bu son derece ilgi ÇEKİCİ :) konuya bir göz atalım. The " Microsoft Windows XP Professional : Resource Kit Documentation " Part II, chapter 6 bakın neler diyor: Simple Sharing ve ForceGuest Domain'e üye
UZAYLIYLA SOHBET. Kedi kuklasını silip bu kuklalardan birini seçin ve projenize başlayın.
1 Bugün bizimle konuşan bir uzaylı karakter, yaratacağız. Projeye başlamadan önce şunlara karar vermelisiniz. Karakterinizin adı ne? Nerede yaşıyor? Nası bir karakter? Mutlu mu? Ciddi mi? Komik mi? 2 Kedi
Samsun Çocuk Hizmetleri İ l Koordinasyon Sekretarya Birimi
Samsun Çocuk Hizmetleri İ l Koordinasyon Sekretarya Birimi Veri Giriş Sistemi Klavuzu Amaç Veri Giriş Sistemi, koruyucu ve destekleyici tedbir kararlarının takibinde ve uygulamasında ilgili kurumları daha
BIND ile DNS Sunucu Kurulumu
BIND ile DNS Sunucu Kurulumu BIND Nedir? BIND bir dns sunucusu yani unix ve linux sistemler üzerinde dns servis hizmetini veren başarılı bir daemondur. Kısacası en popüler DNS sunucu yazılımı BIND dir.
Kaynak Kodlardan Derleme. Turquaz Muhasebe. Versiyon 0.2. Hüseyin Ergün. 26 Mart 2005
Kaynak Kodlardan Derleme Turquaz Muhasebe Versiyon 0.2 Hüseyin Ergün 26 Mart 2005 Turquaz Muhasebe, Kaynak Kodları Derleme Sayfa 2 İçindekiler İÇİNDEKİLER 2 GEÇMİŞ DEĞİŞİKLİKLER 3 1. GİRİŞ 4 1.1 AÇIKLAMA
Yrd. Doç. Dr. Caner ÖZCAN
Yrd. Doç. Dr. Caner ÖZCAN Diziler ile Pointer Arası İlişki Bir dizi adı sabit bir pointer gibi düşünülebilir. Diziler ile pointer lar yakından ilişkilidir. Pointer lar değişkenleri gösterdikleri gibi,
JAVA PROGRAMLAMAYA GİRİŞ
LAB I JAVA PROGRAMLAMAYA GİRİŞ Java Kurulumu Java dili ile programlama yapabilmek için java jdk ve java kodlama yapılabilecek uygun bir geliştirme ortamı kurulmalıdır. Eclips IDE yaygın olarak kullanılan
Python ile Programlamaya Giris
Python ile Programlamaya Giris Ders 4 Veri Tipleri Arasinda Dönüsüm Asagida iki farkli veri tipi, int ve str, gösteriliyor. >>> 3 3 >>> '3' '3' >>> Ilk girilen sayi 3 bir tamsayi iken ikinci girilen sayi
Gerekli bağlantıları yapıp, ACS420 V3.03 programını çalıştırınız. Program açıldığında, LMS14 ün içindeki parametrelerin okunmasını bekleyiniz.
Gerekli bağlantıları yapıp, ACS420 V3.03 programını çalıştırınız. Program açıldığında, LMS14 ün içindeki parametrelerin okunmasını bekleyiniz. Aşağıdaki pencereyi gördükten sonra cihazınız parametre ayarı
MVC. Görüldüğü üzere 2 adet cs. Dosyası oluşturdum. Birincisi çok satır kodu (20-25) içeren büyük işlerin yapılacağı class. İsmi buyuk_isler.
MVC MVC Anlamakta zorluk çekiyorsanız bu yazımı dikkatle okumanızı tavsiye ediyorum. Derslerde öğrencilerimin en çok zorlandıkları konu MVC nin mantığıdır. Önce MVC anlamaya çalışmak yerine MVC den biraz
İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler
PHP de Dizi-Değişkenler, Nesneler Dizilerle ilgili örneklere geçmeden önce aşağıdaki tabloyu inceleyelim. Tabloda dizi kavramının mantığı açıklanmaktadır. Tablonun tamamını bir dizi olarak düşünün ve bu
Yrd. Doç. Dr. Caner ÖZCAN
Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonu Referans ile Çağırma (Call by Reference) Bir fonksiyona gönderilen parametrenin normalde değeri değişmez. Fonksiyon içinde yapılan işlemlerin hiçbiri argüman değişkeni
Python Programlama Dili
Python Programlama Dili 11. Grafik Arayüz Tasarımı / Temel Bilgiler Python da arayüz tasarımı için birden fazla seçeneğimiz var. Bunları sıralayacak olursak, seçeneklerimizin şunlar olduğunu görürüz: PyGTK
BOOTLOADER MANUAL DOCUMENT
BOOTLOADER MANUAL DOCUMENT 1 İçindekiler Tablosu 1- Ön Bilgilendirme... 3 2- Genel Dosya Yapısı... 3 3- Kullanılan Yazılım Dili... 4 4- Programı Özelleştirmek... 4 4.1- Windows için... 4 4.2- Linux için...
İŞLETİM SİSTEMLERİ. İŞLETİM SİSTEMİ Kavramı. Klasör ve Dosya Mantığı. Klasör ve Dosya Mantığı
İŞLETİM SİSTEMİ Kavramı İŞLETİM SİSTEMLERİ İşletim sistemini, bir bilgisayar sisteminde kullanıcı ile iletişim kurarak, donanım ve yazılım nitelikli kaynakların kullanıcılar arasında adil bir biçimde paylaştırılmasını
AirTies Kablosuz Erişim Noktası (Access Point) olarak kullanacağınız cihazı bilgisayarınıza bağlayarak ayarlarını yapabilirsiniz.
USB Disk Paylaşımı Değerli Müşterimiz, AirTies desteklediği USB Tak&Paylaş özelliği ile hiçbir ekstra donanıma ihtiyaç duymadan yaygın olarak kullanılan standart USB disk sürücülerinizi tüm ağınıza paylaştırmanıza
İçindekiler. KISIM 1 Temel Programlama 1. Bölüm 1: Programlama ve Python 3. Bölüm 2: Değişkenler, İfadeler ve Deyimler 13. Giriş 4
ix İçindekiler KISIM 1 Temel Programlama 1 Bölüm 1: Programlama ve Python 3 Giriş 4 Programlama Hataları 5 Tip-1 Hata: Yazım Hataları 5 Tip-2 Hata: Çalışma Zamanı Hataları 6 Tip-3 Hata: Anlamsal Hatalar
2.50 VERSİYONUMUZDA YER ALACAK, YENİ TEORİK DERS PROGRAMI KILAVUZU
2.50 VERSİYONUMUZDA YER ALACAK, YENİ TEORİK DERS PROGRAMI KILAVUZU 1 ĐÇĐNDEKĐLER 1. Teorik Ders Programı Hazırlık Aşamaları ve Kontroller... 3 2. Personel ve Derslikler.... 4 3. Teorik Program Đçin Grup
PYTHON PROGRAMLAMA DİLİ
PYTHON PROGRAMLAMA DİLİ Ege Bilmuh GNU/Linux ve Özgür Yazılım Çalışma Grubu http://tinyurl.com/ozgurbilmuh Enes Ateş [email protected] 26.04.2012 Nedir bu Python? Adını Monty Python's Flying Circus adlı
LUCA NET BANKA EKSTRELERİ MODÜLÜ
LUCA NET BANKA EKSTRELERİ MODÜLÜ Banka ekstrelerinizi bankanızdan alıp LUCA NET Kobi Ticari Yazılımı sistemine entegre edebilirsiniz.banka ekstrelerinizi Luca Net Kobi Ticari Yazılımına aktarma işlemlerinizi
KISIM I: TEMEL KONULAR 1
İÇİNDEKİLER VII İÇİNDEKİLER KISIM I: TEMEL KONULAR 1 1 TEMEL BİLGİLER 3 Python Hakkında 3 Python u Nereden Bulabilirim? 4 GNU/Linux 4 Microsoft Windows 5 Python Nasıl Çalıştırılır? 5 GNU/Linux ta Python
Java JDK (Java Development Kit) Kurulumu:
Java JDK ve Eclipse Kurulumu Öncelikle java ile program geliştirmeye başlamak istiyorsanız iki şeye ihtiyacınız olacak; 1-Java JDK (Java Development Kit) : Java ile yazdığımız kodları derleyip çalıştırmak
BLGM 354 DENEY 1 * GİRİŞ
BLGM 354 DENEY 1 * GİRİŞ Amaçlar 1. Oracle istemcisi kurulumu 2. Veritabanı bağlantısı 3. SQL geliştirme ortamında çalışma Oracle İstemcisinin Kurulumu Oracle istemcisi bölümün FTP sunucusundan (ftp://ftp.cmpe.emu.edu.tr)
Hiyerarşik Onaylama Sistemi. Evraklarda Hiyerarşik Onaylama Sistemi
Evraklarda Hiyerarşik Onaylama Sistemi 1 Uygulama Ayarları Sistem / Uygulama Ayarları Uygulama ayarlarında, onay işlemlerini hangi programda yapacağımızı ve ilgili işlemin kaç farklı onaydan geçmesi gerektiği
HSancak Nesne Tabanlı Programlama I Ders Notları
Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.
Resim 1. Access açılış sayfası. Resim 2. Access veri tabanı düzenleme sayfası
ACCESS DERS 1 1. Access Programına Giriş Derslere uygulama üzerinde devam edeceğiz. Uygulama ismimiz İş Takip Sistemi dir. Uygulamada ilerledikçe işleyeceğimiz bölümlerin nasıl kullanıldığını ve ne işe
KONU: İşletim Sistemleri I - Ms-Dos İşletim Sistemi SORULAR
KONU: İşletim Sistemleri I - Ms-Dos İşletim Sistemi Aşağıdakileri MS-DOS işletim sistemi uygulamalarını bilgisayarınızda yapınız ve nasıl yaptığınızı (hangi komutları nasıl kullandığınızı) boş bırakılan
T.C. KOCASİNAN KAYMAKAMLIĞI Kocasinan Rehberlik ve Araştırma Merkezi Müdürlüğü. REHBERLİK SERVİSİ BİLGİ İŞLETİM SİSTEMİ (RESBİS v2)
T.C. KOCASİNAN KAYMAKAMLIĞI Kocasinan Rehberlik ve Araştırma Merkezi Müdürlüğü REHBERLİK SERVİSİ BİLGİ İŞLETİM SİSTEMİ (RESBİS v2) Her hakkı mahfuzdur. Kayseri/Kocasinan Rehberlik ve Araştırma Merkezi
İçerik Yönetim Sistemi. Joomla! Öğr.Gör. Serkan KORKMAZ. Birecik MYO - 2013
İçerik Yönetim Sistemi Joomla! Öğr.Gör. Serkan KORKMAZ Birecik MYO - 2013 1 Joomla! Son derece çekici bir CMS yani İçerik Yönetim Sistemi dir. Size, internet sitelerinizi ve bağlı zor dinamik uygulamaları
1.adım : Sql serverda Stored procedure oluşturmamız gerekiyor. Şu adımları izliyoruz.
Merhaba arkadaşlar ben YbsSoftware ekibi adına Güven AYDOĞDU : ) Vize haftası olması dolayısıyla bu dersimizi yazarak anlatacağız. Dersimizin konusu Stored Procedure ile Kayıt ekleme, Kayıt Silme ve Kayıt
GtkD ile Görsel Programlama
GtkD ile Görsel Programlama Yazar: Mengü KAĞAN & Can Alpay ÇİFTÇİ www.tdsoftware.tr.cx Sıra GtkD'ye geldiğine göre D hakkında ciddi bir bilgiye sahipsiniz demektir. Eğer eksikleriniz varsa mutlaka D derslerini
MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş
MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü [email protected] Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101
Windows 2000 veya XP kurarken dosya sistemini seçmeniz gerekir. Ya FAT32 dosya sistemini kullanırsınız ya da NTFS.
Windows 2000 veya XP kurarken dosya sistemini seçmeniz gerekir. Ya FAT32 dosya sistemini kullanırsınız ya da NTFS. NTFS'nin FAT32'ye göre sağladığı bir çok avantajı vardır. Diski daha verimli kullanır.
Genel Programlama II
Genel Programlama II 08.03.2011 1 Çok Boyutlu Diziler Önceki derslerimizde dizileri görmüştük. Kısaca özetleyecek olursak, belirlediğimiz sayıda değişkeni bir sıra içinde tutmamız, diziler sayesinde gerçekleşiyordu.
AKINSOFT OtoPark. Yardım Dosyası
Yardım Dosyası Doküman Versiyon : 1.01.02 Tarih : 23.07.2012 1 1. ÇALIŞMA ŞEKLİ HAKKINDA KISA BİLGİ programı bütün kapalı ve açık otoparklar için geliştirdiği, araçların giriş-çıkış işlemleri, plaka tanıma
Yukarıdaki kod aksi belirtilmediği sürece sürekli çalışır. Yani ekrana sürekli Bilgisayar çıldırdı! yazısı gelir. Ancak;
break komutu: Döngüyü sonlandıran bir komuttur. Ör: while True: print("bilgisayar çıldırdı!") Çıktı: Sonsuz döngü Yukarıdaki kod aksi belirtilmediği sürece sürekli çalışır. Yani ekrana sürekli Bilgisayar
TAKSİ-DURAK MÜŞTERİ TAKİP PROGRAMI
TAKSİ-DURAK MÜŞTERİ TAKİP PROGRAMI Bu programa müşterilerinizi ekleyerek müşterilerinizin listesini takip edebilirsiniz, aynı zamanda müşterilerinize sms gönderebilir ve arayan müşterilerinizin listesini
ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI
NOT: Çalışma kâğıtları Algoritma Tasarımı ve Excel olmak üzere 2 kısımdan oluşmakta ve sınavda her ikisinin de çalışılması gerekmektedir. ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI Bu çalışma sayfalarında
ZİRVEDRİVEWEB YAZILIMI KULLANIM KILAVUZU
ZİRVEDRİVEWEB YAZILIMI KULLANIM KILAVUZU Kullanıcı Girişi:Giriş ekranınd dan kullanıcı adı ve şifre bilgileri girilip giriş butonuna basılaraksisteme giriş yapılır. Sistem Ekranı: 4 2 Klasörler Dosyalar
Bilgisayar. Bilgisayarın Özellikleri. Giriş İşleme Çıkış. Bilgisayar Nedir? Bilgisayarın Çalışma Prensibi 11.11.2013
Bilgisayar Bilgisayar Nedir? Kullanıcı tarafından girilen veriyi, bilgiyi, komutu programlandığı biçimde işleyip kullanılabilir bilgi veya anlaşılabilir sonuç haline dönüştüren ve bunları saklayabilen
NAZMİYE DEMİREL ORTAOKULU BİLİŞİM TEKNOLOJİLERİ DERSİ 1. DÖNEM 6. SINIFLAR DERS NOTU EXCEL 2007 DERS NOTLARI
EXCEL 2007 DERS NOTLARI Bir hesap tablosu programıdır. Excel, her türlü veriyi (özellikle sayısal verileri) tablolar ya da listeler halinde tutma ve bu verilerle ilgili ihtiyaç duyacağınız tüm hesaplamaları
Toplu Kayıt Kullanıcı Kitapçığı
OnSync Web Toplantı, Sanal Sınıf, Web ve Video Toplantı Servisi Toplu Kayıt Kullanıcı Kitapçığı 1 Öncelikle Etgi Grup u tercih ettiğiniz için teşekkür ederiz. OnSync sistemine giriş yapmadan önce toplu
Aşağıda listelenen temel linux komutları bilgisayarınızın komut satırında çalıtırılacaktır.
Genel amaçlı komutları Aşağıda listelenen temel linux komutları bilgisayarınızın komut satırında çalıtırılacaktır. help Kabuk komutlarının listesini gösterir. Bu komutların herbiri için help komut_ismi
Windows 7 Format Atma ve Kurulumu (Resimli Anlatım)
www.anasayfa.xyz Kasım 1, 2015 Windows 7 Format Atma ve Kurulumu (Resimli Anlatım) by www.anasayfa.xyz Bu yazımda windows 7 format atma işlemini detaylı bir şekilde anlatacağım. Ben format işlemini tüm
Python 2 için Türkçe Kılavuz
Python 2 için Türkçe Kılavuz Sürüm 2 Yazan: Fırat Özgül 28.08.2015 İÇİNDEKİLER 1 Temel Bilgiler 1 1.1 Python Hakkında................................... 1 1.2 Python u Nereden Bulabilirim?...........................
HESAP MAKİNASI YAPIMI
HESAP MAKİNASI YAPIMI 1..Aşağıdakine benzer görünüm ve butonları hazırlayın. 2. 24. Butonun içerisine aşağıdaki kodları yazın. 3. Yeni bir layer ekleyip Frame1 F9 na aşağıdaki kodları ekleyelim. 4. Butonlardan
