1. Ayyıldız Tim forumu Hariç Hiç Bir şekilde Rütbeli Oldugunu İddaa edenlere inanmayınız..⠀ Ayyıldız Tim Adına Sizden Bilgi Belge TC Kimlik Vb Evrak İsteyenlere Asla Bilgilerinizi Vermeyiniz.

Dev Konu : Tek Konuda 0 Dan Ileri Seviye Python3

'Python' forumunda CnuxBel tarafından 26 Ocak 2021 tarihinde açılan konu

  1. CnuxBel Guest

    • Guest
    Katılım:
    27 Aralık 2020
    Mesaj:
    181
    Alınan Beğeniler:
    361

    Özel Mesaj
    İyi çalışmalar devrelerim komutanlarım bu konuda 0 dan OOP programlamaya kadar bütün dil i elime aldım bayağı uzun bir konu ile yine karşınızdayım bu konuyu bitirdikten sonra python ile bir birçok şey yapabliceksiniz
    ------------------------------------------------------------------------------------------------------------------------------------------
    python öğreniyoruz

    öncelikle neden python la başlamamız gerektğini konuşalım .

    şunu bilmemiz gerektğini düşünüyorum python %70 olarak kütüphanelere dayalı bir dil bu yüzden okadar fazla
    kaynak varkı python ile ilgili öğrenirken hiç sorun yaşamıyacağız yazılımı ve anlaşılır lığı ile tam bir
    yeni başlayan dili

    python ile neler yapabiliriz :

    python ile web siteleri
    bot scriptleri
    zararlı yazılım lar
    web scraping işlemleri
    aklınıza gelebilicek herşey zaten konuda bende yazdım :)

    yani her konuya uzanan bir dil bu yüzden temel olarak kullanılan bir dil ne kadar basit bir dil olsada

    çok büyük bir kök yapısına sahip bizde bu yüzden bu konumuzda 0 dan ileri seviye python öğrenicez .

    python3 ü indirmek için sitesine gidip indirebilirsiniz next next basarak kurulumu tamamlaya bilirsiniz

    python için editör önermesi yapmıyacağım metin belgesinde bile kodlama yapabilirsiniz ben 4 yıldır sadece
    vim kullandığım için diğer editörler ile pek aram yok o yüzden bir şey önermem yanlış olur
    konumu windows 7 işletim sisteminde anlatıyor olucağım ama kodlarımızı linux sistemlerde de kullana bilirsiniz

    değişen birşey olmıyacaktır

    başlıyalım ozaman

    ilk konumuz matematik işlemleri matematik de kullandığımız her şeyi burada da kullanıyoruz

    matematik işlemleri :
    Kod:
    10 + 5
    
    10 - 5
    
    10 / 5
    
    10 * 2
    
    10%2
    
    10 // 2 
    burada normal matematik operatörleri haricinde // ve % kullanıyoruz bunun sebebi

    python da bölme işlemleri yaparken ondalık olarak bize dönüyor 22/7 işleminin sonucu 3.14 olucaktır bildiğiniz

    üzere pi sayısı burada 3.14 sadece 3 ü istediğimiz zaman // kullanıyoruz ve dönen değer sadede 3 oluyor

    % ise kalan almak için kullanılıyor


    + toplama
    - çıkarma
    / bölme
    * çarpma
    % kalan alma
    şeklinde operatörleri öğrenmemiz şimdilik yeterli olucaktır


    sırada stringler yani metinler var

    stringler:
    Kod:
    "python öğreniyoruz"
    
    'python öğreniyoruz '
    
    stringler tırnak lar içinde yazılır "" , '' farketmez istediğinizi kullana bilirsiniz


    print fonksiyonu:

    evet matematik işlemlerini ve string ifadeleri öğrendik artık çıktılarımızı konsolda alma zamanı

    print fonksiyonu nu kullanıyoruz burada

    Kod:
    print(10)   
    print("python öğreniyoruz")
    
    print(10 - 5)

    python da print fonksiyonu içerisinde toplama çıkarma bölme string değer ler kullana biliriz

    burada bilmemiz gereken bir başka husus ise print fonksiyonu içerisinde birden fazla değer kullana bilmemiz

    print("merhaba " + "ayyıldız ")

    bu şekilde print fonksiyonu kullana biliriz bir başka kullanımı ise birden fazla satır yadırmak için kullanılır

    Kod:
    print("""
    
    
        merhablar
        python egitimindesiniz
    
    
    
        """)

    burada """""" altı adet tırnak kullanıyoruz ve arasına yadığımız herşey ekranda yazılıcaktır

    string işlemleri:

    yukarıda da örnek ver miştik

    "merhaba " + "ayyıldız "

    string işlemlerinde toplama yapabiliyoruz değişkenleri görmeden tam olarak
    anlıyamıyacağımız için kalan kısımları değişlkenleri gördükten sonra anlatmakta
    fayda var
    ozaman hemen değişkenler e geçelim

    değişkenler:
    Kod:
    ayt = "ayyıldız Tim"
    python da değişken tanımlamak bir okadar yalın ve basit öreniğinizde ayt değişkenine

    string bir ifade tanımladık
    print(ayt)

    şeklinde yazdırma işlemi yaptığımızda ekranımızda ayyıldız Tim olarak görücektiriz

    burada değişkenimiz = ifadesinden önce gelicektir

    hemen = operatör üne değilinelim python da atama operatör ü olarak kullanılmaktadır

    sağındaki değeri solundaki değere atamak la görevlidir

    birde int bir işlem yapalım int sayısal anlamdadır

    Kod:
    sayi1 = 10
    
    print(sayi1)

    burada sayi bir değişkenimizin değerini 10 olarak atadık ve ekrana yazdırdık

    şimdi bir kaç tane basit fonksiyon öğrenerek bu kısımı tamamlıyalım ve listeler e
    geçelim

    Kod:
    ayt = "ayyıldıztim"
    ayt1 = "AYYILDIZTİM"
    sayi1 = "20"
    sayi = 15
    
    

    burada 4 fonksiyon öğrenicez sırası ile upper() lower() int() str() len()

    upper() fonksiyonu bizim string imizin içindeki herşeyi büyük fark yapar

    Kod:
    print(ayt.upper())

    bu şelilde kullandığımız zaman ayt değişkeninin içinde bulunan "ayyıldıztim" string i "AYYILDIZTİM" olucaktır

    lower() ise kullanımı tam tersi olarak büyük harfleri küçük fark yapıcaktır

    Kod:
    print(ayt1.lower())
    burada çıktımız "ayyıldıztim" olucaktır

    int() fonksiyonu ile string değerleri int e çevire biriz bunu genelde kullanıcıdan aldığımız veri lerde kullanıyoruz
    oraya geldiğimizde daha iyi kavrıyacaksınız şimdi basit bir örnek ile bırakalım

    Kod:
    print(int(sayı1))
    burada sayi1 değişkenimizin içinde "20" yani bir string değer bulunmasına rağmen bunu int olarak yani
    sayısal bir değer e değiştirdik şöyle bir örnek verelim

    Kod:
    toplam = sayi1 + sayi 

    burada toplam değişkeni nin içine sayi1 ve sayi değişkenini toplayarak aktardık ama burada bir hata var string değerler ile
    int değeler toplanamaz bu yüzden hata alıcaz bunun için int fonskiyonu nu kullanıyoruz ve type değişikli yapıyoruz

    yani ifademizi bu şekilde düzeltiyoruz

    Kod:
    toplam = int(sayi1) + sayi
    ve hata almadan toplama işlemini yapıyoruz str fonksiyonu da aynı şekilde int bir değeri string e çevirmek için

    kullanıyoruz

    Kod:
    toplam = sayi1 + str(sayi)
    burada çıktımız 2015 olucaktır bunun nedeni string bir toplama işlemi yaptımız için değerleri toplamadı sadece birleştirme yaptık

    veri tiplerini iyi ce anlamak için type() fonksiyonu nu da öğrenelim

    type() fonksiyonu içine verilen değerin tip ini döndürü burada

    Kod:
    print(type(sayi1))
    print(type(sayi))
    

    sırası ile

    string ve int olarak ekrana yazdırılıcaklar dır bu ksımı anlamak için bolca tekrar yapmanız lazım programlama sırasında oldukça
    çok kullanılıyor burada mantığı kavramak herşeyden önemli

    len() fonksiyonu bize verdiğimiz değerin içinde kaçtane karakter olduğunu döner

    Kod:
    python = "python öğreniyoruz"
    
    print(len(python))
    

    burada çıktımız 18 olucaktır


    True ve False öğrenerek listelerimize geçelim



    True ve False :

    True doğru olarak False ı da yanlış olarak değerlendire biliriz

    python da büyün fonksiyonlar ya True yada False olarak değer alırar yani

    print(10) fonksiyonu 10 değerini yazdırırken aslında true değer döner buna ileride iyi ce değiniceğimiz için şimdilik
    kafa karşıtır mayalım


    ve listeler e geçelim


    listeler :

    listeler birden fazla değer alan değişkenler olarak akılızda tutabiliriz

    Kod:
    listem = ['python3 öğreniyoruz ', 0 , 1, 2, 3]

    litelerimizi [ ] köşeli parantezler içinde oluşturuyoruz

    listemizi ekrana yazdırırken veya içerisinden bir eleman seçerken de [ ] parantezleri kullanıyoruz

    Kod:
    print(listem[0])

    burada listemizin 0 ıncı index e sahip olan değerini ekrana yadırdık listelerimiz 0 dan başlayarak değer alırlar
    yani 0 ıncı değerimiz 'python3 öğreniyoruz' dur

    listelerimizde istediğimiz değerleri seçip ekrana yazdıra biliriz

    Kod:
    print(listem[0:2])
    

    burada 0 dan başlarak 2. index numarasına sahip değişkenimize kadar ekrana yazdırıyoruz çıktımız ise

    'python3 öğreniyoruz' , 0

    olucaktır burada birşey dikkatimi çekmeli index numarası 2 olana kadar yazdırıyoruz yani 2 dahil değil

    bir farklı kullanımı ise kaçar kaçar alınsın şeklinde olabilir

    Kod:
    print(listem[0:5:2]) 

    burada 0 dan başlayarak 5. elamana kadar 2 şer 2 şer yazdırmasını istedik listemizi çıktımız

    ['python3 öğreniyoruz ', 1, 3]

    şeklinde olucaktır


    artık listelerimizi de öğrenidiğimize göre artık kullanıcıdan veri alma ya geçebiliriz



    input fonksiyonu format methodu :

    kullanıcıdan veri almak için input() fonksiyonu nu kullanıyoruz

    Kod:
    sayı = input('sayı giriniz : ')

    burada input ile bir sayı yazılmasını istedik ve sayı değişkenine kaydettik input içerisinde '' kullanarak açıklama

    yazabiliriz bu sayede kullanıcı neyi girmesi gerektiğini öğrenir

    input değişkeni bize her zaman string bir değer döner burada sayı almak istiyorsan tip değişikliği yapmamız gerekiyor

    hemen bir tane yapalım

    Kod:
    sayi = int(input('sayı giriniz : '))
    
    sayi2 = int(input('sayı giriniz : '))
    
    toplam = sayi + sayi2
    
    print(toplam)

    ilk sayımızı 5 verelim ikinci sayımız da 10 olsun çıktımız 15 olucaktır lakin burada tip değiştirmeseydik

    ekrana 15 değil 510 yazdırıcaktı çünkü input dediğim gibi string değer alır bu yüzden aşşağı kısımda biz string toplaması
    yaparız buda iki değeri birleştir


    format() fonksiyonu string değerlerin içerisine dışarıdan veri eklemek için kullanılır

    bir örnek yapalım

    Kod:
    sayi = int(input('sayı giriniz : '))
    
    print("seçtiğiniz sayı : ", sayi)

    şeklinde kullana bliyorduk biz bunu ileride daha karşık olmaması için 3 veya 4 değer alındığında sıralar karışmasın diye
    format ile yapıyoruz



    sayi = int(input('sayı giriniz : '))

    print("seçtiğiniz sayı : {0} ".format(sayi))


    burada kullanıcıdan bir sayı aldık ve bunu format kullanarak string imize ekledik

    burada { } parantezleri kullanıyoruz ve içine index numarasını giriyoruz bunu daha iyi anlaşılması için bir örnek daha yapalım

    Kod:
    
    sayi = int(input('sayı giriniz : '))
    sayi1 = int(input('sayı giriniz : '))
    
    toplam = sayi + sayi1
    print("{0} + {1} = {2} ".format(sayi,sayi1,toplam))

    burada kullanıcıdan 2 tane sayı aldık ve değişkenler imize ekledik ardından toplamlarını bir değişkene ekledik
    print() ile ekrana yazdırıcağımızı belirttik ve içinde "{0} + {1} = {2} " ile format fonskiyonu kullanıcağımız için

    ortam hazırladık ve sıralamamızı yaptık ardından .format() ile sırası ile değişkenlerimizi yadık çıktımız ise

    5 + 2 = 7

    burada ilk sayıyı 5 ikinci sayıyı ise 2 girdim ve sonuç 7 olarak bize döndü buranın da anlaşıldığını sanarak devam ediyorum


    koşul ifadeleri :

    koşul ifaderi kullanıcı yı denetlememiz için kullandığımız kodlar dır mesela kullanıcıdan input ile 2 sayı alalım

    ve bunları kullanıcının seçiceği işleme göre toplayalım yada çıkaralım

    burada if elif ve else kullanıyoruz

    if ile ilk koşulumuzu yazıyoruz ardından başka koşullar yazıcaksak elif kullanıyoruz ve son olarak koşularımız sağlanmazsa
    ne olucağını belirlemek için else kullanıyoruz bir örnek ile açıklayalım

    Kod:
    sayi = int(input('sayı giriniz : '))
    sayi1 = int(input('sayı giriniz : '))
    
    secim = int(input("toplama icin 1 e çıkarma için 2 ye basınız : "))
    
    if secim == 1 :
        toplam = sayi + sayi1
        print("{0} + {1} = {2} ".format(sayi,sayi1,toplam))
    elif secim == 2 :
        cikar = sayi - sayi1
        print("{0} - {1} = {2} ".format(sayi,sayi1,cikar))
    else:
        print("hata ")
    

    şimdi kodumuzu inceleyim ve neler yaptığımızı neden yaptığımızı öğrenelim


    kullanıcıdan 2 tane sayi istedik ve bunları bir değişkene kaydettik ardından kullanıcadan bir seçim yapmasını istedik

    1 e basarsa sayıları toplama yapıcağımızı 2 ye basarsa çıkarma yapıcağımızı belirtiyoruz ardından if ile

    ilk koşulumuzu oluşturduk burada secim == eğer 1 ise if bloguna giricek ve toplama işlemi olucak

    eğer secim ==2 ise elif bloguna giricek ve çıkarma yapıcak tır eğer kullanıcı körse 3 basarsa diye birde else ekleledik

    burada bizim isteklerimiz olmadığı için hata yazdırdı ekrana

    burada if bloklarında bilmemiz gereken şey karşılaştırma operatörleri bunlar ı açıklayalım
    < kücüktür
    > büyüktür
    <= kücük veya eşit se
    >= büyük veya eşitse
    != eşit değil ise

    == yani iki eşitdir kullanırsak 2 değerinde eşit olmasını bekler burada 2 değer eşit olursa sonucumuz True
    olucak ve if bloğuna giricektir bir ayrı nokta ise blok olduğunu belirtmek için : nokta kullanıyoruz ve bir alt satırda
    bir tap boşluğu bırakarak kodlarımızı yazıyoruz bunun sebebi eğer kodlarımızı birleşik yazarsak bilgisayar

    hangisinin if e ait hangisinin elif e ait olduğunu alayamaz bu yüzden tap boşluklarını kullanıyoruz

    burada if bir kez yazılır ardından elif i sitediğimiz kadar kullana biliriz ve son olarak else yi kullanılırız

    şidmi ise and ve or ifadeleri ni kullanmayı öğrenelim ve ardından bütün bildiklerimizi kullanarak bir login paneli yapalım

    and ifadesi ve demek bildiğiniz üzere or ise veya demek

    burada koşul ifadelerinde kullanırken and ifadesi 2 sonucu da doğru bekler or ifadesi ise birtanesinin doğru olmasını yeterli
    bulur

    Kod:
    
    sayı = 10
    sayı1 = 7
    
    if sayı >= 1 and sayı <= 10 :
        print("sayınız bir ve 10 arasında ")
    
    if sayı1 > 20  or sayı1 < 15  :
        print("sayınız 10 dan büyük ")

    burada 2 değişken oluşturduk birisi 10 a birisi 7 ye eşit

    ilk if blogunda sayı büyük veya 1 e şit se ve sayı kücük veya 10 a eşit ise aşşağı daki kodlarımı çalıştır
    burada if bloğu içindeki değer True olduğunu için if bloğuna girilir ve kodlarımız çalışır

    burada çünkü 2 değer de doğru eğer bir tane si yankış olsaydı bu sefer diğeri doğru olsa bile and kullandığımız için

    değerimiz False olucaktı ve if çalışmıyacaktı

    ardından diğer if blodunda ise sayı1 büyükse 20 den veya sayı1 kücük ise 15 den aşağıdaki kodlarımı çalıştır

    burada or kullandık ve sayımız 20 den büyük olmasa bile 15 den küçük olduğu için kodumuz çalışıcaktır bunun sebebi
    or kullanmamız yukarıda dediğimiz gibi or ifadesinde sadece 1 tane True değer olması yeterlidir

    şimdi bildiklerimizi artık kullanalım ve ilk programı mızı yapalım hep oku oku sıkılırız

    Kod:
    kullanıcıAdı = "Admin"
    parola = "ayyıldıztim"
    
    username = input("kullanıcı adı giriniz : ")
    password = input("parola giriniz ")
    
    if username == kullanıcıAdı and password == parola :
        print("giriş başarılı yönlendiriliyorsunuz ")
    
    elif username == kullanıcıAdı and password != parola :
        print("parola yanlış ")
    
    elif username != kullanıcıAdı :
        print("böyle bir hesap yok  ")
    
    else :
        pass

    kodumuzu okuyalım ve iyi ce anlıyalım

    burada ilk olarak bir kullanıcı adı ve parola oluşturduk

    ardından kullanıcı dan bir kullanıcı adı ve şifre istedik

    sonra if bloğuna eğer kullanıcı adı bizim belirlediğimiz kullanıcı adına ve parola bizim belirlediğimiz parola ya eşit ise

    kodlarımızın çalışmasını söyledik burada hatırlatma and kullandığımız için 2 değer de doğru olmalı

    ardından elif bloğuna ise eğer kullanıcı adı doğru ise ve parola yanlış ise kod bloğumuz çalış sın dedik

    ve burada da and kullandığımız için 2 değer de doğru olmalı

    bir sonraki elif bloğunda ise kullanıcı adı bizim belirttiğimiz kullanıcı adına eşit değilse kod bloğumuz çalışsın dedik

    son olarak else yi de pass yani hiçbir değer olmazsa birşey yapma olarak ayarladık

    ilk olarak bütün bilgilerimizi doğru girelim

    kullanıcı adı giriniz :

    Admin

    parola giriniz

    ayyıldıztim

    giriş başarılı yönlendiriliyorsunuz

    çıktımız bu şekilde

    ardından şifremizi yanlış girelim

    kullanıcı adı giriniz :


    Admin

    parola giriniz

    asdasd

    parola yanlış

    çıktımız bu şekilde şimdi bir de kullanıcı adını yanlış girelim

    kullanıcı adı giriniz :


    deneme

    parola giriniz


    ayyıldıztim

    böyle bir hesap yok

    çıktımız bu şeklide

    evet ilk programımızı yazdık ve başarılı bir şikilde çalıştı şimdi artık döngülerimizi öğrene biliriz




    döngüler :

    döngüler programlama sırasında bizim için aynı istediğimiz kodu sürekli veya biz diyene kadar çalıştıran kod bloklarıdır

    işimizi fazlası ile kolay laştırır

    örnek verelim 10 kez ekrana ayyıldıztim yazdırıcak olalım bunu on kez print kullanarak yazmak hem saçma hemde gereksiz olur

    burada ilk döngümüz while döngüsü bir değer alır bu değer True ise sürekli döngü çalışır False olduğunda ise döngü sonlanır


    while döngüsü :

    Kod:
    
    while True :
        print("sınırsız döngü ")
    burada bir sınırsız döngü oluşturduk bu döngü siz programı kapatana kadar çalışır hiçbir şekilde durmaz bu tarz bir kullanım yanlıştır

    Kod:
    i = 0
    while i <= 10 :
        print("ayyıldıztim")
        i= i + 1
     

    bu döngümüz ise i değişkeni 10 dan küçük olduğu müddet çe True olucağı için çalışıcak tır taki i 0 olana kadar
    burada eğer döngü içerisinde i = i + 1 yazmasaydık döngümüzde i değişkeninin değeri artımıyacağı için yine sınırsız bir döngü

    oluşturucaktık bu yüzden 1 değişkenini her bir döngü tamamlandığında bir artıcak şekilde ayarladık

    sırada for döngüsü ne bakalım

    for döngüsü :


    for döngüsü biraz daha kapsamlı bir döngüdür listelerde dosya işlemlerinde kullanıla bilir

    örnek bir kullanım yaparak daha net bir şekilde anlıyalım

    Kod:
    listem = ["selam" , 1, 2, 3, 4]
    
    
    for i in listem :
        print(i)
    

    burada bir liste değişkeni oluşturduk ve for döngüsü ile listemizin içerisinde gezindik

    burada i yerine istediğiniz şeyi yazabilirsiniz ama genelde kısa kullanım a alışmanızı tavsiye ederim

    in ile listem değilkenindeki elemanları i değişkenine verdik burada her döngüne de bir değişken olarak alıyor

    yani döngümüz ilk çaıştığında listemizin bütün elemanlarını değil sadece ilk elemanını ardından 2 kez çalıştığında

    ise 1 değerini alıyor ve listemiz bittiğinde for döngümüz sonlanıyor

    for döngüsü nü kullanırken range() fonksiyonundan yaralana biliriz

    for döngüsü örneklerimizde bakalım buraya ve iç içe for döngüsüne de değilinelim


    for döngüsü örnek :


    range fonksiyonu bizim belirli sayı aralıklarıda değer almamızı kolaylaştırı örnek verelim

    Kod:
    for i in range(10):
        print(i)
    

    burada range ile 0 dan başlayarak 10 a kadar olan sayıları for döngüsü kullanarak ekrana yazdırdık

    uzun uzadı şeklinde sayılar vermekten se range ile istediğimiz sayıya kadar yazdırdık bunun avantajı şudur

    990 sayısında gitmeniz gerektiğini düşünün 990 a kadar yazıcak değiliz değilmi :) bu yüzden range kullanıyoruz

    bir tane de iç içe for döngüsüne örnek verelim ve break ve continue a geçelim

    Kod:
    listem = ["ayyıldıztim","eğitim"]
    
    
    for i in range(10):
        print(i)
        for j in listem :
            print(j)
    

    burada şu şekilde bir çıktı alırız


    0
    ayyıldıztim
    eğitim
    1
    ayyıldıztim
    eğitim
    2
    ayyıldıztim
    eğitim
    3
    ayyıldıztim
    eğitim
    4
    ayyıldıztim
    eğitim
    5
    ayyıldıztim
    eğitim
    6
    ayyıldıztim
    eğitim
    7
    ayyıldıztim
    eğitim
    8
    ayyıldıztim
    eğitim
    9
    ayyıldıztim
    eğitim

    fark ettiyseniz ilk döngümüz bir kez döndüğü zaman içeride bulunan 2 döngümüz bütün listeyi dönüyor ve ilk for döngümüz o zaman

    tekrar çalışıyor iç içe for döngüsü de bu şekilde şimdi break ve continue a geçelim


    break ve continue :

    break ve continue kullanmamızın sebebi bir liste düşünelim 1 den 10 kadar olan ama bizim istediğimiz değer 5 olsun

    ben 5 i görücem diye 1 den 10 programımın döngüyü bitirmesini mi bekliyeceğim işte burada break ve continue kullanıyoruz

    Kod:
    
    for i in range(10):
        print(i)
        if i == 5 :
            break   

    burada range ile 10 a kadar bir sayı listesi oluşturduk ve for döngümüz ile içerisinde gezindik

    ardından her döngüde bir i yi ekrana yazdırdk ve if ile bir koşul oluşturduk burada i 5 e eşit olduğunda break
    yani döngüyü kır dedik burada çıktımız 1 den 10 kadar değil
    1 den 5 e kadar olucaktır


    continue da ise istediğimiz birşey sağlınırsa döngü o aşamayı atlar bir sonraki durumdan devam eder

    örnek ile daha anlaşılır bir şekilde tanımlayalım

    Kod:
    for i in range(10):
        if i == 5 :
            
            continue
        print(i)
    
    
    burada çıkıtımız
    0
    1
    2
    3
    4
    6
    7
    8
    9

    fark ettiyseniz döngü sonlandırılmadı sadece 5 yazılmadan diğer kısıma geçildi işte continue yu bu şekilde kullana biliriz

    evet bu konuda anlaşıldıysa artık fonksiyonlar a geçiş yapabliriz


    fonksiyonlar :

    fonksiyonlar kodumuzu daha temiz tutar ve sürekli kendimizi tekrar etmemizi engeller ve daha seri çalışma yapabiliriz

    örnekler le iyi ce anlıyalım

    python da fonksiyon oluşturmak için yapmamız gerek şey def kullanmaktır

    Kod:
    def egitim() :
        pass
    

    olayımız bu burada egitim adında bir fonksiyonunu oluşturduk

    bu satır altında koldarımızı yapabiliriz bir örnek le pekiştirelim ve önceki konularımızı da hatırlayalaım bir hesap makinesi yapalım

    Kod:
    def hesapMakinesi() :
        print("""
    
            1 - toplama için basın 
            2 - çıkarma için basın
            3 - bölme için basın
            4 - çarpma için basın
    
            """)
    
        secim = int(input("islem seciniz : "))
    
        if secim == 1 :
    
            sayı1 = int(input("ilk sayı yı giriniz : "))
            sayı2 = int(input("ikinci sayı yı giriniz : "))
    
            toplam = sayı1 + sayı2
    
            print("{0} sayısı ile {1} sayısının toplamı = {2}".format(sayı1,sayı2,toplam))
            
        elif secim == 2 :
    
            sayı1 = int(input("ilk sayı yı giriniz : "))
            sayı2 = int(input("ikinci sayı yı giriniz : "))
    
            sonuc = sayı1 - sayı2
    
            print("{0} sayısı ndan  {1} sayısının çıkarınca sonuc  = {2}".format(sayı1,sayı2,sonuc))
    
        elif secim == 3 :
    
            sayı1 = int(input("ilk sayı yı giriniz : "))
            sayı2 = int(input("ikinci sayı yı giriniz : "))
    
            sonuc = sayı1 // sayı2
    
            print("{0} sayısı ile {1} sayısının tam bölümü  = {2}".format(sayı1,sayı2,sonuc))
    
        elif secim == 4 :
    
            sayı1 = int(input("ilk sayı yı giriniz : "))
            sayı2 = int(input("ikinci sayı yı giriniz : "))
    
            sonuc = sayı1 * sayı2
    
            print("{0} sayısı ile {1} sayısının çarpımı  = {2}".format(sayı1,sayı2,sonuc))
        else :
            print("Sayı girmelisiniz ")
    

    burada def hesapMakinesi adında bir değişken oluşturduk ve kodlarımızı ekledik burada yalın olunca pek bir anlam ifade etmemizi

    ama ileride başka bir yerde toplama işlemi yapmamız gerektiği zaman bu fonksiyonu kullanarak tekrardan bir dünya işlem yapmaktansa

    bir satır da işimizi bitire biliriz

    fonskiyonu oluşturduk tan sonra programı çalıştırınca bir sonuç oluşmaz çünkü fonskiyonu muzu çağırmadık

    bunun için

    hesapMakinesi() şeklinde fonskiyonu muzuzu çağırmamız gerekecektir

    fonksiyon blogunun dışında çağırmazsak çalışmaz "hatırlatma"

    bir başka kullanım şekli ise fonksiyonumuza değer vererek yapabiliriz hemen bir fonksiyon yazıp inceleyelim

    Kod:
    def toplama(a,b):
        toplam = a + b
        print("{0} ile {1}  toplamı = {2}".format(a,b,toplam))
    
    
    toplama(10,5)
    burada fonskiyonu oluştuturken içine değer ekledik a ve b şeklinde alt kısımda ise a ile b yi topladık ve ekrana yazdırdık


    fonskiyonu muzu çağırırken içerisine toplamak istediğimiz değerlerimizi verdik ve çıktımız

    10 ile 5 toplamı = 15

    şeklinde oldu

    buradan aslına kulladnığımız fonksiyon ların çalışma şekilini anlaya biliriz
    global ve yerel değişkenler :
    burada bilmemiz gerek bir diğer husus ise değişkenlerimizin aslında global olmadığıdır bir örnek verelim

    Kod:
    def toplama(a,b):
        toplam = a + b
        print("{0} ile {1}  toplamı = {2}".format(a,b,toplam))
    
    
    toplama(10,5)

    bu fonksiyonumuzda toplama isimli bir değişken oluşturduk ama toplama değişkenine fonksiyonumuzu kapattıktan sonra ulaşamayız

    bunun sebebi yerel değişken olarak kullanmış olmamız

    eğer değişkenlerimi global değişken yaparsak programımızın her yerinde erişim sağlaya biliriz
    bir örnek le iyi ce kavrayalım

    Kod:
    def sayı():
        global sayı1
        sayı1 = 5
    
    
    def toplama(a,b):
        toplam = a + b
        print(sayı1)
        print("{0} ile {1}  toplamı = {2}".format(a,b,toplam))
    
    
    sayı()
    toplama(10,4)
    

    burada normalde sayı fonksiyonunun içindeki sayı1 değişkenine erişemeyiz ama global bir değişken olarak tanıttığımız için diğer fonksiyonumuzda
    erişe bildik çıktımıza bakalım

    5
    10 ile 4 toplamı = 14

    ilk başta sayı1 i yadırdığımız için ilk olarak o yazıldı

    modüller :

    konunun başında bahsetmiştim python %70 olarak modül kullılan bir dil dir bir çok konuda daha önce yzılmış modülleri kullanarak
    daha kısa bir şekilde yazılım geliştirmemiz mevcut dur

    kütüphane eklemek için from ve import komutlarından faydalanıyoruz bir örnek yapalım ve ilk basit script imizi yazalım

    burada import ile kütüphaneden istediğimiz sınıfları from ile de kütüphaneleri dahil ediyoruz

    from kullanırken import kullanmamız gerekiyor

    Kod:
    import os
    
    def nmapScan():
    
        print("""
    
        1 - agda bulunan bilgisayarları öğrenme
        2 - default scriptler ile tcp port taraması
        3 - firewall bypass
            """)
        secim = int(input("yapmak istediğiniz işlemi seciniz : "))
    
        if secim == 1 :
            ip = input("local modem ip sini giriniz örn(192.168.1.1) : ")
            os.system("nmap {0}/24".format(ip))
        elif secim == 2 :
            ip = input("target ip giriniz : ")
            os.system("nmap -sC -sV {0} -oN nmap.cıktı".format(ip))
            print("cıktınız nmap.cıktı dosyasına kaydedildi ")
        elif secim == 3:
            ip = input("target ip adresini giriniz : ")
            os.system("nmap --script firewall-bypass {0}".format(ip))
        else :
            print("hatalı değer ")
    
    nmapScan()
    

    burada import ile os sınıfını programımıza dahil ettik ve basit bir nmap programcığı yaptık burada kullandığımız os modülü

    terminalimizde komut çalıştırmak için kullanılan bir modül birazcık da nmap bilgisi ile basit bir programcık yapmış olduk
    şimdi birde direk olarak sınıfına erişemediğimiz bir kütüphaneyi dahil edelim

    Kod:
    from datetime import time
    
    x = time(hour=15)
    
    print(x)
    


    burada from ile datetime i göstererek import ile içerisinden time cass ını dahil ettik

    bu şekilde kendi yazdığınız python kodlarını da programınıza dahil edebilirsiniz

    sınıf yapısını daha görmediğimiz için burada bir örnek göstermiyeceğim ileride bunu detaylı bir şekilde görücez

    try except hata blokları :

    try ve except hata blokları bir programın olağan dışı bir şey ile karşılaşırsa ne yapıcağının tanımlandığı yerdir
    try ile başlar except ile biter örneklerimizle inceleyim

    Kod:
    sayi1 = int(input("sayı girin : "))
    

    burada input umuz değeri int a çeviriceği için bir harf girdiğimiz zaman ValueError vericektir işte try except ile bu tarz hatalarda
    programımız sonlanmasın bizim istediklerimizi yapsın diye kurallar oluşturuyoruz

    try ın içerisine hata dönebilicek değerlerimizi except in içine ise hata gelirse programımızın ne yapması gerektiğini söylüyoruz

    Kod:
    try :
        sayi1 = int(input("sayı girin : "))
    except ValueError :
        print("sanırım sayı girmeni istedim  ")
    
    burada try ile inputumuzu kontrol ediyoruz eğer input değerimiz bize ValueError dönerse kullanıcı harf girerse except blogumuz çalışıyor

    ve çıktımız

    sayı girin : e

    sanırım sayı girmeni istedim

    bu şekilde hatalara çözüm bulabiliyoruz

    şimdi dosya işlemlerine geçelim eğer buraya kadar anlamadığınız bir kısım varsa dönüp tekrar tekrar okuyun çünkü artık kodlarımızı

    acıklamak ile uğraşmıyacağım


    dosya işlemleri :

    dosya işlemlerinde bir dosyayı okuya biliriz bir dosyanın içine yazı yazabiliriz içeriğini değiştirebiliriz yeni bir dosya
    oluşturabiliriz

    bir dosya yı açmak için open fonskiyonu nu kullanıyoruz

    Kod:
    dosya = open("ayyıldız.txt","w")
    

    burada open ile ayyıldız.txt dosyasını açtık burada dosya yolundan sonra dosya açış amacımızı belirtiyoruz "w" write dan geliyor

    yazmak için kullanıyoruz lakin w ile dosya içine yazdığımız şeyler dosya içeriğini komple siliyor eğer o isimde bir dosya yoksa

    dosyamızı oluşturuyor

    Kod:
    dosya = open("ayyıldız.txt","r")
    

    burada dosyamızı r yani read okumak için açıyoruz dosya işlemleri çok önemlidir ilerde gerçek bir login paneli yaparken veriyi

    yazılımda tutursak 10 dk sonra index yeriz bunun için verilerimizi dosyalarda tutuyoruz bu konuda db bağlantılarını göstermiyeceğim

    zaten fazlası ile uzun oldu şuan text editörüm 1100 satır olduğunu söylüyor .

    burada kullana biliceğimiz 6 farklı dosya parametresi bulunuyor

    r ve r+ r+ hem dosya okuma hemde yazma işlemi için kullanılır

    w ve w+ w+ hem dosya okuma hemde yazma işlemi için kullanılır dikkatli kullanılmazsa dosyalarımız yakablir yukarıda bahsettim

    a ve a+ a append den geliyor dosya mızı yoksa oluşturur varsa en sonuna imceli yerleştirir yani dosya içeriğini silmez

    a+ ise hem okuma hemde yazmak için kullanılır şimdi örneklendirelim dosya işlemlerinde ben yeni kullanıcıların yukarıdaki gibi

    dosya oluşturmasını pek olumlu bulmuyorum bunun sebebi açtığınız her dosyayı dosya.close() şeklinde kapatmanız gerekiyor

    ve bunlar uzun kodlarda unutulursa projemizi yakabilir

    bunun için en güzel fonsiyonumuz with fonksiyonudur örnek verelim


    Kod:
    with open("ayyıldız.txt") as dosya :
        pass

    burada with ile dosya açma işlemi bukadar bu şekilde parametre vermezsek default olarak r modunda açıcaktır dosyamızı with

    ile dosya.close() kullanmanıza gerek yoktur with bloğundan çıkmanız yeterlidir

    şimdi hepsini bir güzel örneklendirelim
    Kod:
    with open("ayyıldız.txt") as file :
        dosya=file.read()
        print(dosya)
    
    bu şekilde dosyamızı okuya biliriz lakin read() fonksiyonu bize harf harf dönücektir bu yüzden büyük dosyaları okurken readlines()
    kullanılır

    Kod:
    with open("ayyıldız.txt") as file :
        dosya=file.readlines()
        print(dosya)
    

    burada readlines() fonksiyonu nu kullandık bu bize kelime kelime dönücektir ama liste şiklinde olucaktır değerimiz


    peki güzel ama bir dosyayı komple okumak zorundamıyız biz istediğimiz bir yeri okuyamıyormuyuz bunun için seek() fonksiyonundan
    faydalanıyoruz

    örnek verelim

    Kod:
    
    with open("ayyıldız.txt") as file:
        file = file.seek(10)
        print(file.read())

    burada dosyamızda bulunan 10 ile imlecimizi dosyanın başından 10 karaktere getiyoruz ve ordan sonrasını okuyoruz
    şimdi dosya ya veri yazma ya bakalım

    Kod:
    with open("deneme.txt","w") as dosya:
        dosya.writelines(["merhabalar iyi öğrenmeler\n"])
    
    burada write modunda dosyamızı açtık içine yazıcaklarımızı dosya.writelines() fonksiyonu ile belirttik

    ve nesne tabanlı programlama :

    evet python u en sevdiğim olayı class yapısı sade ve basit bir anlatım ile son konumuzu da bitirelim ozaman

    uyarı : burası biraz karışa bilir python u iyi ce öğrenmeden buradan pek birşey anlamıya bilirsiniz


    sınıf ları biz büyük projelerimizde kodlarımız karışmasın diye kullanıyoruz sınıflarımızda o sınıfa özel fonksiyonlar
    oluşturabiliyoruz

    burada basit sınıf yapısından bahsediceğim için başka sınıfları sınıfımıza dahil etmiyeceğiz

    basit bir oyun yazalım ve konumuzu bitirelim

    bilmemiz gerekenler

    sınıf yapısında bizim büyülü fonskiyonlarımız bulunur bunlar __init__ gibi fonksiyonlardır bunlar ile sınıfımız ayağa kalktığında

    neler olucak biterken neler olucak onları belirleriz burada basit bir anlatım yaptığımız için ben sadece __init__ yapıcı fonksiyonundan

    bahsediceğim bu fonksiyon sınıfımız aktif olduğunda ilk yapılacak şeyleri eklediğimiz yerdir

    2. bilmemiz gereken ise sınıflar da self kullanımı dır self kullanmamızın sebebi erşim dir kullanmazsak sıfımızda hiçbir şeye erişme

    şansımız olmaz şimdi kodumuzu yazalım

    Kod:
    import time
    
    
    class oyunum:
        
        def __init__(self):
            self.content = True
    
    
        def oyuncu_olustur(self,heal=0):
            can = heal
            return can
            
    
        def olum(self,heal):
            can = 0
            print("oyuncu öldürüldü")
            return can
    
    
    
        def saldır(self,damage=0):
            hasar = damage
            print("saldırıyoruz ")
            dusman_heal = self.dusman()
            dusman_heal = dusman_heal - hasar
            print("düşmana {0} hasar vurduk ".format(hasar))
            print("düşmanın canı artık : {0}".format(dusman_heal))
            return dusman_heal
    
    
        def dusman(self):
            dusman_heal = 100
            return dusman_heal
    
    
        def savun(self,damage=0,can=0):
            hasar = damage
            can = can - hasar
            return can
    
        def sonuclar(self,heal):
            secim = input("düşmana saldırılsın mı E:H").upper()
            if secim == "E" :
                self.saldır(damage=20)
            elif secim == "H" :
                print("düşman tekrar saldırıyor ")
                
                can=self.savun(damage=30,can=heal)
                print("bu gidişle ölücez ")
                print("canımız çok az kaldı can : {}".format(can))
                return can
                
            else:
                pass
    
    
    
    
        def oyun(self):
            can = self.oyuncu_olustur(heal=150)
            print("oyuncumuz hazır canımız:{0}".format(can))
            time.sleep(1)
            print("düşman saldırıyor ...")
            can = self.savun(damage=15,can=can)
            print("düşmana karşı kazandık ama biraz hasar aldık yeni canımız :{0}".format(can))
            can = self.sonuclar(heal=can)
            self.sonuclar(heal=can)
    
                
    
    
    run = oyunum()
    
    run.oyun()
    
    
    bu şekilde oyunumuzuda programladık ve konumuzu kapatıyoruz iyi çalışmalar umarım beğenirsiniz
     
  2. Dengizer Yarbay

    Katılım:
    22 Ocak 2017
    Mesaj:
    641
    Alınan Beğeniler:
    3,201
    Meslek:
    Kaptan-ı Derya

    Özel Mesaj
    Eline sağlık yararlı bir konu olmuş.
     
  3. CnuxBel Guest

    • Guest
    Katılım:
    27 Aralık 2020
    Mesaj:
    181
    Alınan Beğeniler:
    361

    Özel Mesaj
    sağolun komutanım
     
    Mr-Onion, Akerim, Orion-Pax ve 1 kişi daha bunu beğendi.
  4. CnuxBel Guest

    • Guest
    Katılım:
    27 Aralık 2020
    Mesaj:
    181
    Alınan Beğeniler:
    361

    Özel Mesaj
    komutanım bir konuya girmek istiyorum ama çok mu ağır olur bilemedim Reverse engineering bu konu hakkın eğitim açsam anlaşılır mı önerirmisiniz
     
    Mr-Onion, Akerim, Orion-Pax ve 1 kişi daha bunu beğendi.
  5. WALKER5766 Guest

    • Guest
    Katılım:
    11 Şubat 2021
    Mesaj:
    1
    Alınan Beğeniler:
    4

    Özel Mesaj
    Çok Güzel Anlatmışsınız Sağalun
     
    Mr-Onion, Akerim, Orion-Pax ve 1 kişi daha bunu beğendi.
  6. CnuxBel Guest

    • Guest
    Katılım:
    27 Aralık 2020
    Mesaj:
    181
    Alınan Beğeniler:
    361

    Özel Mesaj
    teşekkür ederim
     
    Mr-Onion, Akerim, Cyber1adam ve 2 kişi daha bunu beğendi.
  7. GhostFace58 Atıldı

    • Guest
    Katılım:
    13 Eylül 2020
    Mesaj:
    721
    Alınan Beğeniler:
    1,704

    Özel Mesaj
    Devrem peki bu def kodu bir kutu gibimi gibimi yani html deki div gibimi.?

    Mesela html'de

    <div>

    <h1>BlaBlaBla</h1>

    </div>

    Kullanarak bir kutu gibi kodlarımızı içine yazabiliyoruz def'de aynı mantıkmı acaba.?
     
    Mr-Onion, Akerim, Cyber1adam ve 1 kişi daha bunu beğendi.
  8. CnuxBel Guest

    • Guest
    Katılım:
    27 Aralık 2020
    Mesaj:
    181
    Alınan Beğeniler:
    361

    Özel Mesaj
    evet devrem python da fonksiyonlar da benzer şekilde dir içerisine tab boşluğu bırakarak yazdığın kodlar o fonksiyona ait dir o fonksiyonu çalıştırdığında altında bulunan kodlar çalışır diğer dillerden farkı kapatma ihtiyacı yoktur

    def selam():
    print("selam")

    selam()


    örneğindeki gibi fonksiyonları kapatmaya ihtiyac duymadan devam edebilirsin kodlarını yazmaya

    burda bir fark da fonksiyonunu çağırman gerekir eğer fonksiyonunu çağırmaz san o fonksiyonun altında yazdığın kodlar çalışmıyacaktır
     
    Antimasson, Mr-Onion, Akerim ve 3 kişi daha bunu beğendi.
  9. GhostFace58 Atıldı

    • Guest
    Katılım:
    13 Eylül 2020
    Mesaj:
    721
    Alınan Beğeniler:
    1,704

    Özel Mesaj
    Sağolasın devrem şimdi anladım.
     
    Mr-Onion, Akerim, Cyber1adam ve 2 kişi daha bunu beğendi.
  10. CnuxBel Guest

    • Guest
    Katılım:
    27 Aralık 2020
    Mesaj:
    181
    Alınan Beğeniler:
    361

    Özel Mesaj
    herhangi bir takıldığın kısımda yaz devrem elimden geldiğince yardımcı olmaya çalışırım
     
    Mr-Onion, Akerim, Cyber1adam ve 2 kişi daha bunu beğendi.
  11. TsM41 Guest

    • Guest
    Katılım:
    21 Şubat 2021
    Mesaj:
    4
    Alınan Beğeniler:
    15

    Özel Mesaj
    Valla eline sağlık çok güzel olmuş bende yeniyim daha öğrenmeye çalışıyorum
     
    Mr-Onion, Akerim, Cyber1adam ve 1 kişi daha bunu beğendi.
  12. CnuxBel Guest

    • Guest
    Katılım:
    27 Aralık 2020
    Mesaj:
    181
    Alınan Beğeniler:
    361

    Özel Mesaj
    yarar lı olabildiysem ne mutlu bana devrem
     
    Mr-Onion, Akerim, Cyber1adam ve 2 kişi daha bunu beğendi.
  13. elasham YÜZBAŞI

    Katılım:
    16 Kasım 2016
    Mesaj:
    13
    Alınan Beğeniler:
    57
    Meslek:
    Jandarma

    Özel Mesaj
    Güzel çalışma olmuş eline sağlık
     
  14. CnuxBel Guest

    • Guest
    Katılım:
    27 Aralık 2020
    Mesaj:
    181
    Alınan Beğeniler:
    361

    Özel Mesaj
    sağolun komutanım En kısa zamanda yenileri ile buradayım
     
  15. Orion-Pax Guest

    • Guest
    Katılım:
    10 Mayıs 2018
    Mesaj:
    2,222
    Alınan Beğeniler:
    7,889
    Meslek:
    Sosyal Medya Uzmanı

    Özel Mesaj
    hoşgeldiniz Komutanım. :) kolay gelsin diyor, iyi nöbetler ve iyi forumlar diliyorum Komutanım. saygılarımla Komutanım.
     
  16. elasham YÜZBAŞI

    Katılım:
    16 Kasım 2016
    Mesaj:
    13
    Alınan Beğeniler:
    57
    Meslek:
    Jandarma

    Özel Mesaj
    Hoşbuldum. Sağol
     
    8ur4kk05e, Antimasson, kakys ve 8 kişi daha bunu beğendi.
  17. CaneR Guest

    • Guest
    Katılım:
    16 Temmuz 2012
    Mesaj:
    44
    Alınan Beğeniler:
    68

    Özel Mesaj
    Teşekkürler bilgilendirici olmuş
     
    • Guest
    Katılım:
    31 Temmuz 2018
    Mesaj:
    61
    Alınan Beğeniler:
    132

    Özel Mesaj
    Devrelerim forumda yeni konu açılmıyor mu acaba? Mesaj gönderme yetkiniz yok diyorda..
     
  18. KURTDERELİ Yarbay

    Katılım:
    31 Mart 2016
    Mesaj:
    360
    Alınan Beğeniler:
    1,397
    Meslek:
    ..

    Özel Mesaj
    Nerede konu açma yetkin varsa orada aç gerekli yere biz taşırız
     
    8ur4kk05e ve Dark-Kripton bunu beğendi.
    • Guest
    Katılım:
    31 Temmuz 2018
    Mesaj:
    61
    Alınan Beğeniler:
    132

    Özel Mesaj
    Komutanım python bölümünde bir konu açmak istedim lakin açamadım.
    Diğer bölümlere girdiğimde'de aynı hata ile karşılaşıyorum acaba ceza mı aldım?
    Ceza aldıysam'da sebebini öğrenebilirmiyim?
    Zira uzun zamandır aileme uğramıyordum.
     

Bu Sayfayı Paylaş