👨🏻‍💻 Notlarım Logo

Notlarım

  • ⁉️ Notlar Hakkında
    • Eğitim veya Ders Amaçlı Değildir
    • Yarı Türkçe ve Yarı İngilizce Notlar
    • İçerik Doğruluğu
    • Dilbilgisi Hataları ve Düşük Cümleler
    • İçerik Yarım ve Canlıdır
    • İçerik Yarım ve Eskidir
  • 👷 Buildroot
    • 📝 Notlarım
      • 📹 Buildroot İle Gömülü Linux: Başlıyoruz!
        • Bağlantılar
      • 📹 Gömülü (Embedded) Linux nedir? Buildroot ve Yocto ne işe yarar?
        • Videoda Geçen Bağlantılar
        • Notlar
      • 📹 Buildroot ile Tanşıyoruz
        • Videoda Geçen Bağlantılar
        • Notlar
      • 📹 Buildroot ile ilk derleme!
        • Geliştirme Ortamının Oluşturulması 💻
        • Buildroot’un Edinilmesi ⬇️
        • Paketlerin Kurulması 📦
        • Buildroot’u Kullanmaya Başlama 🚀
        • Derleyelim 🛠️
        • Kapanış
  • 🇨 C
    • 📝 Notlarım
      • 📜 History of C
        • 70s
        • 80s
        • 90s
        • 2000s
        • Standards Summarized
        • UNIX and C
        • Long live C!
        • Related
        • Resources
        • Changelog
      • 🌈 15 Features of The C Programming Language
        • 🤖 artificial
        • 🔨 compiled
        • 💚 efficient
        • 🎨 expressive
        • ⭕ general purpose
        • 👮 imperative
        • ⬇ middle-low level
        • 🆓 non-proprietary
        • 🎊 popular
        • 👜 portable
        • 〽 procedural
        • 📓 standard
        • ⚓ statically typed
        • 🏗️ structured
        • 〰 weakly typed
        • 📚 Resources
      • 🏗️ Bir C Programı Derlenirken Olanlar
        • Derleme Adımları
        • Time’lar
        • Kaynaklar
      • 🔤 Character Set(s) - Karakter Set(leri)
        • Basic ve Extended Karakterler
        • Escape Sequence
        • Null Character
        • Basic Source ve Execution Character Sets
        • Trigraph sequences ??x
        • Kaynaklar
      • 🔨 Translation Phases - Çevirim Aşamaları
        • Faz 1
        • Faz 2
        • Faz 3
        • Faz 4
        • Faz 5
        • Faz 6
        • Faz 7
        • Faz 8
        • Kaynaklar
      • 📚 Resources
        • Standard Documents
        • Web
        • Online Compilers
        • Exercise
        • Books
    • Diğer İçerikler
      • 220 saatlik C kursu alınır mı?
        • Aldığım kurs
        • C ve Sistem Programcıları Derneği (CSD)
        • Kurs kimler için uygun ve değil? 🤷‍♂️
        • Kurs tarihçesi ⏳
        • Kurs pahalı 💰 ve uzun mu ⏱️? Diğer kurumsal kurslar? Udemy?
        • Kurumsal, özel sınıf ders 🏢
        • Gömülü (Embedded) C anlatılıyor mu?
        • Okula faydası olur mu? 🏫
        • Mülakatlara hazırlık 👔
        • Programlamayı yeni öğrenenler için? 🐣
        • Kaan Aslan vs Necati Ergin ⚔️
        • Olası mutsuzluklar 😔
        • Kursu alacaklara öneriler 💡
        • Meraklılara… 🔍
      • Do not let the structure padding ruin your day
        • Moral of the story
      • C programlamada gördüğüm en sık yapılan hata
        • Bu neden hatalı?
        • Bu hatayı neden yapıyoruz?
        • Örnek
        • Derleme sırasında yakalayalım
        • Özetle
      • Programlama dillerinde Statik ve Dinamik Tür kavramı
        • Python, Dinamik Tür Kavramına Örnek
        • C, Statik Tür Kavramına Örnek
        • İlgili
        • Kaynaklar
      • Yoda Notation
        • Further Read
      • C is a procedural language
        • resources
      • C is an imperative language
        • imperative vs declarative
        • a declarative example
        • computer architecture and imperative programming
        • functional programming
        • summary
        • resources
  • 🤯 C++
    • 📝 Notlarım
    • 📚 Kaynaklar
  • ♾️ DevOps
    • 🧰 Araçlar
      • Asciinema
        • Kurulum ve Kullanım
        • Online ve Self-Hosted Kullanım
      • 📹 Linux Terminalinizi Kaydedin ve Paylaşın! asciinema ile Tanışın!
        • Bağlantılar
        • Jekyll ve asciinema Kullanımı
        • Sphinx ve asciinema Kullanımı
        • İlginizi Çekebilir
      • CyberChef
      • draw.io
      • Excalidraw
      • HedgeDoc
      • Jirafeau
      • JSON Editor Online
      • Uptime Kuma
      • Mattermost
      • Word to Markdown Converter
    • GitLab
      • CI/CD Variables
        • Kaynaklar
      • Gitlab Private Container Registry, Runner Konfigürasyonu
        • Access Token Oluşturulması
        • Runner Konfigürasyonu
        • Test
    • Podman
      • Podman Kurulumu
        • /etc/subuid ve /etc/subgid
      • Podman’i Self Hosted Registry İle Kullanma
  • 🪦 Gömülü Sistemler
    • 🤝 Arayüzler
      • Modbus
        • Protokol
        • MODBUS PDU
        • Data Encoding
        • Data Model
        • Function Codes
        • Kaynaklar
      • Modbus RTU
        • Master State Diagram
        • Slave State Diagram
        • Örnek Akış
        • Transmission Modes
        • RTU
        • CRC
        • Framing
      • Modbus Function Codes
        • Read Coils, 0x01
        • Read Discrete Inputs, 0x02
        • Read Holding Registers, 0x03
        • Read Input Registers, 0x04
        • Write Single Coil, 0x05
        • Write Single Register, 0x06
        • Read Exception Status, 0x07
        • Diagnostics, 0x08
        • Get Comm Event Counter, 0x0B ve Get Comm Event Log, 0x0C
        • Write Multiple Coils, 0x0F
        • Write Multiple Registers, 0x10
        • Report Server ID, 0x11
        • Read File Record, 0x14
        • Write File Record, 0x15
        • Mask Write Register, 0x16
        • Read/Write Multiple registers, 0x17
        • Read FIFO Queue, 0x18
        • Encapsulated Interface Transport, 0x2B
        • MODBUS Exception Responses
    • Temel Kavramlar
      • 📹 Gömülü (Embedded) C ???
        • Videoda Geçen Bağlantılar
      • 📹 GÖMÜLÜ YAZILIMIN olmazsa olmazı CROSS COMPILATION nedir?
        • Notlar
      • 📹 Hard ve Soft Processor (İşlemci) ve IP Kavramı, FPGA ve SoC’ler
        • Notlar
  • 🐧 Linux Aygıt Sürücü
    • 📝 Notlarım
      • Aygıt Sürücüleri ve Çekirdek Modülleri
        • Gerekli Dosyaların Elde Edilmesi
        • Kernel Fonksiyonları
        • Kernel Modüllerinin Derlenmesi ve Link Edilmesi
        • Kaynaklar
      • “Merhaba Dunya!”
        • Kernel’e Modülün Yüklenmesi ve Çıkartılması
        • Kaynaklar
      • 3
        • Kaynaklar
    • 📚 Kaynaklar
  • 🐧 Linux Sistem Programlama
    • 📝 Notlarım
      • Linux Sistem Programlama nedir? + bazı SSS
        • Sistem Programlama nedir?
        • Linux Sistem Programlama nedir?
        • Bu Seri Hakkında
        • Kaynaklar
      • Soyutlama Katmanları, Arayüzler ve Standart C Kütüphanesi
        • Standart C Kütüphanesi ve POSIX Fonksiyonları
        • Daha Yüksek Seviyeli Diller
        • Özet
        • Öneriler ve Kaynaklar
      • POSIX, SUS ve LSB
        • Özet
        • Kaynaklar
      • Linux Kernel Arayüzü
        • Kaynaklar
      • man Sayfalarında Yolumuzu Bulma
        • Yerel man sayfaları
        • Section(s)
        • GNU Info System
        • GUI Yardım Araçları
        • Online
        • Kaynaklar
      • Merhaba Dünya!
        • 🛣️ strace
        • 🪨 Statik Bağlama, Static Linking
        • 🏃 libc’den Kaçış
        • Assembly
        • 📁 Her yer dosya!
        • stdio.h, stdin, stdout, stderr
        • write()
        • Özet
        • İlgili Kaynaklar
      • size_t ve ssize_t Sorunsalı
        • Uçtan Uca
        • Özet
      • Hata Durumları, errno
        • errno
        • POSIX ve Sistem Fonksiyonları
        • errno Değerleri
        • Bakınız
      • Dosya Yaratma ve Açma: open()
      • Process Kavramı
        • Prosesler ile İlgili Komutlar
        • task_struct
        • PID
        • getpid() ve pid_t
        • Kullanıcı ve Grup ID
        • uid_t ve gid_t
        • Bakmaya Değer
      • Dosya Dizin İzin
        • Dosya Türleri
        • Dosya İzinleri
        • Dizin İzinleri
      • Inode Kavramı
        • Bazı Terimler
        • inode Kavramı
        • inode Temelli Dosya Sistemleri
        • İlgili Kaynaklar
      • rwx, Dosya, Dizin
        • İzinlerin Kontrol Sırası
        • Tekrar: Dizin ve inode Kavramı
        • Özet
        • İlgili Bağlantılar
      • Dizin İzinleri
        • Oda, Kapı, Kilit, Cam
        • r--
        • -w-
        • --x
        • rw-
        • r-x
        • -wx
        • rwx
        • ---
        • Özet
        • Dosya İzinleri
        • Kaynaklar
      • Soft Link ve Hard Link Kavramları
        • Hard Link
        • Soft Link (Symlink)
      • . and ..
        • Are they virtual or real?
        • Symlinks, Weird cd and pwd Behavior on . and ..
      • Özel Dosya İzinleri
        • Sticky Bit (1000)
        • Set UID, SUID (4000)
        • Set GID, SGID (2000)
        • Kaynaklar
      • DAC, ACL, MAC
        • DAC, Discretionary Access Controls
        • MAC, Mandatory Access Controls
        • ACL, Access Control List
        • Kaynaklar
      • Zaman Paylaşımlı Çalışma (Time Sharing Execution)
        • Quanta ve Context Switch Kavramları
        • Preemption Kavramı
        • Çok Çekirdekli Sistemler
        • Bloke Olma, Blocking Kavramı
        • I/O ve CPU Bound yani Yoğun Thread’ler
        • Örnek
        • time Programı
        • Kaynaklar
      • Sayfalama, Paging
        • Sanal Adres, Virtual Address
        • Sayfa Tablosu, Page Table
        • Ama neden?
        • Bölünme, Parçalanma, Fragmentation
        • Kaynaklar
      • Sanal Bellek, Virtual Memory
        • Swap In/Out
        • Nasıl çalışır? Page fault kavramı
        • Peki ama neden?
        • Sanal Bellek ve Kernel
        • Kaynaklar
      • Sanal Bellek Deneyleri (BİTMEDİ)
        • Sürekli malloc()
        • Overcommit Kavramı
    • 📚 Kaynaklar
      • Kaynaklar
        • 🌐 İçerik
        • 📚 man Sayfaları
        • 📖 Kitaplar
        • 📝 Standartlar
        • 👓 Bakmaya Değer
        • 🔤 Tercüme ve İçerik
  • 🐍 Python
    • 📝 Notlarım
      • Merhaba Python
        • Python nasıl bir dildir?
        • Tarihsel gelişim
        • Python Gerçekleştirimleri ve Dağıtımları
      • Temel Kavramlar
        • Çeviriciler, Derleyiciler ve Yorumlayıcılar
        • Doğal Kod, Ara Kod, JIT
        • Mülkiyet Kavramı
        • Dil Olgusu
        • Programlama Dilleri Kategorileri
        • Python nerededir?
      • Başlıyoruz!
        • REPL Çalışma
        • IDE
      • Token, Keyword, White Space, Statement ve Expression Kavramları
        • Python’da Atomlar, Tokens
        • White Space, Boşluk Karakterleri
        • Statement, Deyim Kavramı
        • Expression, İfade Kavramı
      • Temel Veri Türleri
        • 1 - int
        • 2 - float
        • 3 - bool
        • 4 - str
        • 5 - complex
        • 6 - NoneType
        • Çeşitli Sorular
        • Özet
      • Sabitlerin Türleri
        • 1 - int Türden Sabitler
        • 2 - float Türden Sabitler
        • 3 - bool Türden Sabitler
        • 4 - str Türden Sabitler
        • Escape Sequences - Ters Bölü, \, Karakterleri
        • ' içinde ', " içinde "
        • Regular String, r ve R
        • String Concatenation
        • """ ve ''' Kullanımı
        • Unicode Strings, u ve U
        • Bytes, b ve B
        • 5 - complex Türden Sabitler
        • 6 - NoneType Türden Sabitler
      • Yorum ve Etkisiz Kod Kavramları
        • Etkisiz Kod, Dead Code, Code as No Effect Kavramı
      • Değişken İsimlendirme Kuralları
        • Naming Conventions, Coding Conventions, İsimlendirme/Kodlama Stilleri
        • Hangisini kullanalım?
      • Değişkenler ve Nesneler
        • Tür Bilgileri?
        • id() Fonksiyonu
        • Adres Atamaları
        • Garbage Collector - Çöp Toplayıcı 🗑️
      • Immutable (Değiştirilemez) ve Mutable (Değiştirilebilir) Nesneler
      • Python Standart Kütüphanesi ve Modüller
        • Built-in Fonksiyonlar
      • print() ve input()
        • input()
        • input() ve Tür Dönüşümleri
        • Exception
        • print()
      • Fonksiyon ve Metot Kavramı
      • id(), is, is not ve Optimizasyon
        • is not Operatörü
        • == ve is
        • Tek Bir None Nesnesi
        • Optimizasyon Kavramı
      • Operatör Kavramı ve Sınıflandırılması
        • Operatörlerin Sınıflandırılması
        • Örnekler
      • Operatör Öncelikleri
        • Parantez, ()
        • Operatör Öncelik Tablosu
        • Tabloyu nasıl okumalıyız?
        • Örnekler
      • Temel Aritmetik Operatörler
        • Bölme, /, Operatörüne Dikkat
        • floordiv Operatörü, //
        • Mod Alma Operatörü, Modulo Operator, %
      • İşaret Artı + ve Eski - Operatörleri
      • 💥 Üs Operatörü, **
      • ⚖️ Karşılaştırma Operatörleri
        • ⛓️ Chained Comparisons, Zincirleme Karşılaştırmalar
      • 🧠 Mantıksal Operatörler
        • ⚡ Kısa Devre Özelliği, Short Circuit
        • not Operatörü
        • and ve or Operatörlerinin Birlikte Kullanımı
      • 🕳️ Türlerin Mantıksal Olarak Yorumlanması
      • 🟰 Atama “Operatörü”, =
      • 🦭 Walrus Operatörü, :=
      • İşlemli Atama “Operatörleri”, +=, *= vb
        • Kaynaklar
      • 🖨️ print() Fonksiyonunun Kullanımı
        • sep
        • end
      • ♻️ Temel Tür Dönüşümleri
        • float → int ✅
        • bool → int ✅
        • str → int ✅
        • complex → int 🚫
        • NoneType → int 🚫
        • int → float ✅
        • bool → float ✅
        • str → float ✅
        • complex → float 🚫
        • NoneType → float 🚫
        • int → bool ✅
        • float → bool ✅
        • str → bool ✅
        • complex → bool ✅
        • NoneType → bool ✅
        • Diğer Veri Türleri → bool ✅
        • int → complex ✅
        • float → complex ✅
        • bool → complex ✅
        • str → complex ✅
        • NoneType → complex 🚫
        • int → str ✅
        • float → str ✅
        • bool → str ✅
        • complex → str ✅
        • NoneType → str ✅
        • NoneType Türüne Dönüşüm 🚫
        • Argümansız Tür Dönüşüm Fonksiyonları
      • Farklı Temel Türlerin Birlikte İşleme Sokulması
        • int ve float
        • bool Türü
        • complex Türü
        • str Türü
      • Veri Yapısı ve Iterable Nesne Kavramı
        • Dolaşılabilir, Iterable Nesne Kavramı
      • Liste, List Veri Yapısı - 1
        • Liste Elemanlarına Erişim, [] Operatörü
        • IndexError Exception
        • “Adres Tutan Dizi”
        • Listeler değiştirilebilir
        • len() built-in Fonksiyonu
        • Boş Liste
        • list()
        • “list sınıfı da dolaşılabilir.”
        • list Nesnelerinin Bellek Orgranizasyonları
        • “str bir liste değildir.”
      • Liste, List Veri Yapısı - 2
        • Liste İçerisinde Liste
        • Python’da Matrisler (Matrix)
        • Negatif İndeks Değerleri
        • Dilimleme, Slicing
        • Listeyi Ters Çevirme
        • Dilimleme Yolu ile Listenin Güncellenmesi
        • Walrus, :=, Operatörünün Kullanımı
      • Listeler ve Shallow Copy, Sığ Kopyalama Kavramı
      • list Sınıfı ve Metotlar
        • append()
        • extend()
        • index()
        • count()
        • pop()
        • remove()
        • clear()
        • reverse()
        • sort()
      • reversed() ve sorted() Built-in Fonksiyonları
        • reversed() Fonksiyonu
        • sorted() Fonksiyonu
      • in ve not in Operatörleri
        • in Operatörü
        • not in Operatörü
        • not ve not in
      • del Deyimi
        • del ve ,
      • Listelerin Toplanması
        • Boş Listelerin Toplanması
        • += ≠ = + ❗
        • a.extend(b)
      • list * int
      • Listeler, Optimizasyon ve İç İçe Listeler
      • List Comprehension - Liste İçlemi
        • Döngü Kullanmak
        • List Comprehension
      • Demet, tuple Veri Yapısı - 1
        • Demetler ve Listeler
        • Demet İçersinde Heterojen Türler
        • tuple Sınıfının Metotları
      • Hash Kavramı, hashable ve unhashable Türler
        • Hash değerinin elde edilmesi
        • Hash değeri?
      • Demet, tuple Veri Yapısı - 2
        • Parantez kullanmayabiliriz
        • demetlerin toplanması, + operatörü
        • += ile =+ burada aynı anlamda ❗
        • demetlerde yineleme yani repetition
        • *= ile =* burada aynı anlamda ❗
        • list VS tuple
      • unpacking - açım kavramı
        • recursive yani özyinelemeli açma işlemi
        • swap işlemi
      • range()
        • Sequence Container
      • Dolaşılabilir ve Dolaşım Nesneleri - Hatırlatma
        • range()
      • Küme, Set Veri Yapısı - 1
        • Boş Küme Oluşturma
        • set() Fonksiyonu
        • in ve not in Operatörleri
        • Hashlenebilirlik ve Kümeler
        • Karşılaştırmaya Dikkat ❗
        • Kümeler değiştirilebilir ❗
        • add()
        • update()
        • remove()
        • discard()
        • pop()
        • clear()
        • copy()
      • Küme, Set Veri Yapısı - 2
        • Kesişim - Intersection
        • Birleşim - Union
        • Fark - Difference
        • Ortak Olmayan Elemanlar - Symmetric Difference
        • updateli Versiyonlar
        • Alt Küme Kavramı
        • Ayrık Küme Kavramı
      • frozenset
        • Yaratılması
        • set ve frozenset İçeren İşlemler
        • Küme Elemanları ve frozenset
      • Sözlük, Dictionary Veri Yapısı - 1
        • Sözlüklerin Yaratılması
        • Anahtarlar
        • Hashlenebilirlik
        • Değişkenler ve Sabitler
        • dict Sınıfı
        • dict() Fonksiyonu
        • Sözlük Nesnesinden Sözlük Nesnesi Oluşturma
        • Değerlerin Elde Edilmesi
        • get() Metodu
        • in ve not in Operatörleri
        • len() Fonksiyonu
        • Sözlükler Dolaşılabilir Nesnelerdir
        • Sözlükler Değiştirilebilir, Mutable, Türlerdir
        • Birden Fazla Anahtar-Değer Ekleme
        • Sözlükten Silme Yapılması
      • Sözlük, Dictionary Veri Yapısı - 2
        • keys() ve values() Metodu
        • view Nesneleri
        • items() Metodu
        • clear() Metodu
        • copy() Metodu - Shallow Copy
        • setdefault() Metodu
        • del Deyimi
      • str Sınıfı ve İşlemleri - 1
        • str de Seqeunce Type’tır
        • len() Fonksiyonu
        • Negatif İndeks
        • Dilimleme, Slicing
        • Stringlerin Toplanması, +
        • Yineleme - Repetition İşlemi
      • str Sınıfı ve İşlemleri - 2
        • capitalize() Metodu
        • title() Metodu
        • center() Metodu
        • find() Metodu
        • rfind() Metodu
        • index() ve rindex() Metodları
        • count() Metodu
        • isxxx() Metodları
        • Metotların Doğrudan Çağırılması
        • join() Metodu
        • split() Metodu
        • strip() Metodu
        • lstrip() ve rstrip()
        • partition() Metodu
        • replace() Metodu
        • startswith() Metodu
        • endswith() Metodu
        • upper() ve lower() Metodu
      • str Sınıfı ve İşlemleri - 3
        • String’lerin Karşılaştırılması
        • ord() Fonksiyonu
        • chr() Fonksiyonu
      • str ve Formatlı Yazım İşlemleri
        • strnin format() Metodu
        • String Enterpolasyonu - String Interpolation
        • % ile Formatlama
      • del Deyimi - 2
      • Farklı Türlerin Karşılaştırılması
        • Demet ve Listelerin Karşılaştırılması
        • Sözlüklerin Karşılaştırılması
        • Kümelerin Karşılaştırılması
      • Indentation
      • Deyim (Statement) Kavramı
        • Expression Statement (İfade Deyimi) (İfadesel Deyim)
        • Atama bir deyimdir
        • Bileşik deyim kuralları
        • Suit kavramı
      • if Deyimi
        • if nasıl çalışır
        • Nested if ve Dangling else
        • Ayrık Koşullar - Discerete Conditions
        • elif
      • while Döngüleri
        • Walrus operatörü ve while
        • while-else
      • for Döngüleri (YARIM)
    • 📚 Kaynaklar
  • 🔢 Sayısal Tasarım
  • ✖️ Xilinx
    • Genel
      • Xilinx (AMD) Remote Debugging Neden Kullanışlı ve Nasıl Yapılır?
        • Peki Ama Neden?
        • Nasıl yapılır? 🤓
        • Geliştirme Bilgisayarı
        • SSH Tünel 🚇
        • Vivado, Vitis, SDK, XSCT, program_flash
        • Hata Ayıklama 🐛
        • Arkadaşlarınıza Şaka Yapın! 😜
    • PetaLinux
      • Running PetaLinux on an offline machine
        • Prerequisites
        • Configuring the PetaLinux project
        • Problem: Still I can’t compile some PetaLinux projects
        • Further read
      • Ubuntu 16.04.5 Üzerinde Petalinux 2018.3 Kurulumu
      • Ubuntu 20.04 üzerine PetaLinux 2022.2 kurulumu
        • Desteklenmeyen işletim sistemi?
        • petalinux-config’te patlıyoruz
        • Özet
    • Vivado
      • awk: symbol lookup error: awk: undefined symbol: mpfr_z_sub
        • Symptoms
        • Solution
        • Ref
      • Vivado 2016.4 Node Locked License Not Working on Ubuntu 16.04
        • Symptoms
        • Diagnosis
        • Solution
        • Ref
  • 6️⃣ xv6
    • MIT İşletim Sistemi Kursları ve Tarihçesi
    • Diğer Üniversitelerdeki Kurslar
    • Kitap Hakkında
    • 📝 Notlarım
      • Merhaba Dünya!
        • riscv-gnu-toolchain
        • QEMU
        • xv6-riscv
        • Pre-built Binary
        • Sonuç
      • İşletim Sistemi nedir? + Unix
        • Unix
        • Kaynaklar
      • User Space Programlamaya Giriş: write() ve read()
        • read() ve write()
        • Özet
        • Kaynaklar
      • GDB ile Hata Ayıklama (Debug 🐛)
        • Çekirdek, Hardware Thread, hart Sayısı Ayarlama
        • GDB
      • open() ve close()
        • open()
        • close()
        • Örnekler
        • Kaynaklar
      • Process Kavramı ve xv6 Çekirdeğindeki Gerçekleştirimi
        • xv6: proc, struct proc ve struct file
        • Verilerin Bellekte Tahsis Edilmesi
        • Hadi Gözlemleyelim! 👀
        • Özet
      • İşletim Sistemleri ve Bellek Yönetimi
        • Her Programa Bir Bellek Alanı
        • Relocation
        • Fragmentation
        • Virtual Memory ve Paging
        • Swapping
        • xv6
        • Kaynaklar
    • 📚 Kaynaklar
      • RISC-V
  • 🪁 Zephyr
    • 📝 Notlarım
      • Nedir bu Zephyr?
        • Kconfig, Devicetree ve West
        • Tarihçe
        • Kaynaklar
      • Zephyr Kullanmalı mıyım? “Bana da mı Zephyr?”
        • Popülerliğe Dikkat ❗
        • Zephyr ne zaman uygun olabilir?
        • Zephyr ne zaman uygun olmayabilir?
        • Hangisini öğrenelim? Zephyr mi FreeRTOS mu?
        • Projemde Zephyr mi kullanmalıyım?
    • 📚 Kaynaklar
  • 📦 Diğer
    • FFmpeg Video ve Ses Birleştirme
    • FFMmpeg ile Tek Resim ve Ses Dosyası ile Video Oluşturma
      • Kaynaklar
    • YouTube, Vimeo (Şifreli Videolar Dahil) Video İndirme
      • yt-dlp ve FFmpeg
        • FFmpeg
      • YouTube Video İndirme
      • Vimeo
        • Şifreli Videoları İndirme
        • Protected ve Private Videolar
        • Chrome Üzerinden İndirme
      • Kapanış
      • Kaynaklar

---

  • 🌀 Çeşitli
    • ❗ Sorumluluk Reddi
      • Disclaimer
    • Yapılacaklar
    • Specimen
      • Admonition
      • Todo
      • Visual
      • YouTube
      • giphy
      • giscus
      • reST Specific
        • Code Block
      • Asciinema
  • ❗ Sorumluluk Reddi
    • Disclaimer
👨🏻‍💻 Notlarım
  • 🐍 Python
  • print() ve input()
Önceki Sonraki

print() ve input()

Python’da ekrana yani aslında stdout a çıktı üreten tek bir fonksiyon vardır: print() Benzer şekilde klavyeden girdi alan yani stdin i okuyan da tek bir fonksiyon bulunur: input() Her ikisi de built-in fonksiyonlardır ve bir import işlemi olmadan kullanılabilirler.

print() fonksiyonunu önceden görmüştük, biraz input() a odaklanalım.

input()

input() fonksiyonu argüman olarak bir yazı alabilir. Eğer böyle kullanırsak önce yazı ekrana basılır. Sonra imleç yazının sonuna götürülür ve sonra giriş beklenir. Kullanıcı bir yazı girerek ENTER tuşuna basar. Fonksiyon da girilen yazıyı bize bir str nesnesi olarak verir.

s = input('Bir şeyler yazınız..')
print(s)

Çıktı:

Bir şeyler yazınız..hebele hübele
hebele hübele

Yukarıdaki kodu çalştırınca hebele hübele yazdım ve ENTER tuşuna bastım.

Fonksiyona argüman olarak bir yazı geçmeyip, parantez içini boş da bırakabiliriz:

s = input()
print(s)

Not

Bir fonksiyonun aynı isimde olup, iki farklı türden parametre alması C ile ilgilenen biriyseniz garip gelebilir. Bu durum C’de şuna benzeyecektir:

char *input(void);
char *input(const char *prompt);

int main(void)
{
    return 0;
}

Yukarıdaki C kodu hatalıdır, function redeclaration problemi vardır. Python’da ise bir fonksiyon böyle davranabilir. Bu konu henüz değinmediğimiz function overloading, polymorphism, default arguments gibi konularla ilgilidir.


Python’da tüm atamalar birer adres ataması demiştik. Benzer şekilde input() fonksiyonun geri dönüş değerini aslında bir değişkene atadığımızda, input() fonksiyonu tarafından oluşturulmuş bir str nesnesinin adresini o değişkene atamış oluruz.

x = input()

Burada, x değişkeni input() fonksiyonu tarafından oluşturulmuş bir str nesnenin adresini tutmaktadır.

Not

str nesnelerin immutable olduğunu hatırlayalım: Immutable (Değiştirilemez) ve Mutable (Değiştirilebilir) Nesneler

input() ve Tür Dönüşümleri

input() fonksiyonu bize her zaman str nesnesini verir. Biz eğer int ya da float gibi başka bir türden girdi istiyorsak bu str nesnesini bu türlere çevirmeliyiz. Dönüştürmek istediğimiz tür T olsun. O zaman

x = T(input())

dediğimiz zaman T türüne dönüşüm yapılmış olacaktır.

Eğer bir tam sayı okumak istiyorsak:

sayı = int(input('Tam sayı giriniz: '))
print(sayı)

gibi bir kod yazabiliriz. Örnek girdi ve çıktı:

Tam sayı giriniz: 42
42

İpucu

Genel olarak T bir tür belirtmek üzere T(...) ifadesi aslında T türüne dönüşüm anlamına gelmektedir.

Benzer şekilde float(input()) gibi denemeler yapabilirsiniz.

Exception

Programın çalışma zamanında yani runtime sırasında çıkan ciddi hatalara exception denmektedir. Bu noktada programcı exception’u yakalayıp programın çalışmasına devam edebilir. Ancak exception yakalanmazsa programın çalışması sonlanır. Bu konulara ileride bakarız.

T(input()) şeklindeki kullanımlarda eğer girdiğimiz girdinin T türüne dönüşümünde bir problem yaşanırsa exception oluşacaktır.

int(input())

Çalıştırıp, girdi olarak Alper yazdım:

>>> int(input())
Alper
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'Alper'

Bu str, int türüne dönüştürülemediği için exception oluştu ve bunu yakalamadığımız için de programımız sonlandırıldı.


Exception’ların türleri vardır. Genelde XXXError şeklindedir. ValueError, TypeError, IndexError gibi.

print()

Bu fonksiyonu serinin başından beri neredeyse hep kullandık. print(x) şeklinde yazdığımız zaman x in gösterdiği nesnenin içeriğini ekranda gördük.

Burada eklemek istediğim ufak bir nokta aslında print() fonksiyonun C’deki variadic functions gibi olduğudur. Yani birden fazla değişkeni ekrana basabiliriz:

x = 10
y = 20
z = 'hebele'

print(x, y) # Çıktı: 10 20 hebele

Bunun dışında print() in alabileceği başka argümanlar da vardır. Bunun için dokümantasyona bakılabilir. Ama henüz görmediğimiz kavramlar olduğu için şimdilik geçiyorum.

Önceki Sonraki

© Copyright 2026 Alper Yazar · CC BY-NC-SA 4.0. Son güncelleme: 2026-08-11 UTC.

Built with Sphinx using a tema kullanılarak Read the Docs tarafından sağlanmasıyla oluşturuldu.

Hakkımda | 💼 LinkedIn

Türk Bayrağı