python

PYTHON ÖĞRENelim baslangıç 1

NEDEN PYTHON ?

  • Öğrenmesi oldukça kolay bir dildir. Özellikle yeni kodlama öğrenenler için en ideal dildir. Bu dil yapısı ingilizceye benzerliği ile kod öğreniminde size kolaylıklar sağlayacaktır.
  • Derlenmeden çalıştırabilme seçeneği bulunmaktadır.
  • Kolay yazılır, anlaşılırdır.
  • Ve her programlama dilinde kullanıcıları strese sokan tırnak işaretleri, noktalama işaretleri, parantez gibi katı kuralları bulunmamaktadır.
  • En az derecede noktalama işaretleri ve parantez kullanımı bulunmaktadır.
  • Web geliştirme içinde en sık kullanılan dillerden biri olan PHP diline alternatif olarak geliştrilmiştir ve php den çok daha kullanışlıdır.
  • Az kodla çok iş yapmak istiyorsanız doğru yerdesiz.
  • Güvenli bir programlama dilidir.
  • Yapay zeka ve makina öğrenmesinin alt yapısında yine bu dil vardır.
  • Google destek verdiği için iş imkanları ve maaşları yüksektir.
  • Esnektir. Bunun anlamı şudur. Birçok işletim sisteminde çalışabilir. Android, IOS, Windows gibi.
Python Ders Notları

Python öğretelim ama nasıl? Lise seviyesinde Python eğitimi için hazırladığım, uygulanmış ders notlarımı bu sayfada bulabilirsiniz. Ders notları ingilizce olup kaynak belirtmek kaydıyla tüm meslektaşlarımın kullanımına açıktır. Ders materyalleri, haftada 1, en fazla 2 ders saati vaktiniz olduğu varsayılarak hazırlanmıştır. Ders notları sürekli olarak güncellenmeye devam edecektir. Dersinizin niteliğine göre dilediğiniz gibi eklemeler ve çıkarmalar yaparak kullanabilirsiniz. Eğer dersinizde kullanmaya karar verirseniz, takipte kalmanızı tavsiye ediyorum. Sayfaya sürekli yeni konular eklenmeye devam edecek. Tecrübelerime dayanarak bazı tavsiyelerde bulunuyorum. Sizlerin önerilerinizi de bekliyorum. 

İşinize yaraması ümidiyle…

Python Ders Notları Hafta 1 – You Can Do It!

Bu bölüm Java ders notları ile aynıdır. Ne de olsa hangi programlama dilini öğretirseniz öğretin, başlangıçta yapılması gerekenler benzerlik gösterir. 

İlk ders en önemli derslerden biridir. Motivasyon sağlamak ve öğrencilerin “ben yapamam, o yapar, çok zor, ben ne anlarım kod yazmaktan….” önyargılarından kurtulmalarını sağlamak için, önce yapabileceklerine inandırılmaları gerekir. Öğrencilerin motivasyonlarını artırmaya yönelik videolar izletebilirsiniz. İşe yaradığı tecrübeyle sabittir 😉

Buyrun örnek video 🙂

Python Ders Notları Hafta 2 – What is Programming?

Motivasyonu sağladıktan sonra, ikinci hafta programlamanın ne olduğunu, farklı programlama dillerini, temel input-output kavramlarından mutlaka bahsedelim. Programlamanın algoritma kurmaktan geçtiğinin altını çizerek günlük hayatımızda sıkça kullandığımız algoritma örneklerine öğrencilerin keyif alacağı araçsız kodlama etkinlikleri seçerek anlatabilirsiniz. 

Python Ders Notları 2. Hafta

Python Ders Notları Hafta 3 – Algorithms

Sıra geldi algoritmalara. Olmazsa olmaz! Algoritmaları anlatırken öğrencilerin günlük hayatlarında sıklıkla yaptıkları bir işin algoritmasını yaptırmak faydalı olabilir. Tavsiyem basitçe algoritmanın ne olduğunu anlattıktan sonra tüm öğrencilerin nasıl yapıldığını bildiklerine emin olduğunuz bir kaç konuda algoritma yazmalarını istemeniz. Çay demlemek, yumurta haşlamak, kek yapmak gibi klasik örneklerin yanında bankadan para çekmek, bir yerden bir yere gitmek gibi örnekler sıralanabilir. Daha sonra da öğrencileri ikişerli gruplara ayırarak, birbirlerinin yazdıkları algoritmayı uygulamaya çalıştıklarında nelerle karşılaştıkları üzerine bir çalışma yapabilir, bir kaç örneği ele alarak, gereken değişiklikleri sınıfla beraber yaparak algoritma oluşturmanın kurallarını uygulamalı olarak anlatmanız. Yine algoritma ile ilgili eğlenceli bir kaç video izletebilirsiniz.

