Professional Documents
Culture Documents
Python
ლ ე ქ ცია 1 4 : მ ოდუ ლ ე ბ ი და პ ა კ ე ტ ე ბ ი – ი ნ ს ტ რუ ქ ცი ე ბ ი IM P O R T და FR O M . მ ოდუ ლ ი ს მ ოძ ე ბ ნ ა
და ხ ე ლმ ე ორე დ ჩ ა ტ ვ ი რთვ ა .
P y pi - პ ი თონ ი ს პ ა კ ე ტ ე ბი ს რე პ ოზ ი ტ ორი ს მ ი მ ოხ ი ლ ვა . პ ა კ ე ტე ბ ის ჩ ა მ ოქ ა ჩ ვა და
ს ა ი ნ ს ტ ა ლ აც ი ო პ ა კ ე ტ ებ ის გა მ ზ ა დე ბ ა .
ლიკა სვანაძე
lika.s v anadze@bt u.edu.ge
მოდულები -‐ Modular
programming
§ მოდულური პროგრამირება გულისხმობს პროგრამის დაყოფას განცალკევებულ
მცირე ქვე-ამოცანებად (მოდულებად). მისი უპირატესობებია:
§ სიმარტივე – თითოელი მოდული წარმოადგენს კონკრეტული მცირე ზომის პრობლემის
შესაბამის ალგორითმს. შესაბამისად, მასში ცვლილებების განხორციელება გაცილებით
მარტივადაა შესაძლებელი.
§ რამდენიმე პროგრამისტის მუშაობის შემთხვევაში, ცალკეული მოდულებზე მუშაობა
გაცილებით უფრო მარტივი და კომფორტულია.
§ ერთხელ დაწერილი მოდული შესაძლებელია მარტივად იყოს გამოყენებული
რამდენიმეჯერ პროგრამის წერის ნებისმიერ ადგილას.
09.01.20 lika.svanadze@btu.edu.ge 2
Module
(მოდული)
მოდული შესაძლოა იყოს როგორც ჩაშენებული (built-‐in), ასევე მომხმარებლის
მიერ შექმნილი.
09.01.20 lika.svanadze@btu.edu.ge 3
ჩაშენებული მოდულები
რიცხვითი და მათემატიკური მოდულები:
§ numbers
— Numeric
abstract
base
classes
§ math
— Mathematical
functions
§ cmath — Mathematical
functions
for
complex
numbers
§ decimal
— Decimal
fixed
point
and
floating
point
arithmetic
§ fractions
— Rational
numbers
§ random
— Generate
pseudo-‐random
numbers
§ statistics
— Mathematical
statistics
functions
ფუნქციური პროგრამირების მოდულები:
§ itertools — Functions
creating
iterators
for
efficient
looping
§ functools — Higher-‐order
functions
and
operations
on
callable
objects
§ operator
— Standard
operators
as
functions
§ sys მოდული - System-‐specific
parameters
and
functions
§datetime -‐ თარიღის და დროის ტიპის ობიექტები და მასთან სამუშაო ფუნქციები
09.01.20 lika.svanadze@btu.edu.ge 4
sys
მოდული - მოდულების ძებნა
sys – System-‐specific
parameters
and
functions
§ sys
მოდულის ძირითადი ელემენტებია (ცვლადები და არა ფუნქციები):
§ sys.modules -‐ ჩაშენებული მოდულების ჩამონათვალი და შესაბამისი
ფაილების ადგილმდებარეობა
§ sys.path -‐ აბრუნებს ინფორმაციას მოდულების ადგილმდებარეობის შესახებ
(ბილიკებს).
09.01.20 lika.svanadze@btu.edu.ge 5
მოდულის შექმნა
• მოდულის შექმნა ხდება სტანდარტული py ფაილში. მოდულის სახელს
წარმოადგენს შესაბამისი py ფაილის სახელს.
09.01.20 lika.svanadze@btu.edu.ge 6
მოდულის ხელმეორედ ჩატვირთვა
import importlib
importlib.reload(mod)
09.01.20 lika.svanadze@btu.edu.ge 7
პაკეტები
§ დიდი აპლიკაციების დეველოპმენტის დროს საჭირო ხდება დიდი რაოდენობის
მოდულებთან მუშაობა. ასეთ შემთხვევაში შესაძლოა სხვადასხვა მოდულს ან სხვადასხვა
მოდულის ფუნქციებს ერთნაირი სახელი ერქვას. შესაბამისად, საჭიროა მათი
ორგანიზებულად შენახვა რათა გამარტივდეს მათთან მუშაობა და ასევე თავიდან
ავირიდოთ ფაილებსა და ცვლადებს შორის კონფლიქტი.
§ პაკეტების მეშვეობით შესაძლებელია მოდულების იერარქიულად დალაგება. მოდულის
იმპორტისას ჯერ ეთითება პაკეტის სახელი,
წერტილი და შემდეგ მოდულის სახელი
მაგ. import
<package_name>.<module_name>
ან from
<package_name>
import
<module_name>
09.01.20 lika.svanadze@btu.edu.ge 8
პაკეტის მოდულების ჩატვირთვა
პაკეტის მოდულის ჩატვირთვა და მოდულის კომპონენტების გამოძახება
შესაძლებელია შემდეგნაირად:
import pkg.mod1
k = pkg.mod1.avg(3,6)
09.01.20 lika.svanadze@btu.edu.ge 9
PyPI – Python Package Index (1)
§ PyPI წარმოადგენს პითონის პაკეტების საძიებელს, სადაც დეველოპერები
ანთავსებენ და უზიარებენ თავიანთ პროექტებს სხვებს.
09.01.20 lika.svanadze@btu.edu.ge 10
PyPI – Python Package Index (2)
§ საინსტალაციო გაუშვით cmd-‐ს მეშვეობით შემდეგნაირად:
§ cd
ბრძანების მეშვეობით გადადით იმ დირექტორიაში სადაც გაქვთ
საინსტალაციო ფაილი
§ გაუშვით ბრძანება: python3 get-‐pip.py
09.01.20 lika.svanadze@btu.edu.ge 11
პაკეტის ინსტალაცია
§ ნებისმიერი პაკეტის საინსტალაციოდ საჭიროა ტერმინალში შესაბამისი ბრძანების
გაშვება.
§ მაგალითად dateutil პაკეტის გადმოსაწერად, უნდა დავაკოპიროთ შესაბამისი
ბრძანება https://pypi.org/project/python-dateutil/ გვერდიდან და გავუშვათ
ტერმინალის მეშვეობით (შეგიძლიათ გამოიყენოთ როგორც cmd ასევე Python
terminal Pycharm-ში). ბრძანებას აქვს შემდეგი სახე:
pip install python-‐dateutil
§ პაკეტის წარმატებით დაინსტალირების შემდეგ, იგი განთავსდება პაკეტების
დირექტორიაში და მასში არსებული სასურველი მოდულის გამოძახება
შესაძლებელია import ბრძანებით.
09.01.20 lika.svanadze@btu.edu.ge 12
პროექტის პაკეტის ატვირთვა
PyPI-‐ზე შესაძლებელია ატვირთოთ თქვენი შექმნილი პაკეტი, რომელიც
ხელმისაწვდომი იქნება ყველასთვის.
პროექტის პაკეტის ატვირთვის ინსტრუქცია:
https://packaging.python.org/tutorials/packaging-‐projects/
09.01.20 lika.svanadze@btu.edu.ge 13