პითონი დამწყებთათვის: დაიწყე

გამჟღავნება: თქვენი მხარდაჭერა ხელს უწყობს საიტის მუშაობას! ჩვენ ვიღებთ რეფერალის გადასახადს ზოგიერთი სერვისის შესახებ, რომელსაც გირჩევთ ამ გვერდზე.


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

მაგალითად, მსგავსი ენების უმეტესობისთვის (მაგალითად, Ruby და Perl), პითონი შეიძლება გამოყენებულ იქნას ნებისმიერი რამისთვის, ნებისმიერი ტიპის პროგრამისთვის. არსებობს უამრავი პროგრამა, რომლებიც აშენდა Python- ის გამოყენებით და რამდენიმე შესანიშნავი ვებ-განვითარების ჩარჩოები. Py2Exe ისეთ ინსტრუმენტებთან ერთად, შეგიძლიათ შეფუთოთ Python სკრიპტები, როგორც ცალკეული დესკტოპის პროგრამები.

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

თუ გსურთ გაეცნოთ როგორ უნდა შექმნათ ლამაზი ვებ პროგრამები, ალბათ გსურთ დაიწყოთ Ruby ან (თუ თქვენ)’WordPress– ში გადატანა), PHP. მაგრამ თუ გსურთ ისწავლოთ კომპიუტერების გამოყენება საინტერესო ახალი რამის შესასრულებლად, პითონი თქვენთვის არის ენა.

Contents

პითონის ონლაინ რესურსები

ინტერნეტში უამრავი პითონის მასალაა – ზოგი უფასო, ზოგს ფასიანი. ეს არის პითონის სწავლის ზოგიერთი საუკეთესო რესურსი.

პითონის სწავლა

კურსები და გაკვეთილები
  • ოფიციალური პითონის საიტი
  • დამწყები’პითონის სახელმძღვანელო – სწავლის დაწყების ოფიციალური ადგილი.
    • პროგრამისტებისთვის
    • პროგრამისტებისთვის, რომლებიც ახალია პითონისთვის
  • შეიტყვეთ პითონის მძიმე გზა – შესანიშნავი პითონის კურსი მათთვის, ვისაც ნამდვილად სურს ისწავლოს ენა, ყოველგვარი მალსახმობების გარეშე..
  • Google’პითონის კლასი – Google იყენებს Python- ს მრავალი პროექტისთვის. გსურთ გაიგოთ ის, თუ როგორ ასწავლიან მას? Შენ შეგიძლია.
  • სახელმძღვანელო სტანდარტული ბიბლიოთეკისთვის
  • Python Koans – გასაოცარი, ფილოსოფიური მიდგომა პითონის პროგრამირებისა და დეველოპერის მსგავსად აზროვნებისკენ, Test Driven Development– ის გამოყენებით.
სხვა შესანიშნავი პითონის გაკვეთილები და სასწავლო რესურსები

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

  • პითონის ვიდეოები – ვიდეოების უზარმაზარი სია პითონის თემების შესახებ
  • პითონის პროგრამირება დამწყებთათვის – შიშველი ძვლების გაკვეთილი Linux ჟურნალიდან.
  • პითონის წიგნი – სიღრმისეული ონლაინ წიგნი, რომელიც მოიცავს პითონის დასაწყისს, მოწინავე თემებს და წვრთნებს.
  • პითონის კურსი – პითონის გაკვეთილების უფასო და ფართო პაკეტი.
  • სამშენებლო უნარები პითონში – შექმნილია პითონის სავარჯიშოების 42 თავი
  • ტოროლა’პითონის ენის სახელმძღვანელო – მარტივი პროექტზე დაფუძნებული გაკვეთილების კომპლექტი პითონის კონცეფციებზე.
  • პითონი 101 – შესავალი პითონის შესახებ.
    • პითონი 201 – შუალედური პითონი.
  • შეიტყვეთ პითონი 10 წუთში – ენის სწრაფი ცოდნა.
  • Checkio – ისწავლეთ თქვენი კოდის გაუმჯობესება თამაშში. თამაშობენ თამაშს, არც ერთს არ წერთ.
  • პითონის პროგრამირების ვიკი წიგნი
დამატებითი პითონის გაკვეთილები

Ესენი არიან “საპატიო მოხსენება” გაკვეთილები პითონის დასაწყისის შესახებ. ჩვენ გავაკეთეთ’იპოვნეთ მათ საკმაოდ ჩვენს (ძალიან მაღალ) სტანდარტებთან, მაგრამ ყველა მათგანი საკმაოდ პოპულარულია – ასე რომ, იქნებ რომელიმე მათგანი კარგად იმუშავებს თქვენთვის.

  • პითსსპოტი
  • პითონის შესავალი
  • პითონის შესავალი
  • მყისიერი პითონი
  • პითონის რჩევები
  • პითონის სამეურვეო