Buyrun örnek video 🙂

Buyrun örnek video 2      ALGORİTMA DİŞ FIRÇALAMA ROBOTLAR İLE

​Videoları öğrencilerle beraber izledikten sonra akıllarında neler kaldıklarını sorabilir, belli yerlerde videoyu durdurarak öğrencilerin üzerine düşünmelerini sağlayabilirsiniz. Artık burada kullanacağınız yöntem de size kalmış 🙂

Python Ders Notları Hafta 4 Algorithms/FlowChart

Algoritma mantığı artık yavaş yavaş yerleşmeye başladığına göre şimdi bir program yazarken nasıl algoritma kurmamız gerektiğine geçiyoruz. Algoritmadan sonra akış şemalarına geçebilirsiniz. Algoritma ve akış şemasını yaptıktan sonra, program yazmanın sadece bir dilin kurallarını kullanarak cümle kurmak olduğunu mutlaka vurgulamalısınız. 

Python Ders Notları 4. Hafta

Python Ders Notları Hafta 5 – Introducing Python / Print Function

Artık öğrencileriniz algoritma kurabiliyor ve algoritmalarını akış şemalarıyla ifade edebiliyorlar. Şimdi Python kurulumuna geçiyoruz. Mümkünse öğrencilerinizi programlar kurulu bir şekilde karşılamayın. Nereden indirmeleri gerektiğini nasıl kurmaları gerektiklerini de öğrensinler. Tecrübelerim bana gösterdi ki biz ne kadar yeni yenil program kurmayı bilir diye düşünsek de, bir program kurarken işletim sistemi seçmeyi, versiyon kavramını vs. öğrenciler bilemeyebiliyorlar. Öğrencilerinizle beraber Idle kurduktan sonra Print komutu kullanarak “Hello World” ile başlıyoruz.

Python Ders Notları Hafta 5

Python Ders Notları Hafta 6 – Variables

Program yazabilmek için gerekli olan veri tipleri, bir değişkenin veri türünü neye göre belirlendiği, nasıl değişken tanımlanacağı, değişkenlerin birbirleri arasında dönüşümleri örnek programlarla uygulayarak öğretilir. Farklı örneklerle desteklenir.

Python Ders Notları 6. Hafta

Python Ders Notları Hafta 7 – Input Function

Input fonksiyonu ile kullanıcıdan veri almaya başlıyoruz. Kullanıcıdan aldığımız verileri değişkenlere atayarak farklı örneklerle kodlamaya devam ediyoruz.

Python Ders Notları 7. Hafta

Python Ders Notları Hafta 8 IF-Else Statements

Tüm programlama dillerinde kullanılan If-Else Statement’lar ile koşul durumlarını inceliyoruz.

Python Ders Notları 8. Hafta

İşinize yaraması ümidiyle…

Python Ders Notları Hafta 9 – Arrays

Python’da diziler konusunu işledikten sonra genel bir örnek ile diziler konusunu pekiştirebilirsiniz. En son slayttaki örnek öğrencilere bir tık ağır gelebilir. Öğrencilerle beraber sunumun sonundaki örnekteki kodları okuma çalışması yapmanızı tavsiye ediyorum.

Python Ders Notları 9. Hafta

Python Ders Notları Hafta 10 – Operators

Python’da operatörler konusuna geçiyoruz. Bu dersin disiplinlerarası kazanımı çok fazladır. Aritmetik, mantıksal operatörleri anlatırken mod almak konusunu tekrar edecek, matematik dersinde p ve q lar ile gördükleri mantık konusunu da pekiştirmiş olacaksınız. Dersin sonunda önceki derslerde işlediğiniz algoritma örneklerine değinebilir, If-else yapısı ve mantıksal operatörleri kullanacakları bir algoritmayı ödev olarak verebilir, kodunu yazmalarını isteyebilirsiniz.

Python Ders Notları 10. Hafta

Python Ders Notları Hafta 11 – For Loops

