Dersler

View on GitHub

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

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("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 
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