პითონის განვითარების ინსტრუმენტები

ბიბლიოთეკები, მოდელები და დამატებები

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

  • Shrapnel – პითონის ბიბლიოთეკა მაღალი მოცულობის კონკურენციისთვის.
  • MatPlotLib – გრაფიკა და მონაცემთა ვიზუალიზაცია.
  • Mako – ვებ შთამომავლობის ძრავა.
  • PIL – პითონის გამოსახულების ბიბლიოთეკა
    • ბალიში – PIL- ის ჩანგალი. (PIL- მა, როგორც ჩანს, შეწყვიტა აქტიური განვითარება. ამ პოპულარულ პროექტზე ბალიშმა შეარჩია ნაყოფი).
  • Pyx – Python Graphics პაკეტი
  • ლამაზი წვნიანი – ხელსაწყოები ეკრანის დასაფანტებლად, შემდეგ კი ოხრახუშისა და შინაარსის გადასაცემად.
  • Scrappy – ვებ სკრაპინგული საშუალებები.
  • Gooey – ინსტრუმენტები GUI– სთვის, ბრძანების ხაზის პითონის პროგრამებისთვის.
  • Peewee – მინიმალისტური SQL ORM პითონის აპლიკაციის დასაკავშირებლად MySQL, PostgreSQL ან SQLite.
  • SQL Alchemy – უფრო სრულად წარმოდგენილი SQL ORM.
  • PyGame – პლატფორმა ვიდეო თამაშების მშენებლობისთვის პითონში.
  • SciPy – პითონის მეცნიერება და მათემატიკის ხელსაწყოები; ძალიან მნიშვნელოვანია სამეცნიერო გამოთვლებისთვის.
  • პანდა – მონაცემთა ანალიზის ინსტრუმენტები.
  • sh – ბიბლიოთეკა პითონის სკრიპტების სხვა პროგრამების დარეკვისთვის.

პითონის ვიკი ასევე ინახავს პითონის ზოგიერთი ყველაზე სასარგებლო და პოპულარულ მოდულის ჩამონათვალს.

პირადობის მოწმობები

IDE არის ინტეგრირებული განვითარების გარემო, დიდი ან რთული პროგრამის შემუშავების საშუალება. პითონის მომხმარებელთა უმეტესობა ტენდენციას უწევს მუშაობას მარტივი კოდის რედაქტორში, მაგრამ უამრავი შესანიშნავი პითონის ფოკუსირებული IDE ხელმისაწვდომია მათთვის, ვინც Python- ს იყენებს უფრო დიდი პროექტებისთვის..

  • PyDev – Python IDE Eclipse- ისთვის.
  • კომოდო – პითონის IDE
  • PyCharm – Python IDE
  • Wing IDE – კომერციული პითონი IDE.
  • Spyder – Python IDE მეცნიერებისა და მათემატიკისთვის.
  • NetBeans
  • PyScriptter
  • μ.dev – მიკროდევი, უცნაური პატარა IDE Sakura studio- სგან.

აგრეთვე იხილეთ პითონის რედაქტორების ეს სია.

გადამუშავება და კოდის შემოწმება

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

  • PyChecker – კოდის გამშვები პუნქტი.
  • თოკი
  • ველოსიპედის შეკეთება
ინსტრუმენტების აშენება

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

ამ ჩამონათვალში ასევე შედის განვითარების სპეციალური საშუალებები, რომლებიც იყენებენ Python პროგრამების შეფუთვასა და განაწილებისთვის.

  • გამოძახება – ამოცანების შესრულებისა და სკრიპტირების ინსტრუმენტი.
  • მიკრობიქმნა – მსუბუქი მშენებლობის ინსტრუმენტი.
  • პავერი – დავალების დაწერა.
  • Pynt – აშენების ინსტრუმენტი.
  • VirtualEnv – ინსტრუმენტი იზოლირებული პითონის გარემოში.
  • Bitten – უწყვეტი ინტეგრაციის ინსტრუმენტი Python და Trac.
  • iPython – ინტერაქტიული პითონის ჭურვი და განვითარების ბიბლიოთეკა; ძალიან ბევრი მაგარი თვისება ჩამოვთვალოთ.
  • Py2Exe – პითონის სკრიპტები ასრულებს Windows ჩანაწერებში.
ვებ ჩარჩოები

