პითონი (გაკვეთილი 1)

python სწავლა

რატომ უნდა ისწავლო პროგრამის დაწერა? 

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

 57124b105a7a.jpg

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

 python words.py 
Enter file: words.txt 
to 16
ჩვენმა პერსონალურმა ინფორმაციის გამაანალიზებელმა ასისტენტმა სწრაფად გვითხრა რომ   სამ პარაგრაფში სიტყვა “to” გამოყენებულ იქნა თექვსმეტჯერ.     ფაქტი რომ კომპიუტერები ზოგიერთ საქმეში ბევრად კარგია ვიდრე ადამიანი, არის მიზეზი იმისა, რომ ისწავლოთ ლაპარაკი “კომპიუტერის ენაზე”. როცა ისწავლი ამ ახალ ენას ,  უკვე შეგიძლია პარტნიორს(კომპიუტერს) მიანდო ამქვეყნიური დავალებები და დაიტოვო მეტი დრო შენთვის, რომ აკეთო ის, რაც შენთვის შესაფერისია. ეს პარტნიორობა შენ მოგცემს მეტ გამჭრიახობას, შემოქმედობითობას და ინტუიციას.

1.1 შემოქმედობითობა და მოტივაცია 

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

6b426d9d714d.jpg

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

c17400f0b2f4.jpg

1.5 ლაპარაკი  აღნიშნული ნაწილების  განმარტებები:

The Central Processing Unit (CPU) – ცენტრალური პროცესორი (ცპ) არის კომპიუტერის ნაწილი რომელიც შეპყრობილია კითხვით “რა არის შემდეგი?”.  თუ თქვენს კომპიუტერს აქვს 3.0 გიგაჰერცი,  ეს ნიშნავს რომ ცპ გკითხავთ “რა არის შემდეგს?” სამ მილიარდჯერ ყოველ წამში. მოგიწევს ისწავლო როგორ ელაპარაკო სწრაფად ცპ -ს.
Main Memory –  ძირითადი მეხსიერება გამოიყენება იმ ინფორმაციის შესანახად , რომელიც სჭირდება ცპ -ს. ძირითადი მეხსიერება  დაახლოვებით ისეთივე სწრაფია როგორც ცპ, მაგრამ როცა კომპიუტერი გამორთულია  ძირითად მეხსიერებაში შენახული ინფორმაცია იკარგება.
Secondary Memory – დამატებითი მეხსიერება ასევე გამოყნებულია ინფორმაციის შესანახად, მაგრამ ეს ბევრად უფრო ნელია, ვიდრე ძირითადი მეხსიერება. დამატებითი მეხსიერების უპირატესობა ისაა, რომ მას შეუძლია შეინახოს ინფორმაცია მაშინაც კი, როცა კომპიუტერს ელექტროენერგია არ მიეწოდება. დამატებითი მეხსიერების მაგალითებია მყარი და ფლეშ დისკები.
 Input and Output Devices – შიდა და გარე მოწყობილობებია ეკრანი, კლავიატურა, თაგვი, მიკროფონი, დინამიკი, “თაჩფადი”, და.ა.შ. ეს ყველაფერი არის კომპიუტერთან ურთიერთქმედების საშუალებები.
Network Connection – ქსელთან კავშირი დღეს უმეტეს კომპიუტერს აქვს ქსელიდან ინფორმაციის მოსაპოვებლად. ქსელზე შეგვიძლია ვიფიქროთ , როგორც ძალიან ნელ ადგილზე ინფორმაციის განსათავსებლად ან საპოვნელად, რომელიც შეიძლება ყოველთვის არ იყოს ხელმისაწვდომი. ამ გაგებით, ქსელი არის  დამატებითი მეხსიერების ნელი და არასაიმედო ფორმა.     სანამ ყველა დეტალს გავარჩევდეთ, ჯობია კომპიუტერის ნაწილები მის ინჟინრებს დავუტოვოთ  და ვილაპარაკოთ პროგრამაზე.     როგორც პროგრამისტი, შენი საქმეა არსებული რესურსების ორკესტრირება პრობლემის გადასაჭრელად თუ მონაცემების გასაანალიზებლად. როგორც პროგრამისტს უმეტესად “სალაპარაკო” გექნება ცპ-სთან  რო უთხრა თუ რა გააკეთოს. ხანდახან ცპ-ს ეტყვი რო გამოიყენოს ძირითადი მეხსიერება, დამატებითი მეხსიერება, ქსელი ან შიდა და გარე მოწყობილობები.

2fa576660bb6.jpg

შენ უნდა გახდე ადამიანი რომელიც ცპ-ს კითხვას “რა გავაკეთო” გასცემს პასუხს. მაგრამ არაკომფორტული იქნება 5 მილიმეტრის სიმაღლემდე დაპატარავება, კომპიუტერში შეძვრომა და წამში 3 მილიარდი ბრძანების გაცემა. ამის ნაცვლად წინასწარ უნდა  დავუწეროთ ინსტრუქცია. ასეთ ინსტრუქციას ვეძახით პროგრამას და ინსტრუქციის დაწერა/შემოწმებას – პროგრამირებას.

მოტივები

