logo
eng-flag

Python Notları ve İpuçları

İçindekiler

  1. Temel Söz Dizimi
  2. Veri Türleri
  3. Değişkenler
  4. Operatörler
  5. Kontrol Akışı
  6. Fonksiyonlar
  7. Veri Yapıları
  8. Dosya İşleme
  9. İstisna İşleme
  10. Nesne Yönelimli Programlama
  11. Modüller ve Paketler

Temel Söz Dizimi

Yorumlar

# Bu bir tek satırlık yorum

"""
Bu bir
çok satırlı yorum
"""

Girinti

Python, kod bloklarını tanımlamak için girinti kullanır. Genellikle, girinti için 4 boşluk kullanılır.

if True:
    print("Bu girintili")
    if True:
        print("Bu daha da girintili")

Veri Türleri

Sayısal Türler

# Tam sayı
x = 5
print(type(x))  # <class 'int'>

# Ondalıklı sayı
y = 5.0
print(type(y))  # <class 'float'>

# Karmaşık sayı
z = 1 + 2j
print(type(z))  # <class 'complex'>

Dize

s1 = 'Tek tırnak'
s2 = "Çift tırnak"
s3 = '''Üçlü tırnak ile
çok satırlı dizeler'''

# Dize işlemleri
print(len(s1))  # 13
print(s1 + " " + s2)  # Birleştirme
print(s1[0])  # 'T'
print(s1[0:6])  # 'Tek tırnak'

Boolean

a = True
b = False
print(type(a))  # <class 'bool'>

Değişkenler

# Değişken ataması
x = 5
y = "Merhaba"

# Birden fazla atama
a, b, c = 1, 2, 3

# Sabitler (geleneksel olarak büyük harfler kullanılır)
PI = 3.14159

Operatörler

Aritmetik Operatörler

a, b = 10, 3

print(a + b)  # Toplama: 13
print(a - b)  # Çıkarma: 7
print(a * b)  # Çarpma: 30
print(a / b)  # Bölme: 3.3333...
print(a // b)  # Tam sayı bölme: 3
print(a % b)  # Modül: 1
print(a ** b)  # Üs alma: 1000

Karşılaştırma Operatörleri

x, y = 5, 10

print(x == y)  # Eşit: False
print(x != y)  # Eşit değil: True
print(x > y)   # Büyük: False
print(x < y)   # Küçük: True
print(x >= y)  # Büyük veya eşit: False
print(x <= y)  # Küçük veya eşit: True

Mantıksal Operatörler

a, b = True, False

print(a and b)  # Mantıksal VE: False
print(a or b)   # Mantıksal VEYA: True
print(not a)    # Mantıksal DEĞİL: False

Kontrol Akışı

If-Else Deyimi

x = 10

if x > 0:
    print("Pozitif")
elif x < 0:
    print("Negatif")
else:
    print("Sıfır")

For Döngüsü

# Bir diziyi yinelemek
for i in [1, 2, 3]:
    print(i)

# range kullanarak
for i in range(5):
    print(i)  # 0'dan 4'e kadar yazdırır

# Enumerate
for index, value in enumerate(['a', 'b', 'c']):
    print(f"İndeks: {index}, Değer: {value}")

While Döngüsü

count = 0
while count < 5:
    print(count)
    count += 1

Break ve Continue

for i in range(10):
    if i == 3:
        continue  # 3'ü atla
    if i == 8:
        break  # 8'de dur
    print(i)

Fonksiyonlar

Fonksiyon Tanımlama ve Çağırma

def greet(name):
    return f"Merhaba, {name}!"

print(greet("Alice"))  # Merhaba, Alice!

Varsayılan Argümanlar

def power(base, exponent=2):
    return base ** exponent

print(power(3))     # 9
print(power(3, 3))  # 27

*args ve **kwargs

def func(*args, **kwargs):
    print("Pozisyonel:", args)
    print("Anahtar kelime:", kwargs)

func(1, 2, 3, a=4, b=5)
# Pozisyonel: (1, 2, 3)
# Anahtar kelime: {'a': 4, 'b': 5}

Lambda Fonksiyonları

square = lambda x: x ** 2
print(square(5))  # 25

Veri Yapıları

Listeler

fruits = ['elma', 'muz', 'kiraz']

# Elemanlara erişim
print(fruits[0])  # elma

# Elemanları değiştirme
fruits[1] = 'yaban mersini'

# Eleman ekleme
fruits.append('hurma')
fruits.insert(1, 'portakal')

# Eleman kaldırma
fruits.remove('kiraz')
popped = fruits.pop()

# Dilimleme
print(fruits[1:3])  # ['portakal', 'yaban mersini']

# Liste anlama
squares = [x**2 for x in range(5)]
print(squares)  # [0, 1, 4, 9, 16]

Demetler

# Demetler değiştirilemez
coordinates = (3, 4)
x, y = coordinates  # Açıklama

# Tek bir elemanlı demet oluşturma
single_element = (1,)

Sözlükler

person = {
    'isim': 'John',
    'yaş': 30,
    'şehir': 'New York'
}

# Değerlere erişim
print(person['isim'])  # John

# Anahtar-değer çiftlerini ekleme/değiştirme
person['meslek'] = 'Mühendis'
person['yaş'] = 31

# Anahtar-değer çiftlerini kaldırma
del person['şehir']

# Sözlük yöntemleri
print(person.keys())
print(person.values())
print(person.items())

# Sözlük anlama
squared = {x: x**2 for x in range(5)}
print(squared)  # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

Kümeler

fruits = {'elma', 'muz', 'kiraz'}

# Eleman ekleme
fruits.add('hurma')

# Eleman kaldırma
fruits.remove('muz')

# Küme işlemleri
set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 | set2)  # Birleşim
print(set1 & set2)  # Kesişim
print(set1 - set2)  # Fark

