
Bu kursun tanıtım videosunu buraya da eklemek istedim.
Fonksiyonel programlama konseptine giriş yapmadan önce bu konsepti tanıyalım.
Bilgisayarın belleğinde veri depolamamız ve kullanmamız için kullandığımız değişkenlerin mantığını yalın bir şekilde bu videoda kavrayacağız.
Daha önceki videoda öğrendiğimiz değişken kavramını daha da geliştirmek, pekiştirmek için değişkenler ile alakalı örnek yapıyoruz. Örnekte belirlenen KDV tutarını girilen fiyata ekleyerek yeni satış fiyatını buluyoruz.
Python programlama dilindeki en temel konulardan olan koşul ifadelerini en tamız ve yalın şekilde bir video ile öğreneceğiniz.
Önceki videoda öğrenmiş olduğumuz koşul ifadelerini günlük hayatımızdaki örneklerle birleştirilelim
Koşul ifadelerini daha etkili yazmak için kullanılan ve fonksiyonel programlamanın vazgeçilmezi olan tek satırlık koşul ifadelerini göreceğiz.
Python programlama dilindeki temel öğelerden olan döngüler konusunu bu videoda sade ve anlaşılır şekilde anlattım.
Oluşturduğumuz döngüleri daha etkili ve güzel kullanabilmemiz için fonksiyonel programlamada ihtiyacımız olabilecek bazı anahtar kelimeleri bu videoda öğreneceğiz.
Döngülerin sonuna "else" ifadesi ekleyerek döngünün bittikten sonra yapması gerekenleri söyledğimiz bir blok oluşturabiliriz. Bunu nasıl yapacağımızı bu videoda bir örnekle öğrenelim.
Python programlama dilinde en sık kullanılan çoklu veri depolama yöntemi olan liseleri bu videoda öğreneceksiniz.
Fonksiyonel programlama karşımıza çıkabilecek en önemli veri yapılarından biri olan demetleri bu video ile kalıcı şekilde öğreneceksiniz.
Günlü hayatımızda karşılaştığımız küme kavramına çok benzemesinden ötürü bu isim yakıştırılmış olan bu veri yapısını videoyu izledikten sonra kalıcı şekilde öğrenmiş olacaksınız.
İsminden de anlaşılacağı üzere anahtar ve değer adında iki parçada veri tutan sözlük veri yapısını videoyu zledikten sonra öğrenmiş olacasınız.
Kod tekrarından bizleri kurtaran mükemmel yapılara, fonksiyonlara giriş yapıyoruz!
Fonksiyonları çağırırken yanlarında veriler de gönderebildiğimiz ve bu verileri işleyerek işlem yapan ya da bize geri değer olarak döndüren fonksiyonları bu videoda öğreneceğiz.
Fonksiyonlara gönderdiğimiz parametreleri daha etkili kullanmak için yazılan args ve kwaergs gibi özellikleri öğreneceğiz.
Fonksiyonları daha etkili kulllanmak için geliştirilen tek satırlık fonksiyonları öğreneceğiz.
Fonksiyon içinde fonksiyon tanımlamayı bu videoda öğreneceksiniz!
'return' İfadesi ile fonksiyon referansı gönderen fonksiyonları bu video göreceğiz.
Bu videoda fonksiyonları ortak modifiye ediyoruz!
Fonksiyon başlangıcı ve sonunu tutarak fonksiyonların çalışma süresini bulalım.
Listeleri kolayca üretmemize imkan tanıyan ve programcılıkta işimizi ciddi kolaylaştıran bu yapıları öğreneceğiz.
Listeleri üretiren belirli şartlara göre üretmek isteyebiliriz. Bu videodan sonra liste üreteçlerinde koşul ifadelerini kullanabileceksiniz.
Liste üreteçlerini daha iyi pekiştirebilmek adına bildiklerimizi tekrar ederek bir örnek daha yapıyoruz.
İki fonksiyonu birleştirmeyi bu videoda öğreneceksiniz.
çoklu verileri fonksiyona hızlı şekilde ygulatmamıza olanak tanıyan map fonksiyonunu öğreniyoruz!
Fonksiyondan dönen true veya false değerine göre filtreleme yapmamıza olanak tanıyan filter fonksiyonunu öğreniyoruz.
Bu videoda verilerimizi biriktirerek fonksiyona uygulatmamızı sağlayan reduce fonksiyonunu öğrendik.
Program çalışırken gerçekleşebilecek olası istisnaların (hataların) önlemini bu videoda alabileceksiniz.
Verileri sırasıyla işlerken bellekten de tasarruf etmemizi sağlayan bu yapıları bu videoda öğreneceğiz.
Kendi iterasyon sınıfımızı yazarak iterasyon kavramını arka yüzünden tanıyoruz.
Fonksiyonlardaki 'resturn' ifdesine çok çok benzeyen fakat daha iyi bellek kullanımıyla daha etkili programlar yazmamızı sağlayan yields kavramını öğreniyoruz.
Kendi iterasyon sınıfımızı yazarak her çağırdığımızda yeni bir fibonacci sayısı üreten sınıfı ve fonksiyonu yazıp kullanıyoruz.
Generator kavramı olan yield kullanarak fonksiyonumuz içerisinde fibonacci sayıları üretip doğrudan programımızda 'next' komutuyla alıyoruz.
Daha önceki bölümlerde gördüğümüz liste üreteçlerini kullanarak tek satırda fibonacci sayılarını bir listeye aktarıyoruz.
Bu videoda recursive fonksiyonların mantığını anlayarak faktoriyel hesaplama örneği geliştireceğiz.
Recursive yani özyinelemeli fonksiyonlarla alakalı listenin bütün elemanlarını toplayan bir fonksiyon örneği yaparak bu konudaki bilgilerimizi pekiştireceğiz.
Klasik bir döngüyü özyinelemeli fonksiyona dönüştürmeyi bu videoda hızlıca öğreniyoruz. Bu şekilde bir recursive fonksiyonunun nasıl yazıldığını daha iyi kavrıyoruz.
Python programlama dili dünyada kullanılan en yaygın programlama dillerinden biridir. Farklı paketleri ile pek çok yazılım alanında kullanılan bir programlama dili olması bizlere ciddi kolaylık sağlıyor. Nesne tabanlı programlama paradigmasını destekleyen Python, aynı zamanda Fonksiyonel programlama paradigmasını da desteklemektedir.
Fonksiyonel programlama, program içerisindeki fonksiyonları etkili şekilde kullanarak fonksiyonlar üzerinden bir program geliştirmeye tanımlanan bir paradigmadır. Fonksiyonlar en temel tabirle kodlarımızı, iş paarçacıkalrımızı gruplamamıza yardımcı olurlar. Bir fonksiyonun girdisi diğerinin çıktısı olabilir. Fonksiyonel programlama, bu fonksiyonların etkilerini arttırmayı amaçlar.
Fonksiyonları efektif kullanarak farklı yollardan ve daha etkili çözümler bularak kod geliştirmeyi öğreneceksiniz!
Yazılıma dair hiçbir şey bilmenize gerek duyulmayan bir kurs. Bilgisayarınızda Python yazabilmek için gerekli araçlar kurulu olduğunda öğrenmeye bu kurs ile başlayabilirsiniz. Genellikle yazılıma başlayan insanlar nesne tabanlı programlama konseptini öğrenirler ve fonksiyonların nasıl etkili kullanılacağı konusunda eksikleri kapatmadan devam ederler. Siz bu kurs ile böyle bir sorunla karşılaşmayacaksınız. Programlamanın kurdu olacaksınız!
Yazılım şirketlerinde bir paradigma olarak karşınıza gelmese bile bu paradigmanın kurallarını bilerek daha okunabilir kodlar yazdığınızı ve daha az satırda daha çok işlemi başarabildiğinizi fark edeceksiniz.
Bilgisayar/Yazılım Mühendisliği gibi programlaarda okutulan "Fonksiyonel Programlama" dersi ile uyumludur. Fırat Üniversitesi Yazılım Mühendisliği bölümünde 3.sınıflara okutulan "Fonksiyonel Programlama" dersi notlarından yararlanılmıştır.
Kurs müfredatında fonksiyonel programlamanın tüm nimetlerinden yaralanmanıza yardımcı olacak konular Python programlama temellerinden hemen sonra anlatılmıştır.