Programlama dillerinde bilinmesi gereken en önemli konulardan biri olan “Döngüler” e geçiyoruz. Döngüleri anlatırken önce günlük hayatta tekrar ettiğimiz işlemlerle ilgili sınıfta bir grup çalışması yaptırabilirsiniz. Mesela gelecekte robotlar hangi mesleklerin yerini alacak? konusunda tartışma ortamı yaratarak, bu konudan hareketle tekrar eden işlemleri konuşabilirsiniz. Çocukların tekrar eden işlemleri farketmelerinden sonra, for döngüsü ile başlıyoruz. 

Python Ders Notları 11. Hafta

Python Ders Notları Hafta 12 – While Loops

While döngülerini inceledikten sonra, en sondaki sayı tahmin oyununun kodlarını inceleyerek, hangi kodun neden kullanıldığını öğrencilerle beraber incelemenizi tavsiye ediyorum.

Python Ders Notları 12. Hafta

Python Ders Notları Hafta 13 – Functions

Fonksiyonlar ile belirli işlemleri kümelemeyi anlatıyoruz. Function’ı Python’da anlatmadan önce yine günlük hayattan örneklerle başlamanız tavsiye olunur.

Python Ders Notları 13. Hafta

PYTHON VERİ TÜRLERİ

  1. Number (Sayılar) : Matematikte gördüğümüz pozitif ve negatif sayıların tamamına denir ve Python da bir temel sayısal veri türüdür. Örnek: 15, -15, 5000
  2. String (Karakter) : Metin, yazı karakterleri string olarak adlandırılır. Örnek: elma, bilgisayar
  3. List (Listeler): Listeler her türlü verinin aynı yerde barındırabilir. Yazı, metin, sayı, rakam vb. Buraya sonradan eleman ekleyebilir çıkarabilirsiniz.
  4. Tuple(Demetler) : List gibidir. Farklı veri türlerinin bir arada bulundurması özelliği vardır. Buraya eklenen verilere ekleme, çıkarma yapılamaz.

Etkileşimli kabuk kullanarak verilerinizin türünü kolaylıkla öğrenebilirsiniz. Bunu öğrenmek için type fonksiyonunu kullanıyoruz.

type (“tipini öğrenmek istediğiniz veri”)

Programming with Turtle

Turtle kütüphanesi ile python kütüphanelerinden “turtle” ı ele alınarak sizi python diline egsersiz yaptırmaya başlıyoruz. Aslında gençler için olduğu belirtilen bu kütüphane, sıfırdan başlayıp komutlardan döngülere kadarki süreci kaplumbağanın hareketleri ile anlatıyor.kahramanımız tosbağa veya kaplumbağa

  • İlk olarak kaplumbağayı gitmesini istediğimiz yönde nasıl hareket ettireceğimizi öğreneceğiz.
  • Sonrasında ise kaplumbağayı ve çevresini nasıl özelleştireceğimizi öğreneceğiz.
  • Son olarak bir kaç ekstra komut öğreneceğiz.

Hazırsanız başlayalım. online platform üzerinden link ile başlıyoruz.

https://www.pythonsandbox.com/turtle

  • İmport, kaplumbağa oluşturma, isim verilmesi
  • Kaplumbağanın hareket ettirilmesi

1) Sağa sola 100 birim ilerle

Bu komutlarla şunu demiş olduk, 90 derece sağa dön, 100 birim ilerle, 90 derece sola dön, 100 birim ilerle.

2) Koordinata göre ilerle

Kaplumbağanın geldiği son nokta, yeni harekete başlayacağı ilk nokta yani evi (0,0) noktasıdır. Bu nedenle aşağıdaki komut ile de istediğimiz koordinata gönderebiliriz.

Kaplumbağa böylelikle geldiği son noktayı (0,0) kabul ederek, (100,100) koordinatine ilerledi.

Eve dönmesi için kısaca t.home() komutunu kullanabiliriz..

3) Şekil Çiz

Her bir komut bir öncekinin üzerine eklendiği için aşağıdaki şekli almak için restart kernel ile ilerlemek gerekiyor.

Kare

Bu komutlarla 100 birim git, 90 derece sağa dön diyerek kare çizdirmiş olduk.

Üçgen

Yuvarlak

Parantez içindeki değeri değiştirerek yuvarlağın boyutunu ayarlayabiliriz.

Daire

  • Kamplumbağa ve çevresini özelleştirme

Arka Plan Rengi

Ekran Başlığı