ამ რამდენიმე კვირის წინ შესანიშნავ საიტზე coursera წავაწყდი პითონის(Python) უფასო ონლაინ კურსს და გადავწყვიტე ამეხდინა ბავშვობის ოცნება და  მესწავლა პროგრამირება. უცხო ენები არც იმდენად კარგად ვიცი, რომ უცხო ენაზე ვისწავლო ასევე უცხო ენა, ამიტომ  დამჭირდა პითონის ქართული სახელმძღვანელო და ბევრი ძებნის შემდეგ, ფორუმებზე და ბლოგებზე აკრეფილი რამდენიმე პოსტის გარდა ვერაფერს მივაგენი. გამიტყდა, აი მაგრად გამიტყდა! აი ისე გამიტყდა რო მთავრობას ხო ვაგინე (ეხლანდელსაც და წინებსაც), მერე ღრუსეთს ვაგინე და ბოლოს ხალხს მივდექი… არ მოვიტყუბი და ჩარეცხილი თუ ჩასარეცხი წითელი ინტელიგეციით დაწყებული, უნივერსიტეტების ლექტორებით დამთავრებული; მოკლედ ყველას არა მაგრამ  ბევრს ვაგინე. რო დავწყნარდი, მივხვდი, რომ ამათთვის ერთი მაგინებელი გინდ იქით ყოფილა გინდ აქეთ, ამიტომ კიდევ ერთი გადაწყვეტილებით, ინგლისური სახელმძღვანელოდან ( Python for Informatics: Exploring Information ) წაკითხული და გაგებული იწერება ქართულად. არ მკითხოთ ინგლისური ან თარგმნა სად ვისწავლე; ერთთვიანი ან ექვსწლიანი კემბრიჯის კურსდამთავრებულის დიპლომები არ მაქვს, თუმცა მაქვს ენთუზიაზმი და იმედია ამით მაინც გამოვა რამე, თვარა იმფერ დიპლომიანები რას გვიშვრებიან ქე ხედავთ. მოკლედ ვთარგმნი ქართულად და იმედი მაქვს  გამოჩნდება კეთილშობილი, დალოცვილი, ქველი, ბრძენი, ოჯახში გამრავლებული და.ა.შ. ადამიანები რომელიც შენიშვნებს, რჩევებს არ დაიშურებს.ჩემს თავს ვუსურვებ წარმატებას, ენთუზიაზმის არ განელებას და … (ამას აქ ვერ დავწერ მარა მაინც ვისურვებ)!

Python-თან ახლა, როცა უკვე ვიცით სიტყვა და მარტივი წინადადება, გვჭირდება ვიცოდეთ როგორ დავიწყოთ ლაპარაკი Python – თან რომ შევამოწმოთ ჩვენი ცოდნა Python – ში. სანამ Python – თან ილაპარაკებ, მანამდე საჭიროა დააინსტალირო Python პროგრამა შენს კომპიუტერში და შემდეგ ჩართო. კარგი იქნება მოინახულო გვერდი www.pythonlearn.com სადაც დეტალურადაა ახსნილი თუ როგორ დააინსტალირო პროგრამა მაკზე და ვინდოუსზე. და როცა ტერმინალში ან ბრძანებათა ფანჯარაში დაწერ python ს, python -ის მთარგმენელი დიალოგურ რეჟიმში დაიწყებს მუშაობას და გამოჩნდება მსგავსი რამ:

c48c16a60012.jpg

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

python

 რაღაც ისე არაა… რამეს სწრაფად თუ არ მოიფიქრებ, პლანეტის ადგილობრივი მაცხოვრებელნი თავის შუბებით მოგკლავენ, შამფურზე წამოგაგებენ, შეგწვავენ და სადილად შეგჭამენ .     საბედნიეროდ ეს წიგნი თან გაქვს წაღებული.  საჩქაროდ გადაშალეთ ამ გვერდზე და სცადეთ კიდე ერთხელ:
>>> print ‘Hello world!’
Hello world!
ეს გამოიყურება ბევრად უკეთ, ამიტომ სცადე ელაპარაკო უფრო მეტი:

>>> print 'You must be the legendary god that comes from the sky' 
You must be the legendary god that comes from the sky 
>>> print 'We have been waiting for you for a long time' 
We have been waiting for you for a long time 
>>> print 'Our legend says you will be very tasty with mustard' 
Our legend says you will be very tasty with mustard 
>>> print 'We will have a feast tonight unless you say 
File "<stdin>", line 1 
print 'We will have a feast tonight unless you say 
ˆ 
SyntaxError: EOL while scanning string literal 
>>> 

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

>>> good-bye 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
NameError: name 'good' is not defined 
>>> if you don't mind, I need to leave 
File "<stdin>", line 1 
if you don't mind, I need to leave 
ˆ 
SyntaxError: invalid syntax 
>>> quit() 

შეატყობდი რომ შეცდომა განსხვავებულია პირველ ორ მცდელობაში. მეორე შეცდომა განსხვავებულია , იმიტომ რო “if” არის განსაზღვრული სიტყვა (გს) და Python – მა რომ დაინახა (გს) , იფიქრა, რომ ვაპირებდით რაღაცის თქმას მაგრამ მერე შემთხვევით სინტაქსი შეგვეშალა.  სწორად რომ ვთქვათ “ნახვამდის’ საჭიროა შევრონ  >>> პრომპტში დავწეროთ quit()

წყარო:http://pythongeo.blogspot.com/

Facebook (0)