Jump to content

Recommended Posts

ამ პროგრამული ენის გარდა მემგონი ყველაფერზეა გახსნილი თემა, ესეც იყოს :D

 

 

პითონი წარმოადგენს მაღალი დონის პროგრამირების დინამიურ ენას შესაძლებლობათა ფართო სპექტრით, რომლის დიზაინი ყურადღებას ამახვილებს კოდის ადვილად წაკითხვადობაზე.პითონის სტანდარტული ბიბლიოთეკა დიდია და ყოვლელმხრივი. ის იყენებს ძალზე იშვიათ გამომყოფებს ბლოკებისთვის – აბზაცებს.

პითონი მულტიპარადიგმული ენაა და მოიცავს როგორც პროცედურული, იმპერატიული, ისე ფუნქციონალური პროგრამირების ელემენტებს. მას ხშირად ადარებენ ისეთ ენებს, როგორებიცაა Tcl, Perl, Ruby, Scheme და Java. პითონის მახასიათებელთა შორის აღსანიშნავია:

    უაღრესად ცხადი, გასაგები და კითხვადი სინტაქსი
    ინტროსპექცია
    ობიექტ ორიენტირებული მიდგომის მულტიპარადიგმული დიზაინი
    სრული მოდულარულობა
    მონაცემთა უაღრესად მაღალი დონის ტიპირება
    მეტაპროგრამირება
    ფართო სტანდარტული ბიბლიოთეკა

პითონის ინტერპრეტატორი წარმოადგენს ვირტუალურ მანქანას, ამდენად, ეს ენა მულტიპლატფორმულია და პითონზე შექმნილი პროგრამების გაშვება შესაძლებელია პრაქტიკულად ყველა პლატფორმაზე. როდესაც კონსოლ(ე)ში ვბეჭდავთ python somescript.py, ინტერპრეტატორი ასრულებს შემდეგ ოპერაციებს:

    ამოწმებს, არსებობს თუ არა somescript.pyc (ბაიტ-კომპილირებული კოდი) ან somescript.pyo (ოპტიმიზირებული კოდი) იმავე დირექტორიაში
    თუ ბაიტ-კომპილირებული კოდი არ არსებობს, ინტერპრეტატორი დინამიურად ქმნის მას და უშვებს პროგრამას
    თუ ბაიტ-კომპილირებული კოდი არსებობს, ინტერპრეტატორი ადარებს წყაროსა (somescript.py) და ამ ბაიტ-კოდის (somescript.pyc) მოდიფიკაციის დროს
    თუ წყარო უფრო ახალია, ე. ი. მოხდა მისი რედაქტირება კომპილაციის შემდეგ, ინტერპრეტატორი შლის არსებულ ბაიტ-კოდს და თავიდან ქმნის მას
    ინტერპრეტატორის ვირტუალური მანქანა ასრულებს ბაიტ-კოდს

პითონის პროგრამების სისწრაფე აბსოლუტურად შესადარია ჯავაზე შექმნილი პროგრამების სისწრაფისა. ისევე, როგორც ჯავას, პითონს გააჩნია ე. წ. JIT-კომპილატორები. ამათგან, ყველაზე ხშირად ციტირდება psyco, JIT-კომპილატორი ინტელ-თავსებადი პროცესორებისათვის. კიდევ ერთი ფაქტორი, რაც ხელს უწყობს პითონზე დაწერილი პროგრამების წარმადობას, არის ცხადი და გასაგები Python/C API. მეტიც, პითონის სტანდარტული ბიბლიოთეკა მოიცავს ctypes, რომლის მეშვეობითაც შესაძლებელია ნებისმიერი ფუნქციის გამოძახება C-ზე შექმნილი dll/so-დან.

მეხსიერების მართვა წარმოებს ავტომატურად, ე. წ. garbage collector-ის მეშვეობით, თუმცა, პითონის კლასებს აქვთ დესტრუქტორი, რომლის გამოძახება შესაძლებელია ნებისმიერ დროს. პროგრამირების სხვა, თანამედროვე ენების მსგავსად, შეცდომებზე რეაგირება ხდება პროგრამულად try-except-else-finally ბლოკის გამოყენებით.

ობიექტების გამოძახებადობა წარმოადგენს პითონის ერთ-ერთ ძირითად კონცეპციას. პითონის callable object მსგავსია ფუნქტორისა C++-ში. განსხვავება კი იმაში მდგომარეობს, რომ ნებისმიერი ფუნქცია, თუნდაც იგი მოიცემოდეს კლასის ფარგლებს გარეთ, მოდულში, წარმოადგენს არა მარტივ პროცედურას, არამედ სწორედ გამოძახებად ობიექტს. როგორც ყველა სხვა ობიექტს, მათაც გააჩნიათ საკუთარი ატრიბუტები, რომელთა გამოყენება ხშირადაა მიზანშეწონილი. მაგალითად, 'func_closure', 'func_code', 'func_defaults', 'func_dict', 'func_doc', 'func_globals', 'func_name'… სწორედ ეს განაპირობებს დინამიური ინტროსპექციის (ჯავაში — რეფლქსიის) უნარს და სიმარტივეს. ცხადია, პითონში შესაძლებელია ოპერატორების ხელახალი განსაზღვრა (operator overloading). აღსანიშნავია ისიც, რომ პითონის მოდული ჩვეულებრივი ობიექტია, რომლის შექმნაც შესაძლებელია დინამიურად, ნებისმიერ დროს. პითონს გააჩნია როგორც სტატიკური, ისე კლასის მეთოდები. ამდენად, როდესაც მოიხსენიება ფუნქციები პითონში, ყოველთვის იგულისხმება გამოძახებადი ობიექტები. ეს უკანასკნელნი, შეიძლება, იყვნენ, ასევე, ე. წ. co-routine, რაც იმას ნიშნავს, რომ მათი გამოყენება შესაძლებელია გენერატორების სახით.