Kaplumbağa Boyutu

Kaplumbağa boyutunu değiştirme işlemi, kaplumbağaya yaptıracağımız işlemlerin boyutlarını etkilemez.

Kalem Boyutu

Kalem boyutunu 10’a getirerek büyüttüm.

Sonra da kalem boyutunu 1’e getirerek küçülttüm.

Kaplumbağa Rengini Değiştirme

Önce kaplumbağa boyutunu büyüttüm sonra, yeşil ile doldurdum.

Not: Kenar kalınlıkları shapesize içindeki 3. sayı ile gösterilmektedir.(2)

Şekil Boyama

Boyamaya başla, 100 birim git, 120 derece sola dön, 100 birim git, 120 derece sola dön, 100 birim git, boyamayı bitir.

Kaplumbağanın şeklini değiştirme

Not: Burada t.shape(“circle”) da kullanılabilir. Diğer opsiyonlar: Square, Triangle

Kalemin hızını artırma

Kaplumbağa normalde orta hızda hareket eder. Hızını artırmak için, t.speed() komutu kullanılabilir.

Hızı önce yavaş sonra hızlı olan kalem gif ini görmek için tıklayabilirsiniz.

Şimdiye kadar öğrendiklerimizle aşağıdakini yapabiliriz.

Peki ya aynı anda 10 tane kaplumbağamız varsa?

Hepsi için tek tek yukarıdaki komutları yazmak yerine şunu yapabiliriz..

Kalem ile ilgili argümanları tek parantez içinde belirttik.
Sadece 1 satır kod ile kalemin tüm özelliklerini değiştirebiliriz..

Kaplumbağa giderken iz bırakmasın istersek…

penup() ve pendown() komutlarını kullanabiliriz. penup ile iz bırakmaması sağlanır. Dış çizgiye bakılırsa, 2 kenarda iz bırakırken 2 kenarda iz bırakmadı, içini boyayarak bunun daha net görülmesini sağlamaya çalıştım.

Geri Al komutu

3 kere arka arkaya t.undo() komutu çalıştırılarak son 3 komut silinebilir…

Şimdiye kadar her değişimde, kerneli restart ettim bu nedenle sıfırdan kaplumbağa başladı ve yeni komutu uyguladı, böylelikle siz de o komuta özel değişikliği görebildiniz.

Eğer restart yapmasaydım, tüm bu şekillerin toplamı şöyle olacaktı..

Çok fazla pembe kullanmışım:)

Çevreyi gri renk yapıp biraz daha yaptıklarımızın net anlaşılmasını sağladım..

Önemli not:

  • t.clear() ile tüm yaptıklarımızı silebiliriz.
  • t.reset() ile çevreye yaptıklarımızı resetleyebiliriz.

Kaplumbağa Damgasını Bırakmak

Damga bırak, 100 birim ilerle, damga bırak, 50 birim ilerle

Kaplumbağa Klonlama

Artık 2 kaplumbağa var, birinin adı “t”, diğerinin “c”. İkisine de ayrı renkler verip, yuvarlak çizdirdik.

DÖNGÜLER

1) For döngüsü

Yukarıda kare çizdirdiğimiz zaman aynı kodu 4 kere yazmak zorunda kalmıştık..Hatırlatma adına kodu buraya koyuyorum:

Bu kodu 4 kere yazarak kare çizdirmek yerine direk for döngüsü ile bu işlemi 4 kere yap diyebiliyoruz..

4 kere şunu yap: 100 birim git, 90 derece sağa dön

Sonuç:

Açıklama: Burada i , sıfırdan başlayıp her seferinde 1 artıyor, 4’e gelene KADAR aynı işlemi tekrarlıyor.

2) While döngüsü

While döngüsü, koşul karşılanıyorsa işlemin iteratif olarak yapılmasını sağlar. Ne zaman koşul artık sağlanmazsa, işlem sona erer.

Sonuç:

Açıklama: n başlangıçta 10 olsun ve n 60’tan küçük olduğu sürece şu işlemi yap: çember çiz, sonra n’e 10 ekle.

3) IF

Verilen koşulun doğru olup olmadığı kontrol edilir, doğru ise işlem yapılır.

  • Sadece if

Eğer belirtilen koşul sağlanıyorsa işlemi yap, sağlanmıyorsa cevap verme ve işlemi bitir.

Sorduğu soruya “evet” yazdım. Sonuç:

  • if else

