EEM-241 İleri Düzey Programlama
2024-2025 Güz Dönemi
Ders 4 - Python Programlama
Python kurmak için
- https://www.python.org/ sitesinden Python indirilebilir.
- (Önerilen) https://www.anaconda.com/download/success sitesinde Anaconda paketi indirilebilir. Bu durumda Python ile birlikte gerekli olabilecek başka programların kurulması da sağlanır.
Python programı yazmak için:
- not defterine program yazılır py uzantısı ile kaydedilir (Örneğin porgram.py). Komut penceresinden python program.py komutu ile program çalıştırılır.
- VSCode, Spyder, Pycharm gibi gelişmiş programlama ortamları kullanılır.
- Jupyter Notebook, Jupyter Lab (derste bu kullanılacak) gibi bilgisayarda çalışan veya Google colab gibi uzaktan çalışan jupyter türevi sistemler kullanılabilir.
Jupyter Lab kullanımı:
- Hücrelerdeki kodlar Pythona gönderir sonucu hücrenin altına yazdırır.
- Hücrenin üzerine çift tıklayarak veya ENTER tuşu ile edit moduna geçilir.
- ESC’ye basılarak veya hücrenin soluna tıklayarak komut moduna geçilir.
- Hüre seçili ile
- Ctrl+Enter (Çalıştır ve hücrede kal),
- Shift+Enter (Çalıştır ve aşağıdaki hücreye geç) veya
- Alt+Enter (Çalıştır ve aşağıda hücre ekle) ile hücredeki kodlar çalıştırılır.
- Komut modunda iken
- C: hücreyi kopyalar,
- X: hücreyi keser,
- V: hücreyi yapıştırır,
- D D: hücreyi siler,
- 0 0: Arka planda çalışan Python çekirdeğini yeniden başlatır,
- A: yukarı hücre ekler,
- B: aşağı hücre ekler.
Değişken Türleri
a=1
b=2
c=a+b
print(c)
c=1
a+b
3 3
a=1
type(a)
int
a=1.0
type(a)
float
a="isim soyisim"
type(a)
str
print fonksiyonu
print("merhaba", end=" ")
print("merhaba")
print("merhaba")
merhaba merhaba merhaba
print(a,b,c, sep="-")
1-2-1
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.
string türü
a="isim soyisim"
a.upper()
'ISIM SOYISIM'
Bir nesne ile ilgili kullanılabilecek fonksiyonlara dir
fonksiyonu ile bakılabilir.
dir(a)
['__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']
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']
örneğin tamsayı sınıfı için kullanılabilecek fonksiyonlar
dir(int)
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'as_integer_ratio', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes']
a
'isim soyisim'
a.count("i")
4
help(a.count)
Help on built-in function count: count(...) method of builtins.str instance S.count(sub[, start[, end]]) -> int Return the number of non-overlapping occurrences of substring sub in string S[start:end]. Optional arguments start and end are interpreted as in slice notation.
help(str.count)
Help on method_descriptor: count(...) S.count(sub[, start[, end]]) -> int Return the number of non-overlapping occurrences of substring sub in string S[start:end]. Optional arguments start and end are interpreted as in slice notation.
Değişken tanımlama
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.
a_1=1
a_1
1
# yorum satırı için # sembolu kullanılır
jupyter de kısayolu Ctrl+/ dir
a=1
A=2
# python büyük küçük harf duyarlıdır
a, A
(1, 2)