Python, sürətli (öyrənmək, istifadə etmək və anlamaq) və təmiz və birləşdirilmiş sintaksis təmin etmək üçün nəzərdə tutulmuş çoxsahəli dinamik tipli çox məqsədli proqramlaşdırma dilidir. Python, Python 2.7 və 3.x iki oxşar, lakin uyğun olmayan versiyaları tez-tez istifadə olunur. Versiyaya aid xüsusi Python sualları üçün, [python-2.7] və ya [python-3.x] etiketlərindən istifadə edin. Python variantından istifadə edərkən (məsələn, Jython, Pypy və s.), Xahiş edirik seçimi də seçin.

Python , geniş bir tətbiq üçün istifadə edilən dinamik və güclü yazılmış bir proqramlaşdırma dilidir. Kullanışlılığı vurgulamak üçün tasarlanmış bir universal, yüksək səviyyəli proqramlaşdırma dili.

Python, programcılara, C kimi bir çox başqa dildə mümkün olan və kod müxtəlif sahələrdə anlaşılır proqramlar yaratmaq üçün istifadə edilən konstruksiyaların daha az kod satırında konsepsiyaları ifadə etməyə imkan verir.

Python ilk olaraq Guido van Rossum tərəfindən yaradılmış və ilk olaraq 1991-ci ildə buraxılmışdı. Van Rossum, Python'u bir az alakasız bir ruh halında (və Monty Python Flying Circus böyük bir pərəstişkarı) olan layihənin iş adı kimi seçdi.

Python'un iki oxşar, lakin uyğunsuzluq versiyaları geniş istifadə olunur: Python 2 (16 oktyabr 2000) və 3 (3 dekabr 2008). Python haqqında sual sorarkən istifadə etdiyiniz versiyanı və tətbiqi nəzərdən keçirin (aşağıdakı Tagging Tövsiyəsinə baxın).

Python bir neçə proqramlaşdırma paradiqmasını dəstəkləyir, o cümlədən obyekt yönümlü, vacib və funksional proqramlaşdırma üslubları. Sxem, Ruby, Perl və Tcl sistemlərinə bənzər tam dinamik bir tipli sistem və avtomatik yaddaşa sahibdir.

Digər dinamik dillərdə olduğu kimi, Python tez-tez bir scripting dili olaraq istifadə edilir , lakin qeyri-scripting geniş bir sıra istifadə olunur. Üçüncü tərəf vasitələrini istifadə edərək, Python kodu tək başına yürütülebilen proqramlar kimi paketlenebilir. Python tərcüməçiləri bir çox əməliyyat sistemi üçün mövcuddur.

CPython , Python'un referans tətbiqi açıq qaynaqlı bir proqramdır. Onun icma əsaslı inkişaf modelinə, eləcə də demək olar ki, bütün alternativ tətbiqlərinə malikdir. Xüsusi mühit və ya vəzifələr üçün daha uyğun olan çox sayda tətbiq var (Python wiki-də Python tətbiqlərinə baxın).

Python fəlsəfəsi, Tim Peters tərəfindən yazılmış "Pythonun zenində" həsr olunmuşdur və bu əmri interaktiv Python tərcüməçisində yerinə yetirməklə oxunur:

 >>> import this 

Xarici elementləri idxal edə bilərsiniz:

 >>> from item import * 

Və ya nə idxal edəcəyini müəyyənləşdirin:

 >>> from item import some_func 

Ayrıca, idxal olunan modulun adını da göstərə bilərsiniz:

 >>> import this as that 

Python-a aşağıdakı sənədləri yükləmək üçün sənədləşdirməyə də daxil ola bilərsiniz:

  1. Your_Python_install_dir/Doc . Bilgisayarınızda quraşdırılmış Python versiyası üçün tam Python sənədləri var.
  2. Komanda xəttindən və ya terminaldan pydoc x və ya python -m pydoc x ilə, x modulunun sənədləri göstərilir.