Eğer belirtilen koşul sağlanıyorsa işlemi yap, sağlanmıyorsa “else”teki işlemi yap.

Dikkat: else’in yanına koşul konmaz. if’te verilen koşulun sağlanmadığı her durumu kapsar.
  • if elif else

Birden fazla koşul verilmek istendiğinde if-elif-elif…-else kullanılır. Burada istenilen kadar elif kullanılabilir.

 

PYTHON DA MATEMATİKSEL İŞLEMLER

Matematiksel işlemleri pythonda rahatlıkla yapabilirsiniz. 3+5 = 8 gibi.

+ toplama

– çıkarma

* çarpma

/ bölme

AÇIKLAMA SATIRI

Açıklama Satırı: #ile başlanan tüm yazıları açıklama satırı olarak algılayacaktır. Örneğin programın versiyonunu yada kimin yazdığını belirteceksiniz. Bunları kullanıcı göremez.

PYTHON DA DEĞİŞKEN OLUŞTURMA

Bir veriyi kendi içerisinde depolayan durumdur. n = 10 derseniz eğer, n*5 = 50 olarak karşımıza çıkacaktır. print komutu ile değişkeni ekrana yazdırabiliriz.

PYTHON PRİNT

Print() fonksiyon’nun üç farklı kullanımı var;

1)Tek tırnak (‘ ‘)

2)Çift tırnak (” “) Cümle içinde tırnak kullanılacaksa çift tırnak tercih edilmelidir..

3)Üç tırnak (“”” “””) Birden fazla satır kullanımında 3 tırnak tercih edilmelidir.

3 tırnak kullanarak uzun bir metnin kullanımına örnek.

Önemli Not: Fonksiyonların parantez içerisinde belirtilen kısımlarına parametre denilmektedir.

Print fonksiyonu birden fazla parametre alabilmektedir. Bu parametreleri alırken belli kurallara göre ekrana çıktı vermektedir.

Print fonksiyonu belirtilen 2 farklı ya da daha dazla parametreyi birleştirirken otomatik olarak boşluk karakteri yerleştirmektedir.

SEP PARAMETRESİ

Biz kodlarda aksini belirtmediğimiz taktirde sep(ayırıcı) parametresi otomatik boşluk bırakacaktır.

Peki bunu nasıl belirtiriz.

Sep parametresinin kullanımı yaratıcılığınızla sınırlıdır. Örneğin her defasında işletim sistemi kelimesini eklemek istemiyorum. Bunun yerine sep parametresine “İşletim Sistemi” kelimesini ekleyebiliriz.

\n Parametresi

Print fonksiyonu içerisinde birden fazla parametre kullanabileceğimizi öğrenmiştik. Bu parametrelerden biriside \n parametresidir. Bu parametre ile satır başı yapıyoruz. Örneğin az önce yazdığımız işletim sistemlerinin her birini satır başında yazmak istersek eğer \n kullanmalıyız.

YILDIZ PARAMETRESİ

* (Yıldız) sembolü sayesinde print fonksiyonu içerisindeki parametreleri programın tek tek algılamasını sağlarız. Çoğu konuda bize pratiklik sağlayacaktır. Bir örnekle anlamaya çalışalım.

Gördüğünüz gibi print fonksiyonu içerisine yazılan her bir karakteri ayrı ayrı algılayıp aralarına boşluk bıraktı. Bunun yerine her karaktere belirlediğiniz herhangi bir karakteri sep parametresi aracılığı ile ekleyebilirsiniz.

# -*- coding: cp1254 -*- : türkçe karakterler için kodların en başına eklenir.

YORUM SATIRI

Yorum satırları yazdığınız kodlar hakkında hatırlatıcı ya da açıklayıcı bilgiler, notlar eklemenizi sağlar. Yorum satırları sadece kodlar ekranında görünür. Program çalıştırıldığında yorum satırları görünmezler. Bu yorum satırları sayesinde kodlarla başkaları çalıştığında da ona yol gösterici niteliğindedir. Başkaları tarafından yazılmış kodlar o programı çok iyi bilseniz de kafa karıştırıcı olabilmektedir. Çünkü kodları yorumlaması, izlediği yol çok farklı olabilir. Aynısı kişinin kendisi içinde geçerlidir. Bazen kendi kodlarımızda bile bazı işlemleri neden ve nasıl yaptığımızı hatırlamıyor olabiliyoruz.