• 20-01-2023, 16:14:38
    #1
    Herkese merhaba,

    Daha öncesinde C Programlama dili üzerinde kendimi geliştiriyordum. Şimdi ise Python'a geçtim. C programlama dilinde değişken ataması yapmadan önce değişkenlerin hangi veri tipi olacağını derleyiciye bildiriyorduk. Örneğin int,char,float, double vb. tarza ancak python için bunu yapmak zorunda değiliz peki neden? İnternet üzerinde yaptığım araştırmalarda bir kaç sonuç elde ettim ama emin değilim.

    Bulduklarım;
    • Python dinamik bir programlama dili iken C statik bir programlama dilidir.
    • Python derleyiciye ihtiyaç duymaz onun yerine yorumlayıcı kullandığı için
  • 20-01-2023, 16:17:15
    #2
    Kolaylık olsun diye, insan diline yakın olsun diye
  • 20-01-2023, 16:17:40
    #3
    Software Developer
    Merhaba,
    Bulduklarınız doğru. Dinamik bir dil olduğu için veri tipi tanımlaması yaptırılmıyor. Ama bu, bir veri tipine sahip olmadığı anlamına gelmez. Örneğin;

    >>> sayi = 1
    >>> isim = "emre"

    >>> print(type(sayi))
    int

    print(type(isim))
    str

    Derleyici ile alakalı bir durum yok bu arada, hafıza yönetimi go/c gibi dillere nazaran çok daha geri planda kalıyor.
  • 20-01-2023, 16:21:08
    #4
    dev
    Kurumsal Üye
    gocen adlı üyeden alıntı: mesajı görüntüle
    Kolaylık olsun diye, insan diline yakın olsun diye
    string deger atanan degiskene daha sonra int atanabiliyor galiba. Boyle kolay olmaz olsun
  • 20-01-2023, 16:21:40
    #5
    Draco adlı üyeden alıntı: mesajı görüntüle
    Merhaba,
    Bulduklarınız doğru. Dinamik bir dil olduğu için veri tipi tanımlaması yaptırılmıyor. Ama bu, bir veri tipine sahip olmadığı anlamına gelmez. Örneğin;

    >>> sayi = 1
    >>> isim = "emre"

    >>> print(type(sayi))
    int

    print(type(isim))
    str

    Derleyici ile alakalı bir durum yok bu arada, hafıza yönetimi go/c gibi dillere nazaran çok daha geri planda kalıyor.
    Anladım yorumunuz için teşekkürler peki buradan şu sonuca ulaşabilir miyiz? Çalışma hızı olarak dinamik diller statik dillere göre daha yavaştır çünkü değişkenin hangi veri tipine ait olduğunu belirlemesi gerekir
  • 20-01-2023, 16:23:10
    #6
    dev adlı üyeden alıntı: mesajı görüntüle
    string deger atanan degiskene daha sonra int atanabiliyor galiba. Boyle kolay olmaz olsun
    Evet öyle bende yeni yeni python öğreniyorum bu galiba yazılımcılara esneklik kazandırıyormuş ama ben daha esnek bir tarafını(mantığını anlayamadım) göremedim
  • 20-01-2023, 16:23:27
    #7
    Software Developer
    Baran_Knt adlı üyeden alıntı: mesajı görüntüle
    Anladım yorumunuz için teşekkürler peki buradan şu sonuca ulaşabilir miyiz? Çalışma hızı olarak dinamik diller statik dillere göre daha yavaştır çünkü değişkenin hangi veri tipine ait olduğunu belirlemesi gerekir
    Evet, bununda büyük etkisi var.

    Bknz; https://www.quora.com/How-come-stati...t-Guntheroth-1
  • 20-01-2023, 17:07:21
    #8
    Baran_Knt adlı üyeden alıntı: mesajı görüntüle
    Herkese merhaba,

    Daha öncesinde C Programlama dili üzerinde kendimi geliştiriyordum. Şimdi ise Python'a geçtim. C programlama dilinde değişken ataması yapmadan önce değişkenlerin hangi veri tipi olacağını derleyiciye bildiriyorduk. Örneğin int,char,float, double vb. tarza ancak python için bunu yapmak zorunda değiliz peki neden? İnternet üzerinde yaptığım araştırmalarda bir kaç sonuç elde ettim ama emin değilim.

    Bulduklarım;
    • Python dinamik bir programlama dili iken C statik bir programlama dilidir.
    • Python derleyiciye ihtiyaç duymaz onun yerine yorumlayıcı kullandığı için
    Merhabalar,

    Bu işlem python'da zorunlu değil evet, sebebi yazılımcıya kolaylık sunmak için.
    Fakat siz bunu yapabilirsiniz; kendinizin, derleyicinin, okuyucunun işlerini kolaylaştırmış olursunuz. Bkz.:


    edit - fonskiyon
  • 20-01-2023, 17:09:15
    #9
    Python'da zorunlu tabii ama mypy kullanmaya başlayınca hayat biraz daha güzelleşiyor.

    https://mypy-lang.org/