Python bir çox başqa dildən fərqli olaraq sintaksisini istifadə edir (hansı sekmeler və boşluqlar bir-birinin ardınca girmir). Bu əyri braces istifadə bilən proqramçılar üçün istifadə bəzi ala bilər.

 >>> from __future__ import braces File "<stdin>", line 1 SyntaxError: not a chance >>> 

Keçidlə əlaqədar kömək etmək üçün düzgün konfiqurasiya edilmiş mətn redaktoru və ya IDE-dən istifadə etmək tövsiyə olunur. Python başlayanlar üçün IDLE ( ) adlı əsas IDE ilə gəlir. Digər məşhur nümunələr Vim xeyriyyə proqramı, pulsuz GNU Emacs, Eclipse + PyDev və ya PyCharm daxildir. Bir çox digər alternativlər üçün IDE müqayisələrinin bu siyahısına nəzər yetirin .

Python kodu daha oxunaqlı və ardıcıl etmək üçün nəzərdə tutulan PEP 8 adlı Python üçün stil guide də var. Bu təlimat (olmalıdır) Python geliştirici cəmiyyətinə hörmət edir.


Tövsiyələri qeyd etmək:

Bütün Python ilə əlaqəli məsələlər üçün etiketini istifadə edin. Sualınızın fərdi versiyalara xüsusi problemlər olduğunu düşünüyorsanız, əsas etiketinə əlavə olaraq və ya istifadə edin. Sualınız daha spesifik olacağını düşünürsünüzsə, və ya və s. Kimi versiyaya aid xüsusi bir etiket əlavə edə bilərsiniz.

Ayrıca xüsusi bir tətbiq üçün bir etiket daxil olma imkanını da nəzərdən ( , , və s.). başqa bir istifadə , dan istifadə lazım deyil.


Tövsiyələr:


Populyar Python bazlı web çərçivələri :

