Гарчиг[Нуух][Үзүүлэх]
Энэхүү лекц нь 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 дээр багцуудыг хэрхэн үүсгэж ашиглахыг харцгаая.
Эхлээд төслийн самбараас шинэ лавлах нэмнэ үү. Үүнийг "Цахим худалдаа" гэж нэрлэе. Энэ багц нь цахим худалдааны програмтай холбоотой бүх модулиудыг агуулна.
Энэ нь хоосон сан хэвээр байгаа бөгөөд үүнийг багц болгон хөрвүүлэхийн тулд бид түүнд тусгай файл үүсгэх хэрэгтэй. Энэ директорт шинэ python файл нэмээд "__init__" гэж нэрлэнэ үү. Энэ нь Python хэл дээрх тусгай конвенц бөгөөд Python орчуулагч директор дотор ийм нэртэй файлыг харах үед энэ директорийг багц гэж үздэг.
Бидэнд бас багц үүсгэх өөр, товч арга бий. Төслийн самбар дээр хулганы баруун товчийг дараад жагсаалтаас Python багц үүсгэнэ үү. Үүнийг "Цахим худалдаа" гэж нэрлэ, тэгээд л болоо. Энэ нь "__init__" нэртэй Python файл бүхий лавлахыг автоматаар үүсгэх болно.
Одоо багцад модуль үүсгээд "тээвэрлэх" гэж нэрлэе. Энэ модульд тээврийн зардлыг тооцоолох энгийн функцийг бүтээцгээе.
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-той. Бид өөр Python курсын үеэр Django-г судлах болно.
Энэ бол энэ цувралын сүүлийн уламжлалт лекц байв. Дараагийн лекц нь бидний ердийн форматаас хазайх бөгөөд бид Python-ийн зарим чухал хэрэглээний жишээг сурах болно. Ингэснээр энэ цуврал дуусч, бид дараагийн Python цуврал руугаа шилжих болно. Үүний төлөө хамт байгаарай.
хариу үлдээх