មាតិកា[លាក់][បង្ហាញ]
ការបង្រៀននេះនឹងលាតសន្ធឹងជុំវិញម៉ូឌុល និងកញ្ចប់នៅក្នុង Python ។
ពួកវាជាមធ្យោបាយរៀបចំកូដរបស់អ្នកជាទម្រង់ឯកសារ ហើយពិតជាមានសារៈសំខាន់ ប្រសិនបើអ្នកមានបំណងបង្កើតកម្មវិធីគេហទំព័រជាមួយ Python
ម៉ូឌុល
ម៉ូឌុលនៅក្នុង Python គឺជាឯកសារដែលមានកូដ python មួយចំនួនដែលយើងប្រើដើម្បីរៀបចំកូដរបស់យើងទៅជាឯកសារ។ គិតថាវាដូចជាផ្នែកនៅក្នុងផ្សារទំនើប។ នៅពេលអ្នកទៅផ្សារទំនើប មានផ្នែកផ្សេងៗសម្រាប់ផ្លែឈើ បន្លែ ផលិតផលសម្អាតជាដើម។ អ្នកមិនឃើញផ្នែកមួយជាមួយនឹងផលិតផលទាំងអស់នោះទេ។
វាជាគោលគំនិតដូចគ្នាក្នុងការសរសេរកម្មវិធី។ ជំនួសឱ្យការសរសេរកូដរបស់យើងទាំងអស់ជាមួយនឹងមុខងារ និងថ្នាក់ទាំងអស់នៅក្នុង main.py យើងបំបែកកូដរបស់យើងទៅជាឯកសារជាច្រើន។ ឯកសារនីមួយៗត្រូវបានគេហៅថាម៉ូឌុល។ ជាមួយនេះ មិនត្រឹមតែកូដរបស់យើងត្រូវបានរៀបចំ និងរៀបចំបានប្រសើរជាងមុនប៉ុណ្ណោះទេ ប៉ុន្តែយើងក៏មានសមត្ថភាពក្នុងការប្រើប្រាស់កូដរបស់យើងឡើងវិញផងដែរ។ តោះមើលវាតាមរយៈឧទាហរណ៍មួយ។
ចូរកំណត់មុខងារពីរសម្រាប់បំប្លែងទម្ងន់ពីផោនទៅគីឡូក្រាម និងច្រាសមកវិញ។
def lbs_to_kg(weight):
return weight * 0.45
def kg_to_lbs(weight):
return weight / 0.45
ឥឡូវនេះ យើងអាចយកមុខងារទាំងពីរនេះ ហើយដាក់វានៅក្នុងម៉ូឌុលដាច់ដោយឡែកមួយហៅថា "កម្មវិធីបម្លែង" ហើយបន្ទាប់មកវាអាចត្រូវបាននាំចូលទៅក្នុងកម្មវិធីណាមួយដែលត្រូវការមុខងារបំលែងទាំងនេះ។ ខ្ញុំសូមបង្ហាញអ្នកពីរបៀបធ្វើវា។
តោះបើកផ្ទាំងគម្រោងរបស់យើង ហើយចុចកណ្ដុរស្ដាំលើគម្រោង ហើយបន្ថែមឯកសារថ្មី។ យើងនឹងហៅឯកសារនេះថា “Converters.py”។
ឥឡូវចម្លងកូដពីឯកសារលំនាំដើម ហើយបិទភ្ជាប់វាទៅក្នុង “Converters.py”។
ជាមួយនេះ យើងបានសម្អាតម៉ូឌុលមេរបស់យើង ហើយវាមិនហើមពោះជាមួយនឹងមុខងារផ្សេងគ្នាទេ។ នៅពេលយើងសរសេរមុខងារកាន់តែច្រើនជាមួយថ្នាក់ យើងដាក់វានៅក្នុងម៉ូឌុលដែលត្រូវគ្នា។ ម៉ូឌុលគួរតែមានមុខងារ និងថ្នាក់ពាក់ព័ន្ធទាំងអស់។ ឥឡូវនេះ យើងចង់នាំចូលម៉ូឌុលកម្មវិធីបម្លែងទៅក្នុងម៉ូឌុលកម្មវិធីរបស់យើង។ ដើម្បីធ្វើដូចនេះសរសេរ import converters
នៅផ្នែកខាងលើដោយគ្មានផ្នែកបន្ថែម “.py”។
យើងអាចចូលប្រើសមាជិកនៃម៉ូឌុលមួយដោយប្រើសញ្ញាចុចស្រដៀងនឹងវិធីសាស្ត្រ។
តោះបំលែង 70 គីឡូក្រាមទៅជាផោន៖
វាក៏មានវាក្យសម្ព័ន្ធមួយផ្សេងទៀតសម្រាប់ការនាំចូលម៉ូឌុលផងដែរ។ ជំនួសឱ្យការនាំចូលម៉ូឌុលទាំងមូល យើងអាចនាំចូលមុខងារជាក់លាក់ពីម៉ូឌុលនោះ។ យើងអាចវាយបាន។ from Converters import
ហើយចុច “control + space ដើម្បីបង្ហាញបញ្ជីមុខងារដែលមាន។ ជាមួយនេះ យើងអាចហៅមុខងារនេះដោយផ្ទាល់បាន។
ហាត់ប្រាណ
នេះជាលំហាត់របស់អ្នក។
នេះគឺទាក់ទងនឹងលំហាត់ពីការបង្រៀនដែលយើងបានពិភាក្សា "សម្រាប់រង្វិលជុំ” ដែលជាកន្លែងដែលយើងបានសរសេរកម្មវិធីមួយដើម្បីស្វែងរកចំនួនធំបំផុតពីបញ្ជីមួយ។
numbers = [8, 3, 6, 10, 5]
max = numbers[0]
for number in numbers:
if number > max:
max = number
print(max)
លេខកូដនេះបច្ចុប្បន្នមិនមានស្ថាប័នទេ។ យើងមិនមានមុខងារ ឬម៉ូឌុលណាមួយទេ ហើយកម្មវិធីត្រូវបានសរសេរក្នុងឯកសារតែមួយ។ វាមិនអីទេសម្រាប់កម្មវិធីតូចៗ ប៉ុន្តែនៅពេលដែលកម្មវិធីរបស់អ្នករីកចម្រើន អ្នកត្រូវរៀបចំកូដរបស់អ្នកឱ្យបានត្រឹមត្រូវទៅក្នុងថ្នាក់ និងម៉ូឌុល។ ដូច្នេះ ជាផ្នែកមួយនៃលំហាត់នេះ ខ្ញុំចង់ឱ្យអ្នកសរសេរមុខងារមួយ ហៅវា។ find_max
. មុខងារនេះគួរតែយកបញ្ជីមួយ ហើយត្រឡប់លេខធំបំផុតនៅក្នុងបញ្ជីនោះ។ បន្ទាប់ពីនោះទៅមុខហើយដាក់មុខងារនេះនៅក្នុងម៉ូឌុលដាច់ដោយឡែកមួយទាញវាចេញពីទីនេះហើយដាក់វាក្នុងម៉ូឌុលដែលគេហៅថា utils
. ម៉ូឌុលនេះគួរតែមានមុខងារឧបករណ៍ប្រើប្រាស់ច្រើន។ នាំចូល utils
ម៉ូឌុលចូលទៅក្នុងម៉ូឌុលបច្ចុប្បន្នហើយហៅ find_max
មុខងារ។ ទីបំផុតទទួលបានលទ្ធផលហើយបោះពុម្ពវានៅលើស្ថានីយ។
លំហាត់នេះពិបាកបន្តិច ប៉ុន្តែអាចធ្វើបានយ៉ាងងាយ។
ជាដំណោះស្រាយ
ចាប់ផ្តើមដោយកំណត់មុខងារមួយ។ find_max
ហើយបន្ថែមប៉ារ៉ាម៉ែត្រហៅថាលេខ។ នៅក្នុងមុខងារនេះ សរសេរក្បួនដោះស្រាយសម្រាប់ការស្វែងរកលេខធំបំផុតនៅក្នុងបញ្ជីមួយ។
def find_max(numbers):
max = numbers[0]
for number in numbers:
if number > max:
max = number
return max
រក្សាទុកកូដនេះនៅក្នុងឯកសារ “utils.py” ជាម៉ូឌុល។
ត្រឡប់ទៅកម្មវិធីចម្បងរបស់យើងវិញ គ្រាន់តែនាំចូលម៉ូឌុលដោយវាក្យសម្ព័ន្ធទាំងពីរ ហើយដំណើរការតក្កវិជ្ជា។
រឿងមួយដែលខ្ញុំត្រូវការដើម្បីនាំយកការយកចិត្តទុកដាក់របស់អ្នកទៅគឺអន់ថយ max
. ហេតុផលសម្រាប់នោះគឺ max
គឺជាមុខងារដែលភ្ជាប់មកជាមួយនៅក្នុង Python ហើយយើងកំពុងកំណត់វាឡើងវិញ។ ដូច្នេះ នេះជាការព្រមានរបស់ស កម្មវិធីចងក្រង Python ដែលយើងមិនអាចប្រើ max ជាមុខងារដែលភ្ជាប់មកជាមួយរបស់វាបានទៀតទេ។
ម៉ូឌុលដែលភ្ជាប់មកជាមួយនៅក្នុង Python
Python ភ្ជាប់មកជាមួយបណ្ណាល័យស្តង់ដារដែលមានម៉ូឌុលជាច្រើនសម្រាប់កិច្ចការទូទៅដូចជាការផ្ញើអ៊ីមែល ធ្វើការជាមួយកាលបរិច្ឆេទ និងពេលវេលា បង្កើតតម្លៃចៃដន្យ និងពាក្យសម្ងាត់ជាដើម។ មានម៉ូឌុលជាច្រើនដែលបានបង្កើតរួចហើយនៅក្នុង Python ដែលមានន័យថាមានមុខងារជាច្រើនដែលយើងអាចប្រើឡើងវិញបាន។ អ្នកអាចរកឃើញម៉ូឌុលទាំងនេះ នៅទីនេះ.
កញ្ចប់
កញ្ចប់គឺជាមធ្យោបាយមួយផ្សេងទៀតដើម្បីរៀបចំកូដរបស់យើងនៅលើកំពូលនៃម៉ូឌុល។ គម្រោងពិតអាចមានម៉ូឌុលរាប់រយ ឬរាប់ពាន់ ហើយយូរៗទៅ ថតរបស់យើងនឹងអាប់អួរជាមួយនឹងឯកសារជាច្រើន។ ដូច្នេះ វិធីសាស្រ្តប្រសើរជាងមុនគឺរៀបចំម៉ូឌុលដែលពាក់ព័ន្ធនៅខាងក្នុងកញ្ចប់ ដែលធ្វើឱ្យកញ្ចប់ក្លាយជាធុងសម្រាប់ម៉ូឌុលច្រើន។
ថតថ្មីត្រូវបានបន្ថែមទៅគម្រោង ហើយម៉ូឌុលដែលពាក់ព័ន្ធទាំងអស់ត្រូវបានបន្ថែមទៅថតនោះ។ ជាឧទាហរណ៍សូមគិតអំពីផ្សារទំនើប។ មានផ្នែកផ្សេងៗគ្នាសម្រាប់សម្លៀកបំពាក់បុរស ស្ត្រី និងកុមារនៅក្នុងផ្សារទំនើប ដែលមានលក្ខណៈដូចជាកញ្ចប់។ ផ្នែកនីមួយៗមានតំបន់ផ្សេងៗគ្នាសម្រាប់ប្រភេទផលិតផលផ្សេងៗគ្នាដូចជា ស្បែកជើង អាវយឺត និងអាវ។ គិតថាទាំងនេះជាម៉ូឌុល។
តោះមើលរបៀបបង្កើត និងប្រើកញ្ចប់ក្នុង Python។
ដំបូង បន្ថែមថតថ្មីពីបន្ទះគម្រោង។ ចូរហៅវាថា "eCommerce" ។ កញ្ចប់នេះនឹងមានម៉ូឌុលទាំងអស់ដែលទាក់ទងនឹងកម្មវិធី eCommerce ។
វានៅតែជាថតទទេ ហើយដើម្បីបំប្លែងវាទៅជាកញ្ចប់ យើងត្រូវបង្កើតឯកសារពិសេសមួយនៅក្នុងវា។ បន្ថែមឯកសារ python ថ្មីមួយនៅក្នុងថតនេះ ហើយដាក់ឈ្មោះឯកសារនោះថា “__init__” ។ វាជាអនុសញ្ញាពិសេសមួយនៅក្នុង Python ហើយនៅពេលដែលអ្នកបកប្រែ Python ឃើញឯកសារដែលមានឈ្មោះនេះនៅក្នុងថតឯកសារ វាចាត់ទុកថតនេះជាកញ្ចប់មួយ។
យើងក៏មានវិធីសាស្ត្រជំនួស និងសង្ខេបដើម្បីបង្កើតកញ្ចប់មួយ។ គ្រាន់តែចុចកណ្ដុរស្ដាំលើបន្ទះគម្រោង ហើយបង្កើតកញ្ចប់ Python ពីបញ្ជី។ ដាក់ឈ្មោះវាថា "eCommerce" ហើយនោះជាវា។ វានឹងបង្កើតថតដោយស្វ័យប្រវត្តិជាមួយឯកសារ Python ដែលមានឈ្មោះថា “__init__” ។
ឥឡូវនេះ ចូរយើងបង្កើតម៉ូឌុលមួយនៅក្នុងកញ្ចប់ ហើយដាក់ឈ្មោះវាថា "ការដឹកជញ្ជូន" ។ នៅក្នុងម៉ូឌុលនេះ ចូរយើងបង្កើតមុខងារសាមញ្ញមួយសម្រាប់គណនាថ្លៃដឹកជញ្ជូន។
def calc_shipping():
print("calc_shipping")
ដើម្បីចូលប្រើមុខងារនេះនៅក្នុងម៉ូឌុលចម្បងរបស់យើង យើងត្រូវចូលប្រើវាតាមរយៈកញ្ចប់ពាណិជ្ជកម្មអេឡិចត្រូនិក។ ជាថ្មីម្តងទៀតយើងមានវិធីសាស្រ្តពីរដើម្បីនាំចូលម៉ូឌុលនេះ។
នៅក្នុងវិធីទីមួយ យើងអាចនាំចូលម៉ូឌុលទាំងមូល ហើយបន្ទាប់មកហៅមុខងារមួយដោយឯករាជ្យដូចនេះ៖
import eCommerce.shipping
eCommerce.shipping.calc_shipping()
ទោះយ៉ាងណាក៏ដោយ ជាមួយនឹងវិធីសាស្រ្តនេះ ការហៅមុខងារមួយទៅកាន់ម៉ូឌុលនេះតម្រូវឱ្យដាក់បុព្វបទវាជាមួយ eCommerce.shipping.
នោះគឺជាពាក្យសំដីខ្លាំងណាស់។ ដូច្នេះនៅពេលធ្វើការជាមួយកញ្ចប់ យើងច្រើនតែប្រើវិធីសាស្រ្តទីពីរ ហើយប្រើ from
សេចក្តីថ្លែងការណ៍។
from eCommerce.shipping import calc_shipping
calc_shipping()
ប្រសិនបើអ្នកមានមុខងារច្រើននៅក្នុងម៉ូឌុលមួយ អ្នកអាចនាំចូលពួកវាទាំងអស់ក្នុងបន្ទាត់តែមួយដោយប្រើក្បៀសរវាងពួកវា។ ចូរនិយាយថាមានមុខងារមួយផ្សេងទៀតសម្រាប់ការគណនាពន្ធនៅក្នុងម៉ូឌុលដឹកជញ្ជូនរបស់យើង។ នឹងត្រូវនាំចូលដូចនេះ៖
from eCommerce.shipping import calc_shipping, calc_tax
អ្នកក៏អាចនាំចូលម៉ូឌុលនីមួយៗ និងទុកមុខងារដែលត្រូវហៅនៅដំណាក់កាលក្រោយក្នុងកម្មវិធី។ ចូរនាំចូលការដឹកជញ្ជូនម៉ូឌុល ហើយបន្ទាប់មកប្រើសញ្ញាចុចដើម្បីហៅទៅមុខងារ calc_shipping.
from eCommerce import shipping
shipping.calc_shipping()
ក្តោប!
កញ្ចប់ និងម៉ូឌុលមានសារៈសំខាន់ខ្លាំងណាស់នៅក្នុង Python ។ ជាពិសេសនៅពេលដែលអ្នកចង់ធ្វើការជាមួយក្របខ័ណ្ឌដូចជា Django ដែលត្រូវបានប្រើសម្រាប់ការសាងសង់ កម្មវិធីគេហទំព័រ ជាមួយ Python ។ យើងនឹងពិនិត្យមើល Django ក្នុងអំឡុងពេលវគ្គសិក្សា Python ផ្សេងទៀត។
នេះជាការបង្រៀនសាមញ្ញចុងក្រោយបង្អស់នៅក្នុងស៊េរីនេះ។ ការបង្រៀនបន្ទាប់នឹងខុសពីទម្រង់ធម្មតារបស់យើង ហើយយើងនឹងសិក្សាករណីប្រើប្រាស់សំខាន់ៗមួយចំនួននៅក្នុង Python។ វានឹងក្លាយជាការបញ្ចប់នៃស៊េរីនេះហើយយើងនឹងបន្តទៅស៊េរី Python បន្ទាប់របស់យើង។ ចាំមើលរឿងនោះ។
សូមផ្ដល់យោបល់