ვებ-პროგრამირება დიდი ხანია, წარმოადგენს პითონის გამოყენების ერთ-ერთ სფეროს, რომლის ნიმუშია, მაგ. google™. პითონის მიერ უკანასკნელ ხანებში მიღწეული წარმატებები დაკავშირებულია ე. წ. Python Web Server Gateway Interface (wsgi) მიღებასთან. განსაკუთრებით მაღალი წარმადობის კარკასებს წარმოადგენენ

    Z
    Django
    TurboGears

თითოეულ მათგანს გააჩნია უპირატესი გამოყენების საკუთარი სფერო, ამასთან, ყოველი მათგანი wsgi-თავსებადია, ამდენად, ერთ პლატფორმაზე დაწერილი ვებ-აპლიკაციის გამოყენება პრინციპულად შესაძლებელია შესრულდეს მეორეზეც. პითონის ვებ-აპლიკაციების საწარმოო განთავსება (production deployment) ხდება mod_python, fastcgi, scgi და twistd პლატფორმებზე. მათი wsgi-თავსებადობა უზრუნველყოფილია flup-ის მეშვეობით.

მონაცემთა ბაზებთან კომუნიკაცია ხორციელდება როგორც პირდაპირი ადაპტორების, აგრეთვე ობიექტ-რელაციური ამსახველების დახმარებით (ORM). sqlalchemy ამ უკანასკნელის ყველაზე მძლავრ და პოპულარულ ბიბლიოთეკას წარმოადგენს. პითონი, ასევე, წარმატებით იყენებს ობიექტ ორიენტირებულ მონაცემთა ბაზებს, იხ. მაგ. ZODB.

ქსელური პროგრამირება პითონის გამოყენების ფავორიტი სფეროა, რის მაგალითსაც წარმოადგენს ქსელური პროგრამირების პლატფორმა twistd, — ასინქრონული ვარიანტი და cherrypy — მულტიპროცესული (thread-based) ბიბლიოთეკა.

პითონიკი — პითონზე პროგრამირების ერთადერთი სწორი სტილი, პითონის, როგორც ენის per se, განუყოფელი ნაწილია. There is one and only one right way to do it, — როგორც ხუმრობით ამბობენ ხოლმე, პითონის ძენის ძირითად მანტრას წარმოადგენს. პრაქტიკაში კი, ასეთი სტილის არსებობა პროექტის დიზაინისას რესურსებისა და დროის არსებით დაზოგვას იძლევა შედეგად.

კლონები, ანუ პითონის ვერსიები არსებობენ როგორც ჯავას, ისე CLR-თვის. პირველი მათგანია ჯაითონი და მეორე — IronPython.

განსაკუთრებული ეფექტურობა პითონზე პროგრამირებისას მიიღწევა ისეთი ტექნიკის გამოყენებით, როგორიცაა მეტა-პროგრამირება, მეთოდების დეკორაცია, ლამბდა ოპერატორი, კონტრაქტები, განზოგადებული (a.k. generic) ფუნქციები და ა. შ.

setuptools & easy_install პითონზე შექმნილი პროგრამული პროდუქციის გავრცელებისა და მოპოვების უპირატეს მეთოდს წარმოადგენს.

 

© Wikipedia

 

 

ვინმემ იცით ეს ენა ამ ფორუმიდან?

  • Upvote 2

Share this post


Link to post
Share on other sites

მე როგორც ვიცი ძაან მაგარი ენაა, მარტივია და რამე. და გუგლი ამას იყენებს.

  • Upvote 1

Share this post


Link to post
Share on other sites

http://www.sendspace.com/file/qrza8y გუშინ გავაკეთე პითონში :D

 

ამორჩევა მინდა 1 ენის და მერე მაგის კარგად სწავლა, ჯერ-ჯერობით Objective-C, C++, Python ვნახე და დავწერე რა რაღაც პატარა პროგრამები, ეხლა Java-ს ვტესტავ :D

Share this post


Link to post
Share on other sites

დიდი მნიშვნელობა არაა რითი დაიწყებ, mit-ში პითონით იწყებენ კურსს, სტენფორდში კიდე ჯავათი, ზოგან C*ენით. სინტაქსის სწავლა დიდი არაფერი ოხერია.

Share this post


Link to post
Share on other sites

მე როგორც ვიცი ძაან მაგარი ენაა, მარტივია და რამე. და გუგლი ამას იყენებს.

cinema 4d-ც პითონს იყენებს ისე სადშეიძლება მაგის სწავლა? იუთუბის ტუტორიალებით დავიწყო თუ? 

Share this post


Link to post
Share on other sites

cinema 4d-ც პითონს იყენებს ისე სადშეიძლება მაგის სწავლა? იუთუბის ტუტორიალებით დავიწყო თუ? 

:yes:

Share this post


Link to post
Share on other sites

მარტივი ენაა ძაან. დავიწყე სწავლა, მაგრამ შემეზარა გაგრძელება.

ვინც ისწავლის გამოადგება ნამდვილად.


matusala,

კოდში უნდა დაწერო რო არ გაქრეს.

Share this post


Link to post
Share on other sites

ცოტა დაგაინტერესოთ python-თ :)

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...