Ikẹkọ yii yoo tan ni ayika awọn modulu ati awọn idii ni Python.
Wọn jẹ ọna lati ṣeto koodu rẹ ni irisi awọn faili ati pe o ṣe pataki gaan ti o ba pinnu lati kọ awọn ohun elo wẹẹbu pẹlu Python
modulu
Module kan ni Python jẹ ipilẹ faili kan pẹlu koodu Python diẹ eyiti a lo lati ṣeto koodu wa sinu awọn faili. Ronu nipa rẹ bi awọn apakan ni fifuyẹ kan. Nigbati o ba lọ si fifuyẹ kan awọn apakan oriṣiriṣi wa fun awọn eso, ẹfọ, awọn ọja mimọ ati bẹbẹ lọ Iwọ ko rii apakan kan pẹlu gbogbo awọn ọja naa.
O jẹ ero kanna ni siseto. Dipo kikọ gbogbo koodu wa pẹlu gbogbo awọn iṣẹ ati awọn kilasi ni main.py, a fọ koodu wa sinu awọn faili lọpọlọpọ. Faili kọọkan ni a tọka si bi module. Pẹlu eyi, kii ṣe pe koodu wa dara julọ ti ṣeto ati iṣeto, ṣugbọn a tun ni agbara lati tun lo koodu wa. Jẹ ki a wo nipasẹ apẹẹrẹ.
Jẹ ki a ṣalaye awọn iṣẹ meji fun iyipada iwuwo lati awọn kilo si kilo ati ni idakeji.
def lbs_to_kg(weight):
return weight * 0.45
def kg_to_lbs(weight):
return weight / 0.45
Nisisiyi, a le mu awọn iṣẹ meji wọnyi ki o si fi wọn sinu module ọtọtọ ti a npe ni "awọn oluyipada", ati lẹhinna o le gbe wọle sinu eyikeyi eto ti o nilo awọn iṣẹ oluyipada wọnyi. Jẹ ki n fihan ọ bi o ṣe le ṣe eyi.
Jẹ ki ká ṣii soke ise agbese nronu ati ki o ọtun-tẹ ise agbese ki o si fi titun kan faili. A yoo pe faili yii “Converters.py”.
Bayi da awọn koodu lati awọn aiyipada faili ki o si lẹẹmọ o sinu "Converters.py".
Pẹlu eyi, a ti sọ di mimọ module akọkọ wa ati pe ko ni bloated pẹlu awọn iṣẹ oriṣiriṣi. Bi a ṣe kọ awọn iṣẹ diẹ sii pẹlu awọn kilasi, a fi wọn sinu awọn modulu ti o baamu wọn. A module yẹ ki o ni gbogbo awọn ibatan awọn iṣẹ ati awọn kilasi. Bayi, a fẹ lati gbe awọn oluyipada module sinu wa app module. Lati ṣe eyi, kọ import converters
lori oke laisi itẹsiwaju ".py".
A le wọle si awọn ọmọ ẹgbẹ ti a module nipa lilo a aami oniṣẹ iru si awọn ọna.
Jẹ ki a yipada 70 kg sinu poun:
Sintasi miiran tun wa fun gbigbe awọn modulu wọle. Dipo kikowọle gbogbo module, a le gbe awọn iṣẹ kan pato wọle lati inu module yẹn. A le tẹ from Converters import
ki o si tẹ “Iṣakoso + aaye lati ṣafihan atokọ awọn iṣẹ to wa. Pẹlu eyi, a le pe iṣẹ yii taara.
idaraya
Eyi ni idaraya rẹ.
Eyi ni ibatan si adaṣe kan lati inu ikẹkọ nibiti a ti jiroro “fun losiwajulosehin” nibiti a ti kọ eto kan lati wa nọmba ti o tobi julọ lati atokọ kan
numbers = [8, 3, 6, 10, 5]
max = numbers[0]
for number in numbers:
if number > max:
max = number
print(max)
Koodu yii ko ni eto lọwọlọwọ. A ko ni awọn iṣẹ tabi awọn modulu ati pe a kọ eto naa sinu faili kan. Iyẹn dara fun awọn eto kekere ṣugbọn bi awọn eto rẹ ṣe ndagba, o nilo lati ṣeto koodu rẹ daradara sinu awọn kilasi ati awọn modulu. Nitorina, gẹgẹbi apakan ti idaraya yii, Mo fẹ ki o kọ iṣẹ kan, pe o find_max
. Iṣẹ yii yẹ ki o gba atokọ kan ki o da nọmba ti o tobi julọ pada ninu atokọ yẹn. Lẹhin ti o lọ siwaju ki o si fi iṣẹ yi ni lọtọ module, jade o lati ibi ki o si fi o ni a module ti a npe ni utils
. Module yii yẹ ki o ni opo awọn iṣẹ ṣiṣe. gbe wọle awọn utils
module sinu lọwọlọwọ module ati ipe find_max
iṣẹ. Ni ipari, gba abajade ki o tẹ sita lori ebute naa.
Idaraya yii jẹ ipenija diẹ ṣugbọn o ṣee ṣe ni irọrun.
ojutu
Bẹrẹ nipa asọye iṣẹ kan find_max
ki o si fi paramita ti a npe ni awọn nọmba. Ninu iṣẹ yii, kọ algorithm fun wiwa nọmba ti o tobi julọ ninu atokọ kan.
def find_max(numbers):
max = numbers[0]
for number in numbers:
if number > max:
max = number
return max
Fi koodu yii pamọ sinu faili "utils.py" gẹgẹbi module.
Pada si eto akọkọ wa, kan gbe module naa wọle nipasẹ boya ninu awọn ọna ṣiṣe meji naa ki o ṣiṣẹ nirọrun.
Ohun kan, Mo nilo lati mu akiyesi rẹ si ni awọn undermined max
. Idi fun iyẹn ni max
jẹ iṣẹ ti a ṣe sinu Python ati pe a tun ṣe alaye rẹ. Nitorina eyi jẹ ikilọ lati ọdọ Python alakojo pe a ko le lo max mọ bi iṣẹ ti a ṣe sinu rẹ.
Awọn modulu ti a ṣe sinu Python
Python wa pẹlu ile-ikawe boṣewa ti o ni ọpọlọpọ awọn modulu fun awọn iṣẹ ṣiṣe ti o wọpọ gẹgẹbi fifiranṣẹ awọn imeeli, ṣiṣẹ pẹlu ọjọ ati akoko, ṣiṣe awọn iye laileto ati awọn ọrọ igbaniwọle ati bẹbẹ lọ. Ọpọlọpọ awọn modulu ti a ti kọ tẹlẹ sinu Python eyiti o tumọ si pe ọpọlọpọ iṣẹ ṣiṣe ti wa tẹlẹ ti a le tun lo. O le wa awọn wọnyi modulu Nibi.
jo
Awọn idii jẹ ipilẹ ọna miiran lati ṣeto koodu wa lori oke awọn modulu. Ise agbese gidi kan le ni awọn ọgọọgọrun tabi paapaa ẹgbẹẹgbẹrun awọn modulu ati ni akoko pupọ ilana itọsọna wa yoo di gbigbo pẹlu ọpọlọpọ awọn faili. Nitorinaa, ọna ti o dara julọ ni lati ṣeto awọn modulu ti o jọmọ inu package eyiti o jẹ ki package jẹ eiyan fun awọn modulu lọpọlọpọ.
A ṣe afikun itọsọna tuntun si iṣẹ akanṣe ati gbogbo awọn modulu ti o jọmọ ni a ṣafikun si itọsọna yẹn. Fun apẹẹrẹ, ronu ti ile itaja kan. Awọn apakan oriṣiriṣi wa fun awọn ọkunrin, awọn obinrin ati awọn aṣọ ọmọde ni ile itaja kan ti o dabi awọn idii. Ẹka kọọkan ni awọn agbegbe oriṣiriṣi fun awọn iru ọja bii bata, t-seeti ati awọn jaketi. Ronu ti awọn wọnyi bi awọn modulu.
Jẹ ki a wo, bii o ṣe le ṣẹda ati lo awọn idii ni Python.
Ni akọkọ, ṣafikun itọsọna tuntun lati inu nronu iṣẹ akanṣe. Jẹ ki a pe ni “eCommerce”. Apo yii yoo ni gbogbo awọn modulu ti o ni ibatan si ohun elo eCommerce kan.
O tun jẹ ilana ti o ṣofo ati lati yi i pada sinu package, a nilo lati ṣẹda faili pataki kan ninu rẹ. Ṣafikun faili Python tuntun kan ninu itọsọna yii ki o si lorukọ faili naa “__init__”. O jẹ apejọ pataki kan ni Python ati nigbati olutumọ Python rii faili kan pẹlu orukọ yii ninu itọsọna kan, o tọju itọsọna yii bi package kan.
A tun ni ọna yiyan ati ṣoki lati ṣẹda package kan. Kan tẹ-ọtun lori nronu ise agbese ki o ṣẹda package Python lati atokọ naa. Lorukọ rẹ “eCommerce” ati pe iyẹn ni. Yoo ṣẹda itọsọna laifọwọyi pẹlu faili Python ti a npè ni “__init__”.
Bayi, jẹ ki ká ṣẹda module kan ninu awọn package ki o si lorukọ o "sowo". Ninu module yii, jẹ ki a ṣẹda iṣẹ ti o rọrun fun iṣiro awọn idiyele gbigbe.
def calc_shipping():
print("calc_shipping")
Lati wọle si iṣẹ yii ni module akọkọ wa, a ni lati wọle si nipasẹ package e-commerce. Lekan si a ni awọn ọna meji lati gbe module yii wọle.
Ni ọna akọkọ, a le gbe gbogbo module naa wọle lẹhinna pe iṣẹ kan ni ominira bii eyi:
import eCommerce.shipping
eCommerce.shipping.calc_shipping()
Sibẹsibẹ, pẹlu ọna yii, pipe ọkan ninu awọn iṣẹ si module yii nilo iṣaju rẹ pẹlu eCommerce.shipping.
Iyẹn jẹ ọrọ-ọrọ pupọ. Nitorinaa, nigba ṣiṣẹ pẹlu awọn idii a nigbagbogbo lo ọna keji ati lo awọn from
gbólóhùn.
from eCommerce.shipping import calc_shipping
calc_shipping()
Ti o ba ni awọn iṣẹ lọpọlọpọ ninu module kan o le gbe gbogbo wọn wọle ni laini kan nipa lilo aami idẹsẹ laarin wọn. Jẹ ki a sọ pe iṣẹ miiran wa fun iṣiro owo-ori ninu module gbigbe wa. Iyẹn yoo ṣe akowọle bi eleyi:
from eCommerce.shipping import calc_shipping, calc_tax
O tun le gbe awọn modulu kọọkan wọle ati fi awọn iṣẹ silẹ lati pe ni ipele nigbamii ninu eto naa. Jẹ ki a gbejade sowo module ati lẹhinna lo oniṣẹ aami kan lati pe iṣẹ naa calc_shipping.
from eCommerce import shipping
shipping.calc_shipping()
Pale mo!
Awọn idii ati Awọn modulu jẹ pataki pupọ ni Python. Paapa, nigbati o ba fẹ ṣiṣẹ pẹlu ilana kan bi Django eyiti o lo fun kikọ awọn ohun elo ayelujara pẹlu Python. A yoo wo inu Django lakoko ikẹkọ Python miiran.
Eleyi je awọn ti o kẹhin mora ikowe ni yi jara. Ikẹkọ atẹle yoo yapa lati ọna kika deede wa ati pe a yoo kọ diẹ ninu awọn ọran lilo pataki ni Python. Iyẹn yoo samisi opin jara yii ati pe a yoo tẹsiwaju si jara Python atẹle wa. Duro si aifwy fun iyẹn.
Fi a Reply