• Etkileşimli Python Eğitimi. Python'a Giriş

    Ekipten yeni bir rotayı dikkatinize sunuyoruz Kodlayıcı- "Sıfırdan Web Uygulama Sızma Testi". Genel Teori, Çalışma Ortamı Hazırlığı, Pasif Fuzzing ve Parmak İzi Alma, Aktif Fuzzing, Güvenlik Açıkları, İstismar Sonrası, Araçlar, Sosyal Mühendislik ve daha fazlası.


    Python programlama dili uzun zamandır tüm programlama dilleri arasında lider bir konuma sahiptir. Uygulama sayısı ve yetenekler açısından C++ ve JavaScript gibi dillerle yarışır. Elbette Python, klasik programlama dillerinden çok daha gençtir, ancak yeni başlayanlar ve ilerisi için idealdir. Python, Pixar, NASA gibi büyük şirketlerde kullanılmaktadır.

    İlk önce: bu programlama dilinde dinamik yazım vardır, yani değişkenlerin türünü bildirmeye, bir türü diğerine aktarmaya ve bu değişkenlerde bulunan karakter sayısıyla ilgili herhangi bir kısıtlama düşünmeye gerek yoktur. Dinamik yazma, yeni başlayanlar için işleri kolaylaştırır, çünkü dilin nasıl çalıştığını anlamak için RAM ve CPU'yu derinlemesine araştırmaları gerekmez. Elbette, bir veri türünü diğerine aktarmanın bazı ilkelerini açıklayan kurallar vardır. Elbette Python öğrenirken bunlara dikkat etmelisiniz: bu şekilde derleyici tarafından tanınmayan mantıksal hatalardan kaçınabilirsiniz.

    Dinamik yazmaya bir örnek:

    ikincisi: bu dil, nesne yönelimli programlamanın en güçlü özelliklerine sahiptir. Bu, bir Python programının mantıksal yapısının, kodu nispeten az sayıda satıra sığacak şekilde oluşturulabileceği anlamına gelir. Aslında, Python'da yazılmış programlar, örneğin C ++ ile yazılmış aynı programlardan bir buçuk ila iki kat daha az satır alır.

    Python genel amaçlı bir dildir. Bu, yazılım geliştirmenin kesinlikle herhangi bir alanında uygulanabileceği anlamına gelir. Aslında Python'da her şey geliştirilebilir: NumPy modülünü (MatLab'a bir alternatif) kullanan karmaşık matematiksel sistemler, Django kullanan web uygulamaları, Tkinter kullanan grafik arayüzler, PyGame kullanan oyunlar vb.

    Bu dilin tek dezavantajı klasik dillere (C++, Java) göre hızının düşük olmasıdır. Öte yandan, modern bilgisayarların işlem gücü bu farkı fark edilmez kılıyor. Ancak burada da Python geliştiricileri ustaca bir çözüm bulmuşlardır. CPython çalışma zamanı, programı hızlandıran bir ara yerel kod aşaması olmadan kodu derler. Böylece hızı kritik olan program modülleri CPython ile geliştirilebilir.

    Yukarıdakilerin hepsinden, Python'un öğrenmeye değer olduğu sonucu çıkar. Yeni başlayan bir programcıysanız, ilk diliniz olarak Python'u seçmekten çekinmeyin. Bu, programlama sanatını öğrenmenizi kolaylaştıracak ve size gelecekte büyüme fırsatı verecektir. Python'u Linux'a kurmak için okuyabilirsiniz

    Python'da hangi programlar yazılır?

    Normal insanlar için uygulama yazılımı

    Öncelikle bilgi teknolojileri alanında uzman olmayan sıradan insanların kullandığı programlara bir göz atalım.

    Bittorrent

    Bu torrent istemcisinin 6'ya kadar olan tüm sürümleri Python'da yazılmıştır. Sürüm 6, C++ ile yeniden yazılmıştır.

    Ubuntu Yazılım Merkezi

    Wikipedia'dan alıntı:
    Ubuntu Yazılım Merkezi(İngilizce) Ubuntu Yazılım Merkezi), bir Ubuntu Linux sisteminde paketleri bulmak, kurmak ve kaldırmak için ücretsiz bir yazılımdır. son sürümlerde Linux ve Ubuntu ile ilgili dergiler satın alabilir, ücretli oyun ve yazılımlar da satın alabilirsiniz. Uygulama, GTK + kitaplıkları kullanılarak Python + Vala'da geliştirilmiştir ve Gelişmiş Paketleme Aracı için grafik bir kabuktur.

    karıştırıcı

    Wikipedia'dan alıntı:
    karıştırıcı- modelleme, animasyon, işleme, video son işleme ve etkileşimli oyunlar yaratma araçları dahil olmak üzere üç boyutlu bilgisayar grafikleri oluşturmak için ücretsiz, profesyonel bir paket. Profesyonel bir geliştirme ekibi tarafından kolaylaştırılan hızlı ve istikrarlı gelişimi sayesinde şu anda ücretsiz 3D editörleri arasında en popüler olanıdır.

    Python, araçlar ve prototipler oluşturma aracı, oyunlarda mantık sistemleri, dosyaları içe / dışa aktarma (örneğin, COLLADA), görevleri otomatikleştirme aracı olarak kullanılır.

    İşte bazı dokümantasyon sayfaları:

    GIMP

    Wikipedia'dan alıntı:
    Python, filtreler gibi ek modüller yazmak için kullanılır.
    İşte konuyu daha derinlemesine araştıran birkaç sayfa:

    Oyunlar

    Medeniyet IV

    Oyunun çoğu Python () ile yazılmıştır.

    Savaş alanı 2

    İnternette, çeşitli nesneleri ve davranışlarını değiştirmek için birçok öğretici ve basit tarif var.

    Tankların dünyası

    "World of Tanks'ta GUI" makalesinden alıntı:
    Proje, betik dili olarak Python'u kullanıyor. Flash'ta yaptığımız tüm güzelliklerin oyunda birbirine bağlanması, verilerle doldurulması, işlenmesi ve kullanıcı girdilerinden oyundaki gerçek eylemlere dönüştürülmesi gerekiyor. Bütün bunlar sadece Python'da yapılır.
    Python kullanan oyunların daha eksiksiz bir listesi için Wikipedia'ya ve Python belgelerine bakın.

    Hangi şirketler Python kullanıyor?

    Python kullanan şirketlerin listesi uzundur. Bunlar arasında Google, Facebook, Yahoo , NASA , Red Hat , IBM , Instagram , Dropbox, Pinterest, Quora, Yandex, Mail.Ru.

    Yandex

    Burada, lütfen "Yandex.Disk'in çekirdeğindeki Python" raporu. Sergey Ivashchenko (konuşmacı):
    Yandex.Disk'te Python'u nasıl kullandığımızdan, hangi kütüphaneleri ve çerçeveleri kullandığımızdan, hangi görevleri çözdüğümüzden ve hangi sorunlarla karşılaştığımızdan bahsedeceğim. Asenkron işlemlerin loglanması ve işlenmesi konusuna da değineceğim.
    Yandex kanalındaki videolardan birinde çalışanlar en sevdikleri dillerden bahsetti.

    Ayrıca Yandex şirket blogunda 19 Mart 2014 tarihli "Yandex'te hangi programlama dillerini yazıyorlar" yazısı var. Yani Yandex çalışanlarının %13'ü zamanlarının çoğunu Python'da yazıyor.

    Mail.ru

    Mail.ru çalışanları da Python kullanıyor. Habré'deki resmi Mail.ru blogunda Python hakkında birkaç makale var:

    Google

    Google, başlangıcından bu yana Python'u aktif olarak kullanıyor. YouTube ve Google Drive'ın çoğunun Python ile yazıldığına dair söylentiler var. Google, geliştiricilerin Python kodunu Google bulutunda çalıştırabilmesi için Google App Engine bulut platformunun tamamını geliştirmiştir. Birçok dil geliştiricisi Google için çalıştı ve çalışmaya devam ediyor.

    açılan kutu

    Hizmet Python'da geliştirilmiştir. Python dilinin yazarı Guido van Rossum'un DropBox'ta çalışıyor olması tesadüf değil.

    Diğer şirketler

    Python kullanan kuruluşlar

    Python hangi alanlarda kullanılır?

    web Geliştirme

    Bu alanda Python belki de en çok kullanılanıdır. Django web çerçevesi, hayranları ordusuna yenilerini ekleyerek ivme kazanmaya devam ediyor. Birçok acemi programcı, Python'un başka hiçbir yerde kullanılmadığını bile düşünüyor. Ancak diğer birçok web çerçevesi Python'da yazılmıştır: Pylons , Turbo Dişliler , CherryPy , Şişe , Piramit ve diğerleri. Daha eksiksiz bir liste bulunabilir.
    Django tabanlı bir CMS de vardır, buna DjangoCMS denir.
    Çoğu zaman, site ayrıştırıcıları da Python'da yazar. Genellikle İstekler , aiohttp , BeautifulSoup , html5lib kullanırlar. Web kazıma için daha üst düzey araçlar da vardır: sıyrık, kapmak.

    Sistem Yönetimi

    Python, bir sistem yöneticisinin çalışmasını otomatikleştirmek için harika bir dildir. Tüm Linux sunucularında varsayılan olarak kuruludur. Basit ve anlaşılır. Python kodunun okunması kolaydır. Bazı insanlar Perl'i sever, ben de düzenli ifadelerle uygun çalışması nedeniyle onu seviyorum, ancak sözdizimi nedeniyle Perl'den nefret ediyorum. Bash nispeten küçük ve orta büyüklükteki betikler için kullanışlıdır, ancak Python daha güçlüdür ve bazı durumlarda çok daha az kod yazmanıza izin verir.
    Bildiğim tek paket Fabric. Belki başka bir şey vardır, biliyorsanız yorumlara yazın.

    Ek Bilgiler

    Sistem yöneticileri için Python (IBM DeveloperWorks)
    kumaş belgeleri. Sistem Yönetimi.

    Gömülü sistemler

    Çoğu zaman, Python gömülü sistemleri programlamak için kullanılır. Python kullanan en ünlü proje Raspberry Pi'dir. Ama sadece o değil:
    Gömülü Python
    Ahududu Pi
    Python Gömülü Araçlar
    Baykuş Gömülü Python Sistemi

    Oyunlar dahil olmak üzere uygulama yazılımı geliştirme

    Python genellikle uygulama yazılımlarının geliştirilmesinde yardımcı dil olarak kullanılır. Yukarıda örnekleri verdim zaten, kendimi tekrar etmeyeceğim.

    Bilimsel araştırma

    Fizikçiler ve matematikçiler basitliği nedeniyle Python'u çok severler. Ek olarak, Python için bir bilim insanının hayatını kolaylaştıran çok sayıda kitaplık vardır. Örneğin:
    1. keskin Python programlama dili için yüksek kaliteli bilimsel araçlardan oluşan açık kaynaklı bir kitaplıktır. SciPy, optimizasyon, entegrasyon, özel fonksiyonlar, sinyal işleme, görüntü işleme, genetik algoritmalar, sıradan diferansiyel denklem çözme ve bilim ve mühendislikte yaygın olarak gerçekleştirilen diğer görevler için modüller içerir.
    2. matplotlib- verileri iki boyutlu (2B) grafiklerle görselleştirmek için Python programlama dilinde bir kitaplık (3B grafikler de desteklenir). Ortaya çıkan görüntüler yayınlarda illüstrasyon olarak kullanılabilir.
    3. dizi büyük çok boyutlu diziler ve matrisler için desteğin yanı sıra bu diziler üzerinde çalışmak üzere üst düzey matematik işlevlerinden oluşan geniş bir kitaplık ekleyen Python dilinin bir uzantısıdır.
    Python bilimsel bilgi işlem kitaplıklarının daha eksiksiz bir listesi Wikipedia'da bulunabilir.

    Eğitim

    Çoğu zaman, Python ilk programlama dili olarak önerilir.
    Bazı Rus okulları, okul çocuklarına Python'da programlama öğretme konusunda başarılı bir deneyime sahiptir.
    Bu arada, Guido van Rossum Python'u yazarken ABC dilinden ilham aldı. Ve ABC dili, öğrenme ve prototip oluşturma amaçlıydı.

    Python dilinin eleştirisi

    Python en yavaş programlama dillerinden biridir

    İnternette, farklı programlama dillerinde yazılmış programlar için birçok farklı hız testi bulabilirsiniz. Python genellikle listelerin sonundadır.
    Genellikle, Python ile dilin referans uygulaması olan CPython'u kastederler. Python dilinin PyPy gibi başka uygulamaları da vardır. PyPy, CPython'dan ve diğer birçok betik dilinden daha hızlıdır ve Java'ya çok yakındır. Ancak bir sorun var - PyPy, Python dilini tam olarak uygulamıyor, bu nedenle birçok Python programı üzerinde çalışmıyor.
    Birçok programcı, darboğazlarda çalışmayı hızlandırmak için C/C++ dilinde ekler yazar. Python, bilgi işlem görevleri, çok fazla bellek (belleğe bağlı) ve benzeri gerektiren görevler için tasarlanmamıştır. Görevleriniz için doğru araçları seçebilmeniz gerekir. Guido van Rossum bir röportajda bundan bahsediyor.

    GIL, birden çok iş parçacığının aynı anda çalışmasını engeller

    Global Tercüman Kilidi, birden fazla Python iş parçacığının aynı anda yürütülmesini engeller. Bunlar CPython'un özellikleridir. Ama bu bir dezavantaj mı? Her şeyin göreve bağlı olduğunu anlamalısınız. Göreviniz giriş / çıkış hızına bağlıysa (GÇ bağlantılı görev), o zaman dış kaynaklarla eşzamansız modda çalışacak birkaç işlemi kullanmak daha verimli olur. Ve paylaşılan belleğe sahip iş parçacıkları, hesaplamalı görevler (CPU'ya bağlı) için iyidir. Ancak thread'lerle çalışmanız gerekse bile, NumPy matematik paketinde yapıldığı gibi GIL'i bir süreliğine devre dışı bırakabilirsiniz.

    İyi dağıtım araçları yok

    Ne yazık ki, sistem kitaplıklarına birçok bağımlılığı olan Python kodunun diğer sistemlere portlanması zordur. Bu sorun virtualenv yardımıyla çözülür. ancak bu araç sistem yöneticileri tarafından çokça eleştirilir.

    Ek Bilgiler

    Python Başarı Öyküleri
    NE Yazmak İçin Python Kullandınız?
    Python Ne İçin Kullanılır?
    Bunun Python'un dünyası olduğuna ve bizim sadece içinde yaşadığımıza dair daha fazla kanıt
    PYTHON GEREKTİREN İŞLER İÇİN ORTALAMA MAAŞ
    Python yazılımı listesi

    HAKKINDA Piton(bazıları "python" dese de "python" demek daha iyidir) - bu çalışmanın konusu, bu programlama dilinin yaratıcısı Hollandalı Guido van Rossum en iyi şöyle diyor:

    "Python, dinamik anlambilime sahip, yorumlanmış, nesne yönelimli, üst düzey bir programlama dilidir. Yerleşik üst düzey veri yapıları, dinamik yazma ve bağlama, dili hızlı uygulama geliştirme (RAD, Hızlı Uygulama Geliştirme) için çekici kılar. Ek olarak, yazılım bileşenlerini bağlamak için bir betik dili olarak kullanılabilir. Python'un sözdiziminin öğrenilmesi kolaydır ve kod okunabilirliğini vurgulayarak yazılım ürünlerinin bakım maliyetini azaltır. Python, modülerliği ve kodun yeniden kullanımını teşvik ederek modülleri ve paketleri destekler. Python yorumlayıcısı ve büyük standart kitaplığı, tüm büyük platformlar için kaynak ve yürütülebilir kod olarak ücretsiz olarak mevcuttur ve yeniden dağıtılması ücretsizdir."

    Çalışma sürecinde bu tanımın anlamı ortaya çıkacaktır, ancak şimdilik Python'un evrensel bir programlama dili olduğunu bilmek yeterlidir. Avantajları ve dezavantajları olduğu gibi uygulama alanları da vardır. Python, çok çeşitli görevler için kapsamlı bir standart kitaplıkla birlikte gelir. Python için kaliteli kitaplıklar İnternette çeşitli konu alanlarında mevcuttur: kelime işlem araçları ve İnternet teknolojileri, görüntü işleme, uygulama oluşturma araçları, veritabanı erişim mekanizmaları, bilimsel bilgi işlem paketleri, GUI oluşturma kitaplıkları, vb. Ayrıca Python, hem tercümanı bu dillerdeki programlara gömerek hem de tersi Python programlarında bu dillerde yazılmış kitaplıkları kullanarak C, C++ (ve Java) ile entegrasyon için oldukça basit araçlara sahiptir. Python dili birkaç desteklemektedir paradigmalar programlama: zorunlu (prosedürel, yapısal, modüler yaklaşımlar), nesne yönelimli ve fonksiyonel programlama.

    Python'un yazılım ürünleri (ve prototipleri) oluşturmak için bütün bir teknoloji olduğunu düşünebiliriz. C derleyicisi ile hemen hemen tüm modern platformlarda (hem 32 bit hem de 64 bit) ve Java platformunda mevcuttur.

    Yazılım endüstrisinde C/C++, Java, Visual Basic, C# dışında hiçbir şeye yer yokmuş gibi görünebilir. Ancak öyle değil. Belki de bu dersler ve uygulamalı alıştırmalar sayesinde Python'un vazgeçilmez bir araç haline geleceği yeni taraftarları olacaktır.

    Dil nasıl tarif edilir?

    Bu dersin amacı Python'u sistematik olarak açıklamak değildir: bunun için orijinal bir başvuru kılavuzu vardır. Burada, katı bir akademik yaklaşımdan daha hızlı bir şekilde gerçek programlamaya katılmanıza izin verecek bir dizi örnekle elde edilen dili aynı anda birkaç açıdan ele almak önerilmektedir.

    Bununla birlikte, dili tanımlamaya yönelik doğru yaklaşıma dikkat etmeye değer. Bir programın oluşturulması her zaman, programcının bilgisayara eylem gerçekleştirmesi için gerekli bilgileri aktardığı bir iletişimdir. Programcının bu eylemleri anlama şekli (yani, "anlam") çağrılabilir. semantik. Bu anlamı aktarmanın yolu, sözdizimi Programlama dili. Peki, tercümanın geçene göre yaptığı şey genellikle denir pragmatik. Bir program yazarken bu zincirde herhangi bir arıza olmaması çok önemlidir.

    Sözdizimi tamamen biçimlendirilmiş bir bölümdür: şu şekilde açıklanabilir: resmi dil sözdizimi şemaları (referans kılavuzlarında yapılan budur). Edimbilimin ifadesi, dil yorumlayıcısının kendisidir. Sözdizimine uygun olarak yazılan "mesaj"ı okuyan ve içindeki algoritmaya göre eyleme dönüştüren odur. Yalnızca semantik gayrı resmi bir bileşen olarak kalır. Programlamanın en büyük karmaşıklığı, anlamın resmi bir açıklamaya çevrilmesinde yatmaktadır. Python dilinin sözdizimi, programcının bir sorunu anlamasını yorumlayıcının "anlamasına" yaklaştırmaya yardımcı olan güçlü özelliklere sahiptir. Python'un iç yapısı son derslerden birinde tartışılacaktır.

    Python Dilinin Tarihi

    Python, 1991 yılında Amoeba dağıtılmış işletim sistemi üzerinde çalışırken Guido van Rossum tarafından başlatıldı. Sistem çağrıları için destek sağlayacak genişletilebilir bir dile ihtiyacı vardı. ABC ve Modula-3 esas alınmıştır. Adı olarak yılanın adı yerine BBC komedi dizisi Monty Python's Flying Circus'tan sonra Python'u seçti. O zamandan beri Python, Guido'nun çalıştığı kuruluşların desteğiyle gelişti. Dil, yalnızca bir yaratıcı ekibin değil, aynı zamanda dünyanın her yerinden bütün bir programcı topluluğunun üzerinde çalıştığı şu anda özellikle aktif olarak geliştiriliyor. Yine de dil gelişiminin yönü konusunda son söz Guido van Rossum'a aittir.

    Belirli bir programlama dilini öğrenmeye başlamadan önce, insanlar genellikle bilgi ve becerilerini pratikte nasıl uygulayabileceklerini düşünürler. Python söz konusu olduğunda, bu genel amaçlı dil pek çok farklı alanda işe yarar. Başlangıç ​​CS Dojo'nun geliştiricisi ve kurucusu Ek Sugi Python'u kullanmanın en yaygın üç yolundan bahsetti.

    1. Web Geliştirme

    gibi Python tabanlı çerçeveler Django Ve şişe, son zamanlarda web geliştiricileri arasında geniş bir popülerlik kazanmıştır. Bu çerçeveler, kullanıcı cihazlarında ve tarayıcılarda çalışan ön uç kodunun aksine Python'da sunucu üzerinde çalışan sunucu kodu (arka uç kodu) oluşturmanıza olanak tanır.

    Web çerçeveleri ne içindir?

    Web çerçeveleri, sunucu tarafı mantığının geliştirilmesini basitleştirir: URL'lerin işlenmesi, veritabanlarına erişim, kullanıcıların tarayıcılarda gördüğü HTML dosyaları oluşturma.

    Kullanılacak en iyi web geliştirme çerçeveleri nelerdir?

    En popüler iki Python web çerçevesi Django ve Flask'tır. Acemi geliştiriciler için önerilirler.

    Django ve Flask arasındaki fark nedir?

    Hazırlanan bu soruya cevaben mükemmel bir yazı Gareth Dwyer.

    Ana farklar:

    • Flask, çok ayrıntılı ayarlara sahip basit ve esnek bir çerçevedir. Kullanıcı belirli şeylerin nasıl uygulanacağına karar verebilir.
    • Django, kutudan çıkar çıkmaz eksiksiz uygulama geliştirme işlevselliği sağlar: yerleşik bir yönetici arabirimi, bir veritabanı erişim API'si, bir ORM ve uygulamalar ve projeler için bir dizin yapısı.

    Daha iyi kullanım:

    • Geliştiricinin amacı deneyim ve öğrenme fırsatlarıysa veya hangi bileşenleri kullanacağını seçmesi gerekiyorsa (örneğin, hangi veritabanlarını kullanacağı veya bunlarla nasıl etkileşim kuracağı) Flask.
    • Django, asıl mesele nihai ürün ise. Özellikle, kullanıcının kolayca gezinebileceği bir haber sitesi, çevrimiçi mağaza, blog gibi sezgisel bir uygulama oluşturmanız gerekiyorsa.

    Bu nedenle, Flask yeni başlayanlar için tercih edilir çünkü bu çerçeve çok zengin bir işlevselliğe sahip değildir, ayrıca onu kendi beğenilerine göre özelleştirme yeteneğine ihtiyaç duyanlar için. Ayrıca Flask, esnekliği nedeniyle REST API'leri geliştirmek için Django'dan daha uygundur. Öte yandan, basit bir ürün oluşturmak istiyorsanız bunu Django ile yapmanız daha hızlı olacaktır.

    2. Veri işleme (makine öğrenimi, veri analizi ve görselleştirme dahil)

    makine öğrenimi nedir

    Makine öğrenimi en iyi açıklayıcı bir örnekle açıklanır. Resimlerde gösterilen nesneleri otomatik olarak tanıyan bir program geliştirmeniz gerektiğini varsayalım. İlk resimde programın köpeği tanıması gerekiyor.

    İkincisi, masayı tanımalıdır.

    Birinci yol bunun için özel kod yazmaktır. Örneğin, resimde çok fazla açık kahverengi piksel varsa, üzerine bir köpek çizilmiş demektir. Veya nesnelerin sınırlarını tanımanın bir yolunu bulabilirsiniz: çizimde çok sayıda düz çizgi varsa, bu bir tablodur.

    Açıkçası, resim örneğin hiç kahverengi tüyü olmayan açık renkli bir köpek veya yalnızca bacaksız yuvarlak bir masa üstü gösteriyorsa, böyle bir çözüm işe yaramaz olacaktır. Makine öğreniminin devreye girdiği yer burasıdır.

    Makine öğrenimi genellikle girdide belirli bir modeli otomatik olarak arayan bir algoritma kullanır. Örneğin bin tane köpek resmi ve bin tane masa resmi girebilirsiniz. Ardından, makine öğrenimi algoritması bir köpek ve bir masa arasındaki farkı ortaya çıkaracaktır. Algoritma, bir köpeğin veya masanın yeni bir görüntüsünü aldığında, nesneyi tanımlayabilecektir.

    Yani, sistem belirli örnekler üzerinde eğitilir: bir nesnenin tek tek işaretleri gösterilmez, birçok görüntü gösterilir ve bu nesnenin hepsinin üzerine çizildiğini söylerler. Aynı şekilde eğitilmiş

    • yüz tanıma sistemleri,
    • ses tanıma sistemleri,
    • YouTube, Amazon veya Netflix gibi sitelerin öneri sistemleri.

    En yaygın olarak bilinen makine öğrenimi algoritmaları şunlardır:

    • nöral ağlar,
    • derin Öğrenme,
    • destek Vektör Makinesi,
    • "rastgele orman".

    Yukarıdaki görüntü etiketleme problemini çözmek için bu algoritmalardan herhangi biri kullanılabilir.

    Makine öğrenimi için Python

    Python için popüler makine öğrenimi kitaplıkları ve çerçeveleri vardır. Bunların en büyüğü iki scikit-öğren Ve Tensor Akışı. scikit-learn, yukarıda tartışılan bazı iyi bilinen makine öğrenimi algoritmalarında oluşturulmuştur. TensorFlow, özel algoritmalar oluşturmanıza izin veren alt düzey bir kitaplıktır.

    Makine öğrenimi nasıl öğrenilir?

    Bu teknolojinin temellerini öğrenmek için Stanford Üniversitesi veya. Ancak bazı materyalleri anlamak için, temel matematiksel analiz ve lineer cebir bilgisine ihtiyacınız olacak.

    Ayrıca, alınan bilgiler Kaggle web sitesinde düzeltilmelidir. Burada, çeşitli görevler için en iyi makine öğrenimi algoritmasını oluşturma konusunda diğer geliştiricilerle rekabet edebilirsiniz. Site ayrıca yeni başlayanlar için faydalı eğitimler sunuyor.

    Veri analizi ve veri görselleştirme

    Örnek olarak, İnternet üzerinden mal satan hayali bir şirketin veri analitiğini düşünün. Bir analist, satış sonuçlarını bir çubuk grafikte sunabilir.

    Grafik, belirli bir Pazar günü, alışveriş yapan erkeklerin 400'den fazla ve kadın alışveriş yapanların yaklaşık 350 birim satın aldığını gösteriyor. Uzmanın, bu boşluğun neden oluştuğuna dair birkaç tahmini olabilir.

    Bariz bir açıklama, ürünün erkekler arasında kadınlardan daha fazla talep görmesidir. Diğer bir olası neden ise, örneklem büyüklüğünün yeterince büyük olmaması ve aradaki farkın şansa bağlanabilmesidir. Üçüncü seçenek ise nedense erkekler bu ürünü daha çok sadece Pazar günleri satın alıyor. Açıklamalardan hangisinin doğru olduğunu anlamak için başka bir diyagram çizebilirsiniz.

    Sadece Pazar gününün değil, tüm haftanın satış istatistiklerini de dikkate almak gerekiyor. Diyagramdan da görülebileceği gibi, bu tür dinamikler tüm günler için izlenebilir. Bu küçük analiz, satışlardaki farkın en makul nedeninin, ürünün erkekler arasında kadınlardan daha popüler olması olduğunu gösteriyor.

    Ama diyagram böyle görünüyorsa,

    şu ya da bu nedenle erkeklerin bu ürünü yalnızca Pazar günleri satın alma konusunda daha aktif olduğu sonucuna varılabilir.

    Bu, veri analizinin çok basit bir örneğidir. Ve bunun için şirketler, diğer şeylerin yanı sıra Python'u ve veri görselleştirme için Matplotlib kitaplığını kullanır.

    Python'da veri analizi ve görselleştirme

    Matplotlib, en yaygın kullanılan veri görselleştirme kitaplıklarından biridir. Başlamak için iyi bir yer çünkü basit ve ayrıca seaborn gibi diğer bazı kitaplıklar buna dayalı. Bu nedenle, Matplotlib bilgisi gelecekte onlara hakim olmaya yardımcı olacaktır.

    Python'da Veri Analizi ve Görselleştirme Nasıl Öğrenilir?

    Her şeyden önce, temelleri öğrenmeniz gerekir. Yek Sugi, YouTube'da Python ve Matplotlib'de veri analizi ve görselleştirme üzerine kendi tanıtım videosunun yanı sıra sitede 10 günlük bir denemeye kaydolduktan sonra ücretsiz olarak sunulan Pluralsight eğitim platformunda eksiksiz bir uygulamalı kurs sunuyor. Bundan sonra, örneğin Coursera ve Khan Academy gibi istatistiklerin temellerini öğrenmek faydalıdır.

    3. Senaryo yazmak

    komut dosyası nedir

    Bu genellikle basit görevleri otomatikleştirmek için küçük programların oluşturulması olarak anlaşılır. Örneğin, şirketler çeşitli e-posta müşteri destek sistemlerini kullanır. Alınan mesajları analiz etmek için şirketlerin kaç tanesinin belirli anahtar kelimeleri içerdiğini sayması gerekir.

    Bunu manuel olarak yapabilir veya mesajları otomatik olarak işlemek için basit bir program (komut dosyası) yazabilirsiniz. Bu tür görevler için Python, nispeten basit sözdiziminden dolayı ve küçük projelerde kolayca ve hızlı bir şekilde yazılabildiği ve test edilebildiği için mükemmeldir.

    Python ve Gömülü Uygulamalar

    Raspberry Pi ve diğer donanım tabanları için birçok geliştirici bu dilde programlama yapıyor.

    Python ve bilgisayar oyunları

    PyGame kitaplığı, daha popüler oyun motorları olmasına rağmen oyun geliştirmek için kullanılabilir. Üzerinde amatör projeler oluşturabilirsiniz ancak ciddi oyunların gelişimi için daha iyi bir şeyler aramalısınız.

    Örneğin, Unity ile C# ile başlayabilirsiniz - bu, bilgisayar oyunları için en iyi bilinen geliştirme ortamlarından biridir. Windows, Mac, iOS ve Android için platformlar arası oyunlar oluşturmanıza olanak tanır.

    Python ve masaüstü uygulamaları

    Masaüstü uygulamaları Tkinter kullanılarak Python'da geliştirilebilir, ancak bu aynı zamanda en yaygın tercih değildir: masaüstü uygulama geliştiricileri Java, C# ve C++'ı tercih eder. Son zamanlarda bazı şirketler bunun için JavaScript kullanmaya başladılar. Örneğin, Slack masaüstü uygulaması JavaScript kullanılarak Electron çerçevesi üzerine inşa edilmiştir. Bu dil, varsa uygulamanın web sürümündeki kodun yeniden kullanılmasını mümkün kılar.

    Python 3 veya Python 2

    Python 3'ü seçmek daha iyidir, çünkü bugün dilin daha modern ve daha talep gören bir versiyonudur.

    Seçim, pratik programcıların kişisel deneyimleri dikkate alınarak hazırlandı. İşte hem yeni başlayanlar hem de belirli bir temele sahip geliştiriciler için uygun kitaplar. Doğru, dil bilgisinde tamamen sıfır olanlar için, önce WikiBooks'a göz atmanızı, temel bilgileri araştırmanızı ve ardından listeden seçim yapmanızı tavsiye ederiz.

    Python Öğrenmek, Mark Lutz (5. Baskı)

    "Python hakkında ne okumalı?" sorusuna verilen en yaygın cevap. Mükemmel bir kitap, dil için neredeyse eksiksiz bir rehber (ve standart kitaplığın bir parçası). Eksilerden - çok fazla su ve son baskı 2 yıl önce çıktı (neredeyse 3 zaten) ve bu nedenle en son değişiklikleri içermiyor. Ancak yeni başlayanlar için kitap hala alakalı.

    Programlama Python (4. Baskı), Mark Lutz

    Eğitimden uygulamaya geçiş. Edinilen bilgileri gelecekteki programları yazmak için uygulamayı öğreniyoruz.

    Python'u Düşünün: Bir Bilgisayar Bilimcisi Gibi Düşünmek, Allen B. Downey

    Yeni başlayanlar için Python'a giriş. Kitap sürekli olarak dilin özelliklerini ortaya koyuyor. Özyineleme ve nesne yönelimli programlama gibi büyük konular, anlaşılmasını kolaylaştırmak için küçük adımlara bölünmüştür. Kitabın web sitesinde, kodunuzu çalıştırabileceğiniz yerleşik etkileşimli modüller bulunur.

    Python'a Dalış / , Mark Pilgrim

    Çok sayıda kod örneği içeren ve standart kitaplığı kullanan hızlı eğitim. Bu kitap, birçok eleştirmen tarafından Python'a mükemmel bir giriş olarak tanımlandı.