Importing Module

ដើម្បី​អាច​យក​ក្បួន​ខ្នាត​នៅ​ក្នុង module ណា​មួយ​មក​ប្រើប្រាស់​នៅ​ក្នុង​កម្មវិធី​ណា​មួយ​បាន យើង​ចាំបាច់​ត្រូវ​ប្រើប្រាស់ statement import ដោយ​ធ្វើ​ដូច​ខាង​ក្រោម​នេះ៖

import mymodule

នៅ​ពេល​ដែល mymodule ខាង​លើ​ត្រូវ​បាន import ការស្វែង​រក​ឯកសារ​នេះ ត្រូវ​ធ្វើ​ឡើង​នៅ​ក្នុង​ថត​ដែល​មាន​ឯកសារ​ជា​កម្មវិធី​ខាង​លើ​នេះ​មុន​គេ​។ ក្រោយ​ពី​ module នេះ​ត្រូវ​បាន​រក​ឃើញ​ហើយ Python interpreter នឹង​បកប្រែ​ module នេះ បង្កើត​ជា​ឯកសារ​មួយ​ទៀត​មាន​ឈ្មោះ​ថា mymodule.pyc ​ទុក​នៅ​ក្នុង​ថត​ជា​មួយ​នឹង​កម្មវិធី​ខាង​លើ​នេះ។

ជា​លទ្ធផល statement នៅ​ក្នុង module នោះ​ទាំងប៉ុន្មាន​ត្រូវ​បាន​យក​ទៅ​អនុវត្ត ដែល​ជា​ប្រការ​ធ្វើ​អោយ​វត្ថុ​មួយ​ចំនួន​ទៀត ត្រូវ​បាន​បង្កើត​ឡើង​និង​ទុក​នៅ​ក្នុង​ scope ដែល​ត្រូវ​បាន​បង្កើត​ឡើង​ដោយ​ module នោះ​។

យ៉ាងណាម៉ិញ អ្វី​ៗ​ទាំងអស់​ដែល​ត្រូវ​បាន​បង្កើត​ឡើង​នៅ​ក្នុង​ module ត្រូវ​ចាត់ទុក​ថា​ជា attribute របស់ module ។ ហើយ​ការយក​ attribute ទាំងនោះ​មក​ប្រើ ត្រូវ​ធ្វើ​ឡើង​ដូច​ខាង​ក្រោម​នេះ៖

import mymodule

print(mymodule.pi)
print(mymodule.surface(15))

triangle = mymodule.Geometry()
print(triangle)
3.14
706.5
Constructor of the class Geometry was called.
<mymodule.Geometry object at 0x00E3E4F0>

ដូចនេះ​យើង​ឃើញ​ថា បើ​សិន​ជា​យើង​ប្រើ statement mport ដូច​ខាង​លើ​នេះ ការយក​ attribute របស់​ module មក​ប្រើ ចាំបាច់​ត្រូវ​ធ្វើ​ឡើង​តាម​រយៈ module ផ្ទាល់​តែ​ម្តង​ ពោល​គឺ​យើង​មិន​អាច​យក​ attribute ទាំងនោះ​មក​ប្រើ​ដោយ​ផ្ទាល់​បាន​ឡើយ​។ ក៏ប៉ុន្តែ មាន​វិធី import ម៉្យាង​ទៀត ដែល​អនុញ្ញាត​អោយ​យើង​អាច​យក attribute នៅ​ក្នុង​ module មក​ប្រើ​ដោយ​ផ្ទាល់​បាន​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ៖

from mymodule import pi
from mymodule import surface
from mymodule import Geometry

print(pi)
print(surface(15))

triangle = Geometry()
print(triangle)
3.14
706.5
Constructor of the class Geometry was called.
<mymodule.Geometry object at 0x00E3E4F0>

យ៉ាងណាម៉ិញ បើ​សិន​ជា​យើង​មាន​បំណង​ចង់ import នូវ​អ្វី​ៗ​ទាំងអស់​ដែល​មាន​នៅ​ក្នុង module ណា​មួយ យើង​ត្រូវ​ធ្វើ​ដូច​ខាង​ក្រោម​នេះ៖

from mymodule import *
print(pi)
print(surface(15))

triangle = Geometry()
print(triangle)
3.14
706.5
Constructor of the class Geometry was called.
<mymodule.Geometry object at 0x00E3E4F0>

លើស​ពី​នេះ​ទៀត យើង​ក៏​អាច import module មួយ ដោយ​ប្រើ​ប្រាស់​ឈ្មោះ​ថ្មី​ផ្សេង​ៗ​ទៀត​បាន​ដែរ ដោយ​ធ្វើ​ដូច​ខាងក្រោម​នេះ៖

from mymodule import pi as PI
from mymodule import surface as SURFACE
from mymodule import Geometry as GEOMETRY

print(PI)
print(SURFACE(15))

triangle = GEOMETRY()
print(triangle)
3.14
706.5
Constructor of the class Geometry was called.
<mymodule.Geometry object at 0x00E3E4F0>