თუ გსურთ გამოიყენოთ პითონი ვებ – პროგრამის შესაქმნელად, თქვენ გაქვთ არაერთი დაბალი დონის დავალება’პირველ რიგში უნდა იზრუნო – ან შეგიძლია დაიწყო მე –10 ნაბიჯიდან და გამოიყენო ვებ – აპლიკაციების განვითარების ჩარჩო.

  • Django – ჯერჯერობით, ყველაზე პოპულარულია ვებ – პროგრამის ჩარჩო პითონისთვის. იგი კონცეპტუალურად ჰგავს Ruby on Rails- ს. ნახეთ ჩვენი Django შესავალი
  • პითონ პასტა – არა ჩარჩო, არამედ ა “ჩარჩოების ჩარჩოები.” გთავაზობთ პითონის ვებ – ჩარჩოების დაბალი დონის ინსტრუმენტებს.
  • CherryPy – მინიმალისტური პითონის ვებ ჩარჩო.
  • TurboGears
  • Web2Py
  • CubicWeb
  • გიოტო
  • რეალი
  • Wheezy

პითონში ჩამონტაჟებული პროგრამები

პითონს იყენებენ უამრავი ადამიანი, მრავალი განსხვავებული ამოცანისა და მიზნისთვის, მაგრამ არც თუ ისე პოპულარულია იმისთვის, რომ პროგრამების შექმნამ მომხმარებლებზე და საბოლოო მომხმარებლებზე კოდური განაწილება მოახდინოს (გზა, მაგალითად, PHP). და მაინც, ზოგჯერ ამ მიზნით გამოიყენება. აქ მოცემულია პითონში აშენებული რამდენიმე პროგრამის მაგალითები.

  • SchoolTool – სტუდენტური ინფორმაციის სისტემა.
შინაარსის მართვის სისტემები
  • პლონი – ყველაზე პოპულარული პითონის დაფუძნებული CMS.
  • Django CMS – არც ისე პოპულარულია, როგორც Plone for CMS, მაგრამ აშენდა ყველაზე პოპულარული პითონის ჩარჩოების თავზე.
  • MoinMoin – პითონის ვიკი-ძრავა, რომელიც ახდენს პითონის ვიკიპორტს. (პითონის დაფუძნებული ვიკი CMS- სთვის იხილეთ ეს გვერდი.)
  • CPS-CMS
  • სილვა
  • ZMS

ონლაინ პითონის მითითება

ეს არის პითონის ერთერთი ყველაზე მნიშვნელოვანი ერთ – ერთი წყარო, რომელიც ალბათ სანიშნე უნდა იყოს.

  • პითონის დოკუმენტაცია
  • პითონ ვიკი
  • პოპულარული პითონის რეცეპტები
  • პითონის პაკეტების ინდექსი

წიგნები

პითონის დასაწყისი

თუ თქვენ გირჩევთ ისწავლოთ ბეჭდური წიგნის გამოყენება, შესანიშნავი წიგნების ნაკლებობაა. აქ არის რამდენიმე საუკეთესო პითონის წიგნები დამწყებთათვის. თუ დონ’წიგნები ურჩევნია (ან დონ’t გირჩევნიათ საგნების გადახდა) გადადით ონლაინ რესურსების განყოფილებაში, შესანიშნავი ონლაინ (და ძირითადად უფასო) გაკვეთილების ჩამონათვალის სანახავად.

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

Მოწინავე

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

  • ექსპერტი პითონის პროგრამირება
  • პითონის მაღალი ხარისხის პროგრამირება
  • Python პარალელური პროგრამირების Cookbook
  • პითონი პრაქტიკაში: შექმენით უკეთესი პროგრამები კონკურენციის, ბიბლიოთეკების და ნიმუშების გამოყენებით
  • მოწინავე პითონის 3 პროგრამირების ტექნიკა
  • ობიექტზე ორიენტირებული პითონის დაუფლება
  • ეფექტური პითონი: 59 უკეთესი გზა პითონის დასაწერად
  • პითონის აპარატის სწავლა
  • იფიქრეთ პითონი
  • პროფესიონალი პითონი
  • მაღალი შესრულების პითონი: პრაქტიკული შემსრულებლის პროგრამირება ადამიანებისთვის
  • ვებ – სკრაპინგი პითონის საშუალებით: თანამედროვე ქსელის მონაცემების შეგროვება
  • ტესტზე ორიენტირებული განვითარება პითონთან
  • სრულყოფილად პითონი
  • პითონის მოედანი: Geeky პროექტები ცნობისმოყვარე პროგრამისტისთვის
  • პითონის ქსელის პროგრამირების საფუძვლები: პითონის ქსელური პროგრამების მშენებლობის ყოვლისმომცველი სახელმძღვანელო
  • გზამკვლევი: პეტონში სწავლის Iteration და გენერატორები
პითონი მათემატიკის, მეცნიერებისა და მონაცემებისთვის

