Burada yazılanların tamamı Python 3.x sürümleri için geçerlidir.
Windows'a Python Kurulumu
Windows'a Python kurarken Add Python xxx to PATH kutucuğunu işaretle. Bunu işaretlediğinde CMD üzerinde python komutu ile direkt python'ı açabileceksin.
Python'da bir verinin tipini sorgulamak için şu komut kullanılır. type()
Örnekler;
>>> type("Elma")
<class 'str'>
>>> type("2")
<class 'str'>
>>> type(2)
<class 'int'>
>>> type(2.222)
<class 'float'>
Karakter dizilerinde(string) birleştirme işlemi
>>> print("noteformyself" + ".com")
noteformyself.com
>>>
#veya
>>> print("noteformyself" ".com")
noteformyself.com
>>>
Karakter dizilerinde(string) çarpma işlemi
>>> print("w" * 3 + ".noteformyself.com")
www.noteformyself.com
Bir verinin karakter sayısını bulmak (integer tipinde kullanılamaz)
>>> len("www.noteformyself.com")
21
Değişken tanımlama
#Değişken tanımla
>>> a = 5
>>> b = "beş"
#Değişkenleri yaz
>>> print(a)
5
>>> print(b)
beş
>>> print(a,b)
5 beş
Değişken isimleri kuralları
- Değişkenler sayı ile başlayamaz. Örneğin; 1degisken = a şeklinde kullanım yanlıştır.
- Değişkenler aritmetik işleçlerle başlayamaz. Örneğin -degisken=a şeklinde kullanım yanlıştır.
- Değişkenler yalnızca harf veya alt çizgi (_) ile başlamalıdır.
- Değişkenler Türkçe karakterler içerebilir ama önerilmez.
- Aşağıdaki kelimeler değişken olarak kullanılamaz. Çünkü bunlar zaten Python'da kullanılmaktadır.
>>> import keyword >>> keyword.kwlist ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] >>>
-
Değişkenlere python fonksiyonlarının isimlerinin kullanılmaması önerilir. Örneğin len=1 şeklinde bir değişken atarsanız len() fonksiyonu çalışmayacaktır.
>>> len=1 >>> len("noteformyself") Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object is not callable
-
Değişken isminde boşluk olamaz.
Atanan bir değişkeni silmek
del degiskenadi
Bir sayının kuvvetini bulmak
degisken1 = 2
ucuncukuvvet = degisken1 * degisken1 * degisken1
#veya
ucuncukuvvet = degisken1 ** 3
Aynı değeri birden fazla değişkene atamak.
>>> degisken1 = degisken2 = 10
>>> print(degisken1)
10
>>> degisken2
10
>>>
Degişkenlerdeki değerleri diğer değişkenlerle takas etmek
>>> degisken1 = 50
>>> degisken2 = 60
>>> print(degisken1, degisken2)
50 60
>>> degisken1,degisken2 = degisken2,degisken1
>>> print(degisken1)
60
>>> print(degisken2)
50
>>>
Print Fonksiyonu
Print fonksiyonu ekrana veri yazmak için kullanılır.
Print fonksiyonu ile karakter dizileri üç farklı şekilde ekrana yazdırılabilir. Üç kullanımda da çıktı aynı olacaktır.
>>> print("noteformyself.com")
noteformyself.com
>>> print('noteformyself.com')
noteformyself.com
>>> print("""noteformyself.com""")
noteformyself.com
Eğer yazdıracağımız karakter dizisinin içinde tek tırnak(') veya çift tırnak(") varsa print komutu şu şekilde kullanılmalıdır.
print("Tek tırnak ' bu şekilde yazılır.")
print('Çift tırnak " bu şekilde yazılır.')
Veya hiç bunlarla uğraşmayayım her durumda karakter dizisindeki haliyle görünsün istiyorsanız şu şekilde kullanılmalıdır.
print("""tek tırnak ' veya çift tırnak " yazalım.""")
Print fonksiyonuna birden fazla parametre gönderdiğimizde python çıktıya her bir parametre arasına boşluk koyar.
>>> print('https://','www.','noteformyself','.com')
https:// www. noteformyself .com
Bu boşluklar yukarıdaki örnekte de görüldüğü gibi bazen anlamlı olmayabilir. Bunu aşmanın yolu sep parametresini kullanmaktan geçer. Sep parametresi print komutuna yüklenen her bir değer arasına istenen karakteri yerleştirir. sep parametresine hiçbir değer vermezsek bunu boşluk olarak algılar. Şu şekilde boşlukları kaldırabiliriz.
>>> print('https://','www.','noteformyself','.com', sep="")
https://www.noteformyself.com
#veya
>>> print('https://','www.','noteformyself','.com', sep='')
https://www.noteformyself.com
Veya bu şekilde her aralığa nokta da koyabiliriz.
>>> print('https://www','noteformyself','com',sep=".")
https://www.noteformyself.com
Print fonksiyonu içinde satır atlama.
>>> print("Veri 1\n","Veri 2\n","Veri 3", sep="")
Veri 1
Veri 2
Veri 3
#veya
>>> print("Veri1","Veri2","Veri3",sep="\n")
Veri1
Veri2
Veri3
end parametresi
Yalnızca son parametrenin peşine istediğimiz veriyi yazdırır. end parametresinin ön tanımlı değeri \n 'dir.
Veri3.>>> print("Veri1","Veri2","Veri3",sep="\n", end=".\n")
Veri1
Veri2
Veri3.
file parametresi
print fonksiyonuna ait çıktının dosyaya yazdırılmasını sağlar. Standart olarak dosyaya değil ekrana yazdırır. Yani default değer sys.stdout.
dosyaadi = open("dosyamiz.txt", "w") #dosyamiz adında dosya oluşturuyoruz ve w parametresi ile bu dosyayı yazma modunda açıyoruz.
print("Dosyaya yazılacak veri.", file=dosyaadi) #dosyaya yazmak üzere belleğe yazıyoruz
dosyaadi.close() #dosyayı kapatıyoruz
import os
print(os.getcwd()) #Hangi dizinde olduğumuza bakıyoruz.
sys.stdout yani print fonksiyonunun çıktısını program boyunca kalıcı olarak değiştirme.
import sys
dosyayayaz = open("dosyamiz.txt", "w")
sys.stdout = dosyayayaz
print("yazalım duralım.", flush=True)
flush parametresi
Dosyaya yazmak üzere print fonksiyonunda kullanılan değerlerin ram'de bekletilmeden direkt dosyaya yazılması için kullanılır. Default olarak false'dur. Yani dosyayı kapadığımızda dosyaya yazar. Eğer direkt yazılsın istiyorsak şu şekilde kullanmalıyız.
dosyaadi = open("dosyamiz.txt", "w") #dosyamiz adında dosya oluşturuyoruz ve w parametresi ile bu dosyayı yazma modunda açıyoruz.
print("Dosyaya yazılacak veri.", file=dosyaadi, flush=True) #dosyaya yazıyoruz
Print fonksiyonu ile verileri parçalara ayırmak
>>> print(*"noteformyself")
n o t e f o r m y s e l f
>>> print(*"noteformyself", sep="-")
n-o-t-e-f-o-r-m-y-s-e-l-f
>>>
Kaçış Dizileri
Uzun metin yazarken satır atlayayım fakat çıktıda satır atlamasın sadece kodum göze hoş görünsün derseniz.
>>> print("Kara kara kartallar\
... karlı iyi tarlalar\
... ararlar.")
Kara kara kartallarkarlı iyi tarlalarararlar.
>>>
Print komutu çıktısında satır atlamak için.
>>> print("alt satıra geçelim \nAlt satıra geçtik")
alt satıra geçelim
Alt satıra geçtik
>>>
\n ile ilgili başka bir örnek
>>> baslik = "noteformyself.com"
>>> print("*"*len(baslik),"\n",*baslik,"\n", "*"*len(baslik), sep="")
*****************
noteformyself.com
*****************
>>>
\ Kaçış Dizisi
Şu gibi karışıklıkları engeller.
#bu şekilde hata verecektir.
>>> print('Ali'nin kitabı')
File "<stdin>", line 1
print('Ali'nin kitabı')
^
SyntaxError: invalid syntax
>>>
# / kaçış dizisiyle hatadan kurtuluruz.
>>> print('Ali\'nin kitabı')
Ali'nin kitabı
#veya şu kullanım hatalı olacaktır.
>>> print("Aradığınız dosya C:\nazanoncel isimli klasörde bulunuyor.")
Aradığınız dosya C:
azanoncel isimli klasörde bulunuyor.
>>>
#Bu hatadan şu şekilde kurtulunur.
>>> print("Aradığınız dosya C:\\nazanoncel isimli klasörde bulunuyor.")
Aradığınız dosya C:\nazanoncel isimli klasörde bulunuyor.
>>>
\t Kaçış Dizisi
Program \t gördüğü yerde tab kullanır. Bu da diğer kaçış dizeleri gibi print fonksiyonuna parametre olarak gönderilmiş mi kontrol edilmelidir ki \ ve \n örneklerindeki gibi hata vermesin.
\a Kaçış Dizisi
Program \a gördüğü yerde zil sesi çıkarar(Windows) dolayısıyla örneğin dosya yolu belirtirken diğer kaçış dizilerinde olduğu gibi bunda da kodlar kontrol edilmelidir.
\r Kaçış Dizisi
Satırın başına gider ve veriyi yazar. (Üzerine yazdığına dikkat tedin.
>>> print("kara kara kartallar\rkarlı iyi tarlalar ararlar mı? evet ararlar")
karlı iyi tarlalar ararlar mı? evet ararlar
>>> print("kara kara kartallar\rkarlı")
karlıkara kartallar
>>>
\v Kaçış Dizisi
Alt satıra geçer ve bir sekme içeri girer(Tab gibi) (Her sistemde çalışmaz, dolayısıyla kullanımı önerilmez ama programın hata vermemesi adına kodlar kontrol edilmelidir.
\b Kaçış Dizisi
imleci bir karakter geriye kaydırır, kaydırdığı karakterin üzerine yazar.
\u Kaçış Dizisi
Unicode sisteminde yazmak için kullanılır.
>>> print("\u0061")
a
>>> print("\u0130")
İ
>>>