Sualınızın hər hansı birinin bu platformalarla əlaqəsi varsa, müvafiq etiket daxil etdiyinizdən əmin olun.

  • Jango

    Mükəmməllikçilər üçün veb çərçivəsi (son tarixlə). Django daha yaxşı və daha az kod ilə daha yaxşı web applications yaratmaq üçün daha asan edir. Django sürətli inkişafı və təmiz, praktik dizaynı təşviq edən yüksək səviyyəli Python web mühitidir. Bu, yüksək performanslı və zərif web tətbiqlərini sürətli bir şəkildə yaratmağa imkan verir. Django, mümkün qədər mümkün olduğunda DRY prinsipini avtomatlaşdırmağa və riayət etməyə çalışır (özünüzü təkrar etməyin) .

  • Flask

    Flask Werkzeug, Jinja 2 və yaxşı niyyətlərə əsaslanan mikro Python çərçivəsidir.

  • Tornado

    Tornado bir Python web çərçivəsidir və asinxron şəbəkələrin bir kitabxanasıdır. Qeyri-blocking şəbəkə I / O-dan istifadə edərək, Tornado uzun müddət çalışan sorğular, WebSockets və hər bir istifadəçi ilə uzun müddətli əlaqə tələb edən digər tətbiqlər üçün ideal hala gətirərək onlarla on minlərlə açıq əlaqəyə qədər genişlənə bilər.

  • CherryPy, geliştiricilerin hər hansı digər obyekt yönümlü Python proqramı ilə eyni şəkildə web tətbiqləri yaratmasına imkan verən Python əsaslı, obyekt yönümlü bir web infrastruktur. Bu, daha az vaxtda işlənmiş daha az mənbə kodu ilə nəticələnir. CherryPy 7 ildən artıqdır istifadə olunur və ən sadə və ən tələbkar bir çox müəssisədə istifadə olunur.

  • Pyramid

    Rahatlıq və sürətli inkişafı vurğulayan yüngül bir web çərçivəsi. Bu strukturlaşdırılmış, lakin son dərəcə çevik Python web mühitini təmin edən Ruby, Python və Perl dünyalarından ən yaxşı fikirləri birləşdirir. Bu, geniş yayılmış yenidən istifadə və rahatlıq təmin etməyə imkan verən, yalnız zəruri olduqda yaranan WSGI standartını istifadə edən ilk layihələrdən biridir.

  • TurboGears

    TurboGears, minimum rejimi tam özellikli bir web proqramına qurmaq üçün hərəkət edə biləcək ölçeklenebilir bir web infrastrukturudur. 2005-ci ildə Kevin Dangur tərəfindən yaradılmış və TurboGears2 ( ) şirkətinin hazırkı inkişafı Mark Ramm tərəfindən idarə olunur. TurboGears'in mövcud sabit versiyası TurboGears 2.3.12, 6 Aprel 2018-ci ildə buraxılmışdır.

  • web.py

    web.py güclü olduğu qədər sadə bir Python web çərçivəsidir. web.py sərbəst şəkildə mövcuddur: hər hansı bir məhdudiyyət qoymadan istifadə edə bilərsiniz. web.py Python-da web applications yazmanıza imkan verir.

  • Grok

    Mövcud Zope 3 kitabxanalarına qurulmuşdur, lakin asan öyrənmə curve və daha çevik inkişaf təcrübəsi təmin etməkdir. Grok, konfiqurasiya və DRY (özünüzü təkrar etməyin) üzərində deyil, razılığa əsaslanaraq bunu edir.

  • Şüşə

    Şişe Python üçün WSGI üçün sürətli, sadə və yüngül mikro çərçivədir. Bir fayl modulu olaraq paylanır və standart Python kitabxanasından başqa heç bir asılılıq yoxdur.

  • web2py

    web2py, sürətli, ölçeklenebilir, təhlükəsiz və portativ verilənlər bazası bazlı web proqramlarını tez inkişaf etdirmək üçün pulsuz, açıq mənbə, tam yığın mühitidir.

  • Şahin

    Falcon, REST-in arxitektura üslubunu dəstəkləyən mikroservislər, proqram arxivləri və yüksək səviyyəli çərçivələr yaratmaq üçün minimal bir Python web çərçivəsidir. Həm ictimai, həm də kommersiya versiyaları var.

  • Bükülü

    Twisted açıq mənbə, hadisəyə əsaslanan şəbəkə motorudur. Bu, həm də müştərilərin, həm də serverlərin və ölçeklerin böyük veb saytlara və hətta quraşdırılmış qurğulara tətbiq olunması üçün faydalıdır. Twisted, xüsusi şəbəkə tətbiqlərini asanlaşdırır.