Dosya İşleme

Dosyadan Okuma

# Tüm dosyayı okuma
with open('file.txt', 'r') as f:
    content = f.read()

# Satır satır okuma
with open('file.txt', 'r') as f:
    for line in f:
        print(line.strip())

Dosyaya Yazma

with open('file.txt', 'w') as f:
    f.write("Bu bir test dosyası.
")

# Varolan dosyanın sonuna yazma
with open('file.txt', 'a') as f:
    f.write("Bu eklenen bir satır.
")

İstisna İşleme

Try-Except Bloğu

try:
    x = 1 / 0
except ZeroDivisionError:
    print("Sıfıra bölme hatası!")

try:
    x = int("a")
except ValueError:
    print("Değer hatası!")

# Finally bloğu
try:
    x = 1 / 0
except ZeroDivisionError:
    print("Sıfıra bölme hatası!")
finally:
    print("Bu blok her zaman çalışır.")

İstisna Fırlatma

def divide(a, b):
    if b == 0:
        raise ValueError("Bölme sıfıra yapılamaz")
    return a / b

try:
    result = divide(5, 0)
except ValueError as e:
    print(e)

Nesne Yönelimli Programlama

Sınıflar ve Nesneler

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def greet(self):
        return f"Merhaba, ben {self.name} ve {self.age} yaşındayım."

person = Person('Alice', 30)
print(person.greet())  # Merhaba, ben Alice ve 30 yaşındayım.

Miras

class Student(Person):
    def __init__(self, name, age, student_id):
        super().__init__(name, age)
        self.student_id = student_id

    def greet(self):
        return f"Merhaba, ben {self.name} ve {self.age} yaşındayım. Öğrenci ID'm {self.student_id}."

student = Student('Bob', 22, 'S123')
print(student.greet())  # Merhaba, ben Bob ve 22 yaşındayım. Öğrenci ID'm S123.

Modüller ve Paketler

Modülleri İçeri Aktarma

import math
print(math.pi)  # Pi sayısı

from datetime import datetime
print(datetime.now())  # Şu anki tarih ve saat

import random as rd
print(rd.randint(1, 10))  # 1 ile 10 arasında rastgele bir sayı

Bir Modül Oluşturma

# mymodule.py içinde
def greet(name):
    return f"Merhaba, {name}!"

# main.py içinde
import mymodule
print(mymodule.greet("Alice"))  # Merhaba, Alice!

Paketlerle Çalışma

# Paket yapısının varsayıldığı durum:
# mypackage/
#     __init__.py
#     module1.py
#     module2.py

# main.py içinde
from mypackage import module1
from mypackage.module2 import some_function

2024 © Tüm hakları saklıdır - buraxta.com