პითონი მათემატიკასა და მეცნიერებაში ფართოდ გამოიყენება, სულ მცირე, რამდენიმე მიზეზის გამო: – ენისთვის არსებობს მათემატიკის და მეცნიერების დიდი საშუალებები, მაგალითად SciPy და NumPy. – ენა კარგად იმოქმედებს დაპროგრამების დავალებების სწრაფად განვითარებაში, ასე რომ ადვილია Python- ის გამოყენება მონაცემების დროებითი ანალიზისთვის, სრულად გამორჩეული პროგრამების შექმნის გარეშე..

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

  • მათემატიკის პითონის გაკეთება
  • მონაცემთა ანალიზის პითონი: მონაცემთა გადანაწილება პანდასთან, NumPy– სა და IPython– ით
  • პითონის მონაცემთა მეცნიერების საფუძვლები
  • მონაცემთა მეცნიერება ნაკაწრიდან: პირველი პრინციპები პითონის შესახებ
  • მონაცემთა მოპოვების სწავლება პითონის შესახებ
  • ბიოლოგიის მოწინავე პითონი
  • პითონი ფინანსებისთვის: გაანალიზეთ დიდი ფინანსური მონაცემები
  • მონაცემთა სტრუქტურა და ალგორითმული აზროვნება პითონის საშუალებით: მონაცემთა სტრუქტურა და ალგორითმული თავსატეხები
  • პითონი ინფორმატიკისთვის: ინფორმაციის მოძიება
  • დერივატივების ანალიტიკა პითონისთან
  • ArcPy და ArcGIS: Geospatial ანალიზი პითონისთან
  • სწავლის პანდა – პითონის მონაცემთა აღმოჩენა და ანალიზი მარტივია
  • გეოსტატიკური ანალიზით პითონის სწავლა
  • სტატისტიკა, მონაცემთა მოპოვება და მანქანათმცოდნეობა ასტრონომიაში: პრაქტიკული პითონის სახელმძღვანელო კვლევის მონაცემების ანალიზისთვის
პითონი ჰაკინგისთვის

Ad hoc პროგრამირების ვარგისიანობის გამო და დავალების ავტომატიზაციისთვის, პითონი ასევე ძალიან იშვიათად გამოიყენება იმ ადამიანების მიერ, რომელთაც მოსწონთ ნივთების გატეხვა და ასევე ადამიანები, რომლებიც ცდილობენ შეაჩერონ ისინი. (ჩვენ ვფიქრობთ, რომ თქვენ ერთ-ერთი კარგი ბიჭი ხართ.)

  • ძალადობრივი პითონი: Cookbook ჰაკერების, სასამართლო ანალიტიკოსების, შეღწევის ტესტერებისა და უსაფრთხოების ინჟინრებისთვის
  • შავი ქუდი პითონი: პითონის პროგრამირება ჰაკერების და პენტესტერებისთვის
  • პითონი საიდუმლო აგენტებისთვის

ცნობა

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

  • პითონის აუცილებელი ცნობა
  • პითონის მზარეული
  • პითონის ჯიბის მითითება

პითონის გამონაკლისი

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

როდესაც პითონის პროგრამის შესრულებაში რაღაც არასწორდება, რა ხდება? კარგი, თუ შემდეგი რამ, რაც არ უნდა მომხდარიყო, არ არის გამონაკლისი … ორი რამ არასწორია.

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

ამ სტატიაში ჩვენ გადავხედავთ პითონის ინტეგრირებულ გამონაკლისს და გამოვიკვლევთ გამონაკლისის გამოყენებას.

თუ როგორ აშენებულია გამონაკლისები

ობიექტზე ორიენტირებული პროგრამირების პრინციპების დაცვით, გამონაკლისების კლასებში განისაზღვრება გამონაკლისი. ეს კლასები ტარდება მემკვიდრეობის იერარქიაში. მაგალითად, IndentationError არის SyntaxError- ის ქვეკლასე.

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

>>> სცადე:
… დააყენეთ ValueError
… გარდა ValueError, როგორც e:
… ბეჭდვა (სტრიქონი (ტიპი (e))) + "ნ" + ქ (რეჟ (ე)))

[‘__ მიზეზი:’, ‘__კლასი__’, ‘__კონტაქტი__’,
‘__delattr__’, ‘__dict__’, ‘__dir__’,
‘__doc__’, ‘__eq__’, ‘__format__’, ‘__ge__’,
‘__getattribute__’, ‘__gt__’, ‘__hash__’,
‘__init__’, ‘__le__’, ‘__lt__’, ‘__ne__’,
‘__ახლა__’, ‘__ შემცირება__’, ‘__პრესივა_ექს__’,
‘__repr__’, ‘__setattr__’, ‘__setstate__’,
‘__sizeof__’, ‘__str__’, ‘__subclasshook__’,
‘__suppress_context__’, ‘__traceback__’,
‘args’, ‘with_traceback’]