Python-da məşhur riyaziyyat / elmi kompüter kitabxanaları

  • Numpy

    NumPy, Python'daki elmi bilgisayarlar üçün temel bir pakettir. Digərləri arasında:

    • obyektlərin güclü N ölçülü array
    • kompleks (yayım) funksiyaları
    • C / C + + və Fortran kodları üçün inteqrasiya vasitələri
    • faydalı xətti cəbr, Fourier transformu və təsadüfi sayda imkanları

    Bu xüsusiyyətlər həmçinin NumPy-nin ümumi təyinatlı verilənlər bazası tətbiqlərində istifadə edilməsinə imkan verir.

  • SciPy, Python proqramlaşdırma dili üçün açıq mənbə kitabxanadır. Riyazi alqoritmlər və fənlər və texnologiyada tez-tez istifadə olunan funksiyalardan ibarətdir. SciPy, optimallaşdırma, kümelenme, ayrık Fourier dönüşümleri, doğrusal cəbr, siqnal emal və çoxölçülü görüntü emal kimi vəzifələr üçün alqoritmlər və alətləri ehtiva edir. SciPy, NumPy ilə yaxından əlaqələnir və SciPy-də əsas məlumat strukturu kimi istifadə edilən çoxölçülü bir sıra da daxil olmaqla, bir çox NumPy funksiyasından asılıdır.

  • matplotlib

    matplotlib, Python proqramlaşdırma dili və sayısal matematik NumPy'nin uzadılması üçün bir rəsm kitabxanasıdır. WxPython, Qt və ya GTK kimi universal GUI alətlərini istifadə edərək tətbiqlərdə qrafların yerləşdirilməsi üçün obyekt yönümlü bir API təmin edir. MATLAB-a çox yaxın olan dövlət maşınına (məsələn, OpenGL) əsaslanan prosedur interfeys "pylab" da var.

  • pandas

    Pandas, bir Python məlumat analiz kitabxanası, Python proqramlaşdırma dili üçün yüksək performanslı, asan istifadə edilən məlumat strukturları və məlumat təhlili vasitələrini təmin edən BSD lisenziyalı açıq mənbə kitabxanadır. Bundan əlavə, pandaslara 10 dəqiqə də çox yaxşı bir sənəddir.

  • Teano

    Theano, C-based rutinlərdən istifadə edərək son dərəcə optimallaşdırılmasını təmin edən Python kod interfeysində optimallaşdırma sayəsində çox sayda hesablama tələb edən riyazi vəzifələrə uyğun geniş istifadə olunan Python-C bazlı kitabxanadır. Bu maşın öyrənmə tədqiqatçıları üçün çox məşhur bir kitabxana. . Bu, çox fərqli funksiyaların həyata keçirilməsini asanlaşdırmaq və hər hansı bir səhvsiz gradientlərin hesablanmasını asanlaşdıran avtomatik fərqləndirməni yüksək dərəcədə optimallaşdırmışdır.

  • Blender

    Blender pulsuz açıq mənbə 3D paketidir. Modelləşdirmə, düzəltmə, animasiya, simulyasiya, göstərmə, kompozisiya və hərəkət izləmə, hətta videoların redaktə edilməsi və oyun yaradılması da bütün üçölçülü boru kəmərini dəstəkləyir.

  • scikit-öyrənmək

    scikit-öyrənmək Python-da yazılmış pulsuz, açıq mənbə bir maşın öyrənmə kitabxanasıdır. Bu, bir çox müxtəlif maşın öyrənmə modellərinin öyrənilməsi və sınaqdan keçirilməsini və bəzi əsas məlumatların emal üsullarını dəstəkləyir.

  • Tensorfloun

    TensorFlow Google Brain komandası tərəfindən hazırlanmış açıq mənbə proqram təminatı kitabxanasıdır. Bu neyron şəbəkələri kimi maşın öyrənmə proqramları üçün əsasən istifadə olunan simvolik bir riyaziyyat kitabxanasıdır.


cəmiyyət

Sohbetler

  • Bütün Python üçün Freenode'da #python xüsusi IRC kanalında əlaqə saxlayın. Müəyyən bir alternativ kanal üçün Python IRC siyahısına baxın.

  • Python söhbətində digər on123.ru istifadəçiləri ilə Python haqqında danışın.

Digər saytlar


Pulsuz Python Proqramlaşdırma Kitabı


Python İnteraktiv Öyrənmə

  • Codecademy - Python və dinamik proqramlaşdırma əsaslarını öyrənin
  • CodeSkulptor - Python 2-də proqramlaşdırma üçün interaktiv online IDE
  • CodeSkulptor 3 - Python 3-də proqramlaşdırma üçün interaktiv online IDE
  • Coursera - Python-da interaktiv proqramlaşdırma ilə tanış olmaq üçün online kurs
  • CheckiO Python proqramlaşdırma bacarıqlarını istifadə edərək tədqiq edə biləcəyiniz bir oyun dünyasıdır.
  • Repl.it - kod saxlama və paylaşmağı asanlaşdıran Python 2 və 3 üçün Onlayn tərcüməçi.
  • PyCharm Edu interaktiv Python təlimini təklif edən bir masa üstü proqramdır.
  • İnteraktiv Python - Scientist kimi düşünmək üçün redaktə, interaktiv versiyasını ehtiva edir
  • Python Tutor - Görselleştirme və / və ya Python-da canlı kodlaşdırma

Python online kursları


Python video dərsləri


Python, alimlər üçün


Python Online IDE