EEM-251 İleri Düzey Programlama
2022-2023 Güz Dönemi Ders 8
Python programlama
print("Merhaba dünya!")
Merhaba dünya!
mesaj="merhaba dünya"
print(mesaj)
merhaba dünya
mesaj='merhaba dünya'
print(mesaj)
merhaba dünya
# yorum satırı
Değişken isimlendirme kuralları ve önerileri
- Değişkenler numara başlayamaz: 1a hatalı, a1 doğru
- Değişken kelimeleri arasında boşluk bırakılmaz, boşluk yerine _ kullanılır: “bir değişken” hatalı, bir_degisken doğru
- Python anahtar kelimeleri değişken olarak kullanılmamalıdır. print=1 hatalı, print_=1 şeklinde kullanılabilir.
- Anlamlı değişken isimleri kullanmak faydalı olur. t=0 yerine toplam=0 gibi.
isim = "ada lovelace"
type(isim)
str
Bir nesne ile ilgili kullanılabilecek metodlara dir komutu ile bakılabilir.
dir(str)
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
help komut ile fonksiyonlarla (metod) ilgili bilgi alınabilir.
help(str.title)
Help on method_descriptor: title(self, /) Return a version of the string where each word is titlecased. More specifically, words start with uppercased characters and all remaining cased characters have lower case.
dir ve help komutları aşağıdaki şekilde de kullanılabilir.
dir(isim)
help(isim.title)
print(isim)
ada lovelace
print(isim.title())
Ada Lovelace
f-string
isim="ada"
soyisim="lovelace"
isim_soyisim=f"{isim} {soyisim}"
print(isim_soyisim)
ada lovelace
isim="ada"
soyisim="lovelace"
isim_soyisim=f"{isim} {soyisim}"
print(isim_soyisim)
mesaj=f"Merhaba {isim_soyisim.title()}"
print(mesaj)
ada lovelace Merhaba Ada Lovelace
print() fonksiyonu
print("programlama dilleri:\nPyhon\nC\nJava")
programlama dilleri: Pyhon C Java
print("programlama dilleri:")
print("Pyhon")
print("C")
print("Java")
programlama dilleri: Pyhon C Java
print("programlama dilleri:")
print("\tPyhon")
print("\tC")
print("\tJava")
programlama dilleri: Pyhon C Java
mesaj="Python'un çok değişik kullanım alanı var."
print(mesaj)
Python'un çok değişik kullanım alanı var.
mesaj='Python\'un çok değişik kullanım alanı var.'
print(mesaj)
Python'un çok değişik kullanım alanı var.
mesaj="\"Python'un\" çok değişik kullanım alanı var."
print(mesaj)
"Python'un" çok değişik kullanım alanı var.
Aritmetik operatörler
3-9
-6
2+3
5
2*3
6
9*1.1
9.9
10/3
3.3333333333333335
# tam sayı bölmesi
10//3
3
$m^n$ şeklind üs almak için
2**13
8192
print(2+3*4)
print((2+3)*4)
14 20
#buyuk sayılarda _ kullanılabilir.
a=1_000_000_000
a
1000000000
Değişkenlere değer atama
a=10
b=20
c=30
print(a,b,c)
10 20 30
a,b,c=20,30,40
print(a,b,c)
20 30 40
x=10
y=20
z=30
x,y,z
(10, 20, 30)
x,y,z=20,30,40
x,y,z
(20, 30, 40)
x=y=z=100
x,y,z
(100, 100, 100)
Listeler
arabalar=["toyata", "bmw","audi","opel","tata"]
print(arabalar)
['toyata', 'bmw', 'audi', 'opel', 'tata']
arabalar[0]
'toyata'
arabalar[3]
'opel'
arabalar[-1]
'tata'
arabalar[-2]
'opel'
print(f"aracımın markası {arabalar[2].title()}")
aracımın markası Audi
arabalar
['toyata', 'bmw', 'audi', 'opel', 'tata']
arabalar.append("tesla")
arabalar
['toyata', 'bmw', 'audi', 'opel', 'tata', 'tesla']
help(arabalar.insert)
Help on built-in function insert: insert(index, object, /) method of builtins.list instance Insert object before index.
arabalar.insert(0, "togg")
arabalar
['togg', 'toyata', 'bmw', 'audi', 'opel', 'tata', 'tesla']
arabalar.insert(3, "togg")
arabalar
['togg', 'toyata', 'bmw', 'togg', 'audi', 'opel', 'tata', 'tesla']
del arabalar[3]
arabalar
['togg', 'toyata', 'bmw', 'audi', 'opel', 'tata', 'tesla']
arabalar.remove("tata")
arabalar
['togg', 'toyata', 'bmw', 'audi', 'opel', 'tesla']
arabalar listesi ile kullanılabilecek metodlar dir komutu ile listelenebilir.
dir(arabalar)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
listede sıralama komutu
arabalar.sort()
arabalar
['audi', 'bmw', 'opel', 'tesla', 'togg', 'toyata']
help(arabalar.sort)
Help on built-in function sort: sort(*, key=None, reverse=False) method of builtins.list instance Sort the list in ascending order and return None. The sort is in-place (i.e. the list itself is modified) and stable (i.e. the order of two equal elements is maintained). If a key function is given, apply it once to each list item and sort them, ascending or descending, according to their function values. The reverse flag can be set to sort in descending order.
arabalar.sort(reverse=True)
arabalar
['toyata', 'togg', 'tesla', 'opel', 'bmw', 'audi']
arabalar[0]
'toyata'
arabalar[-1]
'audi'
for döngüsünün liste ile kullanımı
for araba in arabalar:
print(araba)
toyata togg tesla opel bmw audi
for araba in arabalar:
print(araba.title())
Toyata Togg Tesla Opel Bmw Audi
for araba in arabalar:
print(f"araba adı: {araba.title()}")
araba adı: Toyata araba adı: Togg araba adı: Tesla araba adı: Opel araba adı: Bmw araba adı: Audi
for araba in arabalar:
print(f"araba adı: {araba.title()}")
print("arabalar yazdırıldı")
araba adı: Toyata araba adı: Togg araba adı: Tesla araba adı: Opel araba adı: Bmw araba adı: Audi arabalar yazdırıldı
for araba in arabalar:
print(f"araba adı: {araba.title()}")
print("arabalar yazdırıldı")
araba adı: Toyata arabalar yazdırıldı araba adı: Togg arabalar yazdırıldı araba adı: Tesla arabalar yazdırıldı araba adı: Opel arabalar yazdırıldı araba adı: Bmw arabalar yazdırıldı araba adı: Audi arabalar yazdırıldı
range komutu
for i in range(10):
print(i)
0 1 2 3 4 5 6 7 8 9
help(print)
Help on built-in function print in module builtins: print(...) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream.
for i in range(10):
print(i, end=" ")
0 1 2 3 4 5 6 7 8 9
help(range)
Help on class range in module builtins: class range(object) | range(stop) -> range object | range(start, stop[, step]) -> range object | | Return an object that produces a sequence of integers from start (inclusive) | to stop (exclusive) by step. range(i, j) produces i, i+1, i+2, ..., j-1. | start defaults to 0, and stop is omitted! range(4) produces 0, 1, 2, 3. | These are exactly the valid indices for a list of 4 elements. | When step is given, it specifies the increment (or decrement). | ... devamı var.
for i in range(3,10):
print(i, end=" ")
3 4 5 6 7 8 9
for i in range(3,10,2):
print(i, end=" ")
3 5 7 9
for i in range(4,10,2):
print(i, end=" ")
4 6 8
range(5,25,3)
range(5, 25, 3)
list(range(5,25,3))
[5, 8, 11, 14, 17, 20, 23]
for i in range(1,11):
print(i*i,end=" ")
1 4 9 16 25 36 49 64 81 100
for i in range(1,11):
print(i**3,end=" ")
1 8 27 64 125 216 343 512 729 1000
- Boş listeye döngü ile eleman eklenemsi
sayilarin_kupleri=[]
for i in range(1,11):
sayilarin_kupleri.append(i**3)
print(sayilarin_kupleri)
[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
for kup in sayilarin_kupleri:
print(kup)
1 8 27 64 125 216 343 512 729 1000
min max ve sum fonksiyoları
min(sayilarin_kupleri)
1
max(sayilarin_kupleri)
1000
sum(sayilarin_kupleri)
3025