შენიშვნა კოდი ნიმუშების შესახებ: კოდის ნიმუშები >>> სწრაფი ინტერპრეტაცია შესაძლებელია ინტერაქტიული თარჯიმნის გამოყენებით. უბრალოდ ჩაწერეთ python3 ტერმინალში. ყველაფერს, რასაც წინ არ უძღოდა >>> ან … ეს გამომავალია. კოდის ნიმუშები დაუყოვნებლად არის კოდების მაგალითები, რომლებიც შეიძლება რეალურად ჩაწეროთ .py მოდულში.

აბსტრაქტული გამონაკლისი

ამ გამონაკლისების კლასებს იყენებენ, როგორც საბაზო კლასს, სხვა გამონაკლისების გარდა.

BaseException

ეს არის საბაზო კლასი, საიდანაც ყველა სხვა გამონაკლისი გამომდინარეობს.

გამონაკლისი

ყველა ჩამონტაჟებული, არა სისტემური გამონაკლისი გამონაკლისი გამომდინარეობს ამ კლასიდან. მომხმარებლის მიერ განსაზღვრული ყველა გამონაკლისი ასევე უნდა გამომდინარეობდეს ამ კლასიდან.

კლასის MyNewException (გამონაკლისი):

დეფ __სტ __ (საკუთარი):
დაბრუნების "MyNewException მოხდა."

არითმეტიკული შეცდომა

მემკვიდრეობით არითმეტიკასთან დაკავშირებული გამონაკლისები:

  • OverflowError
  • ZeroDivisionError
  • FloatingPointError

ბუფერული შეცდომა

გაიზარდა, როდესაც ბუფერთან დაკავშირებული ოპერაცია შეუძლებელია.

LookupError

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

კონკრეტული გამონაკლისი

მტკიცება

წარუმატებელ მტკიცებებზე.

>>> ირწმუნება 1 > 2
მტკიცების შეცდომა

AttributeError

აზრთაგების მითითების ან დავალების წარუმატებლობის შესახებ.

>>> x = 1

>>> x.name
AttributeError: ‘int’ ობიექტს არ აქვს ატრიბუტი ‘სახელი’

>>> x.name = "ერთი"
AttributeError: ‘int’ ობიექტს არ აქვს ატრიბუტი ‘სახელი’

EOFError

გაიზარდა, როდესაც შეყვანა () ფაილის ბოლოს (EOF) აღწევს მონაცემების წაკითხვის გარეშე.

FloatingPointError

გაზრდილია მცურავი პუნქტის ოპერაცია ვერ. გაითვალისწინეთ, რომ ეს გამონაკლისი ჩვეულებრივ არ შეიქმნება, გარდა კონფიგურაციისა, და მცურავი წერტილის გამონაკლისების გამკლავება იმედგაცრუებულია არა-ექსპერტიზის უმეტესობისთვის..

გენერატორი

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

იმპორტის შეცდომა

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

>>> იმპორტის მოდულიThatDoesNotExist
იმპორტის შეცდომა: არცერთი მოდული დაასახელა ModuleThatDoesNotExist

პითონში 3.6 და შემდეგ, დამატებით არის ქვეკლასელი ModuleNotFoundError.

IndexError

გაიზარდა, როდესაც მითითებული ინდექსი არასწორია.

>>> ლ = ["ნული", "ერთი", "ორი"]
>>> ლ [4]
IndexError: ჩამოთვალეთ ინდექსის დიაპაზონი

KeyError

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

>>> d = {‘TOS’: ‘Kirk’, ‘TNG’: ‘Picard’, ‘DS9’: ‘Sisko’, ‘VOY’: ‘Janeway’
>>> დ [‘ENT’]
KeyError: ‘ENT’

კლავიატურა

გასაღების დაჭერის დროს წამოიჭრება (CTRL-C).

>>> ხოლო მართალია
… გაივლის

^ გ
კლავიატურა

MemoryError

გაიზარდა, როდესაც ოპერაცია მეხსიერებას არ ახდენს.

NameError

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

>>> მართალია:
… გაივლის

^ გ
კლავიატურა

NotImplementedError

ეს გამიზნულია კლასებში ჩასაწერად; ის არ არის წამოჭრილი რაიმე ინტეგრირებული მახასიათებლით. მას აქვს ორი გამოყენება:

  • აბსტრაქტული მეთოდებით აღნიშნეს, რომ საჭიროა გადაწერილი იქნას მიღებულ კლასებში.
  • მიღებული კლასების მიხედვით აღნიშნავენ, რომ განხორციელების დამატება აუცილებელია. ეს საშუალებას აძლევს კლასს დატვირთვა გამონაკლისის გარეშე.

OSError

დააყენა სისტემის შეცდომა დაბრუნების დროს. დამატებითი ინფორმაცია იხილეთ ქვემოთ OSError- ზე.

OverflowError

ამაღლებულია, როდესაც მათემატიკის ოპერაციის შედეგი ძალიან დიდია.

RecursionError

გაიზარდა, როდესაც მაქსიმალური რეკურსიული სიღრმე გადალახულია.

ReferenceError

გაიზარდა, როდესაც სუსტი სააღრიცხვო მარიონეტული ობიექტი გამოიყენება ობიექტის შესასვლელად მას შემდეგ, რაც მისი შეგროვება ხდება.

RuntimeError

დაფიქსირდა შეცდომა, რომელიც არ შედის სხვა კატეგორიებში.

StopIteration

დააყენა შემდეგი () და __next __ () მიერ, როდესაც აღარ შემუშავდება Iterator- ის მიერ შემდგომი სხვა ნივთების შექმნა.

StopAsyncIteration

უნდა აღზარდოს ანექსი () ასინქრონული განმეორებითი ობიექტის მეთოდი, შეწყვეტის შეწყვეტა.

ეს ახალია 3.5 ვერსიაში.

Სინტაქსური შეცდომა

სინტაქსის შეცდომაზე დაყენებული.

>>> 1 = 2
SyntaxError: ვერ დაავალეთ სიტყვასიტყვით

IndentationError

აღშფოთების შეცდომებზე.

>>> თუ 1 == 1:
… x = 1
IndentationError: მოსალოდნელია დაბლოკილი ბლოკი

TabError

IndentationError– ის ქვეკლასე, ეს წამოიჭრება იმ შემთხვევაში, როდესაც ზონდირება არარსებულად იყენებს ჩანართებსა და ადგილებს.

Სისტემის შეცდომა

დააყენა არა სერიოზული შიდა შეცდომებზე.

SystemExit

დააყენა sys.exit () ფუნქციით.

TypeError

ამაღლება, როდესაც ოპერაცია ან ფუნქცია მოუწოდა ობიექტის შეუსაბამო ტიპს.

>>> 1 > "ერთი"
TypeError: უცვლელი ტიპები: int () > ქ ()

მომხმარებლის კოდმა უნდა დააყენოს TypeError არასწორად აკრეფილი ფუნქციის შეყვანისათვის.

UnboundLocalError

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

UnicodeError

საბაზო კლასი გამოიყენება შეცდომების გამო, რომლებიც გვხვდება Unicode სტრიქონების მართვისას. მას აქვს სამი ქვეკლასე:

  • UnicodeEncodeError
  • UnicodeDecodeError
  • UnicodeTranslateError

ValueError

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

>>> f = ღია ("name-of-file.txt", "მ")
ValueError: არასწორი რეჟიმი: ‘m’

ZeroDivisionError

გაიზარდა, როდესაც ნული გაყოფა ხდება.

>>> 1/0
ZeroDivisionError: გაყოფა ნულის მიხედვით

>>> 1.0 / 0
ZeroDivisionError: float გაყოფა ნულის მიხედვით

>>> 1% 0
ZeroDivisionError: მთელი რიცხვის დაყოფა ან მოდული ნულის მიხედვით

მეტი OSError- ზე

OSError გადაკეთდა პითონში 3.3. ახლა არის OSError- ის სამი სახელწოდება, აგრეთვე მრავალი მიღებული კლასი, სხვადასხვა შეცდომის შემთხვევაში.

OSError- ის სახელები

  • EnvironmentError თავდაპირველად იყო ბაზის კლასი OSError და IOError.
  • IOError თავდაპირველად შეიქმნა შეცდომების დროს, რომლებიც წარმოიქმნება ნებისმიერი I / O ოპერაციის დროს, მათ შორის ფაილიდან ბეჭდვა ან კითხვა.
  • WindowsError თავდაპირველად შეიქმნა Windows- ის სპეციფიკურ შეცდომებზე.

სამივე მათგანი შეინარჩუნეს მხოლოდ თავსებადობის მიზნით, მაგრამ სინამდვილეში არის OSError- ის ალიანსები.

OSError ქვეკლასელები

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

ბლოკინგი

გაიზარდა, როდესაც ოპერაცია გამოიწვევს დაბლოკვისთვის მითითებულ ობიექტზე ბლოკირებას.

  • ეგაა
  • EALREADY
  • EWOULDBLOCK
  • ევროპა
ChildProcessError

გაიზარდა, როდესაც ბავშვის პროცესზე ოპერაცია ვერ ხერხდება.

  • ECHILD
Კავშირის შეცდომა

ბაზის კლასი კავშირებთან დაკავშირებული შეცდომების გამო.

ქვეკლასელები:

  • BrokenPipeError- ის შეცდომა, რომელიც წამოწერილია დახურულ მილზე ან სოკეტზე.
    • EPIPE; ESHUTDOWN
  • ConnectionAbortedEr შეცდომა, წამოიჭრა და შემდეგ მცდელობასთან კავშირის შეწყვეტა ხდება თანატოლის მიერ.
    • ეკონომიკურად
  • ConnectionRefusedError, წამოიჭრა, როდესაც მცდელობაზე კავშირი უარს ეთქვა თანატოლის მიერ.
    • ეკონომიკურად
  • ConnectionResetError, წამოიჭრა, როდესაც კავშირი აღდგება თანატოლის მიერ.
    • ECONNRESET
FileExistsError

ამაღლებულია ფაილის ან დირექტორიის შექმნის მცდელობისას, რომელიც უკვე არსებობს.

  • EEXIST
FileNotFoundError

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

  • ერთიანი
შეჩერებულია შეცდომა

შემომავალი სიგნალის გაზრდა ხდება სისტემის ზარი.

  • EINTR

გაითვალისწინეთ, რომ პითონის 3.5 წლიდან, სისტემის შეწყვეტილი ზარები ხელახლა ხდება, თუ სიგნალის გამტარებელი გამონაკლისს არ გამოიწვევს.

IsADirectoryError

დააყენა, როდესაც ფაილის მხოლოდ ოპერაცია (მაგალითად, os.remove ()) ხდება დირექტორია.

  • EISDIR
NotADirectoryError

გაზრდილია, როდესაც მხოლოდ დირექტორიის ოპერაცია (მაგალითად os.listdir ()) ფაილის ან სხვა არა-დირექტორიის ობიექტის მცდელობისას.

  • ENOTDIR.
PermissionError

ამაღლებულია ოპერაციის ჩატარების საკმარისი ნებართვების გარეშე.

  • ადგილები
  • ეპერმი
პროცესიLookupError

გაიზარდა, როდესაც მოხსენიებული პროცესი არ არსებობს.

  • ESRCH
ვადის ამოწურვის შეცდომა

გაიზარდა, როდესაც სისტემის ფუნქცია ამოიწურება.

  • დროთა განმავლობაში

გაფრთხილებები

ეს გამონაკლისების კლასები გამოიყენება როგორც საბაზო კლასები გამაფრთხილებელი გამონაკლისების მისაღებად.

გაფრთხილება

მემკვიდრეობით მიიღება ყველა გამაფრთხილებელი ქვეკლასები.

მომხმარებლის გაფრთხილება

მემკვიდრეობით მიიღება მომხმარებლის კოდიდან მიღებული გაფრთხილებები.

ცვეთა გაფრთხილება

მემკვიდრეობით გაფუჭებული თვისებების გაფრთხილების შესახებ.

მოლოდინის გაფრთხილება

მემკვიდრეობით მიიღებს გაფრთხილებებს იმ მახასიათებლების შესახებ, რომლებიც მომავალში გაუფასურდება.

SyntaxWarning

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

RuntimeWarning

მემკვიდრეობით მიიღება გაფრთხილებები პრობლემური მოქმედების დროული ქცევის შესახებ.

FutureWarning

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

იმპორტი გაფრთხილება

მემკვიდრეობით მიიღეს გაფრთხილებები პაკეტისა და მოდულის იმპორტის შესაძლო შეცდომების შესახებ.

UnicodeWarning

მემკვიდრეობით მიიღეს უნიქოდთან დაკავშირებული გაფრთხილებები.

BytesWarning

მემკვიდრეობით გაფრთხილებებს, რომლებიც დაკავშირებულია ბაიტებთან და ბაიტიასთან.

ResourceWarning

მემკვიდრეობით მიიღება რესურსების გამოყენებასთან დაკავშირებული გაფრთხილებები.

ჩამონტაჟებული გამონაკლისების გაზრდა თქვენს კოდექსში

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

Def ObnoxiousFavoriteColorAssigner (ფერი):
თუ ტიპი (ფერი) არ არის ქ:
TypeError- ის ამაღლება ("სიმები მჭირდება.")
თუ ფერი ["წითელი", "მწვანე", "ცისფერი"]:
საყვარელი_კოლორი = ფერი
სხვა:
დააყენეთ ValueError ("ეს არ არის * ნამდვილად * ფერი.")

გამონაკლისის გატარება

თქვენ შეგიძლიათ გაუმკლავდეთ გამონაკლისს, რომელიც მოხდება როდესაც თქვენი კოდი ამოიწურება სცადეთ და გარდა.

def EverybodyLovesRed ():
მართალია:
სცადე:
ObnoxiousFavoriteColorAssigner (შეყვანა ())
შესვენება
გარდა TypeError, როგორც შეცდომა:
ბეჭდვა (შეცდომა)
ValueError- ის გარდა:
ObnoxiousFavoriteColorAssigner ("წითელი")

საბაჟო გამონაკლისების განსაზღვრა

თქვენ შეგიძლიათ გააფართოვოთ ნებისმიერი გამონაკლისი გამონაკლისი, რომ შექმნათ თქვენი საკუთარი გამონაკლისი. ეს ყველაზე ხშირად კეთდება დიდი ჩარჩოებში.

კლასის ColorError (ValueError):
"""
გაიზარდა, როდესაც ვინმეს ვარაუდობს, რომ არსებობს ფერები
გარდა წითელი, ლურჯი და მწვანე.
"""

დეფ __სტ __ ():
დაბრუნების "ფერები მხოლოდ თქვენს თვალებში არსებობს."

Def ObnoxiousFavoriteColorAssigner (ფერი):
თუ ტიპი (ფერი) არ არის ქ:
TypeError- ის ამაღლება ("სიმები მჭირდება.")
თუ ფერი ["წითელი", "მწვანე", "ცისფერი"]:
საყვარელი_კოლორი = ფერი
სხვა:
ColorError- ის ამაღლება

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

მეტი პითონის გამონაკლისებზე

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

პითონის FAQ

რას ნიშნავს პითონი არის ა “სკრიპტული ენა”?

სკრიპტირების ენა არის ენა, რომელიც ინტერპრეტაციას ახდენს დროს, ვიდრე ორობითი შესრულებისას.

ზოგი ადამიანი იყენებს ფრაზას “სკრიპტული ენა” იმის მითითება, რომ ენა განსაკუთრებით კარგია მოკლედ “სკრიპტები,” ან მინიატურული ad hoc პროგრამები, რომლებიც გამოიყენება ამოცანების ავტომატიზაციისთვის.

პითონი შეესაბამება ორივე აღწერილობას – ეს არის ინტერპრეტაციური ენა და ასევე ძალიან სასარგებლოა მოკლე, ad hoc სკრიპტების წერისთვის..

პითონის მსგავსი ენების სკრიპტირება კარგია ფართომასშტაბიანი პროგრამების დასაწერად?

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

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

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

უნდა ვისწავლო პითონი?

ეს დამოკიდებულია თქვენს მიზნებზე.

თუ თქვენ გსურთ შექმნათ ტიპიური ვებ პროგრამები, თქვენ ალბათ უნდა ისწავლოთ PHP ან Ruby (და რელსები), ერთად JavaScript, HTML და CSS. იქ’არანაირი მიზეზი არ შეგიძლიათ გამოიყენოთ პითონი ამ ნაწარმოებისთვის, მაგრამ ეს არ არის ტიპიური ამისათვის. PHP და Ruby საშუალებას მოგცემთ გაეცნოთ კიდევ უფრო არსებულ ვებ – პროგრამებს, ჩარჩოებსა და ვებ – განვითარების საშუალებებს.

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

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

შემდგომი კითხვა და რესურსები

ჩვენ გვაქვს მეტი სახელმძღვანელო, გაკვეთილები და პროგრამები, რომლებიც დაკავშირებულია პროგრამირებასთან და სტატისტიკასთან:

  • C შემქმნელის რესურსი: ყველაფერი, რაც თქვენ გჭირდებათ ამ კლასიკური ენის შესაქმნელად.
  • გაცნობა Ruby on Rails: გაეცანით ამ პოპულარულ სკრიპტურ ენაზე.
  • დაპროგრამება: Stata არის მთელი განვითარების გარემო მონაცემთა ანალიზის შესასრულებლად.

რა კოდი უნდა ვისწავლო?

დაბნეული, რა პროგრამირების ენაზე უნდა ისწავლო კოდირება? გადახედეთ ჩვენს ინფოგრაფიკას, რა კოდი უნდა ვისწავლოთ? იგი არა მხოლოდ ენების სხვადასხვა ასპექტს განიხილავს, არამედ ის პასუხობს მნიშვნელოვან კითხვებს, როგორიცაა: “რა თანხას გამოვიყენებ პროგრამირების ჯავა საცხოვრებლად?”

რა კოდი უნდა ვისწავლო?
რა კოდი უნდა ვისწავლო?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map