Table of Contents[Hide][Show]
Cov lus qhuab qhia no yuav nthuav dav ib ncig ntawm cov modules thiab pob khoom hauv Python.
Lawv yog ib txoj hauv kev los npaj koj cov cai hauv daim ntawv ntawm cov ntaub ntawv thiab tseem ceeb heev yog tias koj npaj siab tsim cov ntawv thov web nrog Python
modules
Ib qho module hauv Python yog ib qho ntaub ntawv nrog qee tus lej python uas peb siv los npaj peb cov lej rau hauv cov ntaub ntawv. Xav txog nws zoo li ntu hauv lub tsev loj. Thaum koj mus rau hauv lub tsev loj muaj ntau seem rau txiv hmab txiv ntoo, zaub, tshuaj ntxuav thiab lwm yam. Koj tsis pom ib ntu nrog tag nrho cov khoom.
Nws yog tib lub tswvyim hauv programming. Es tsis txhob sau tag nrho peb cov cai nrog tag nrho cov haujlwm thiab cov chav kawm hauv main.py, peb rhuav tshem peb cov cai rau ntau cov ntaub ntawv. Txhua cov ntaub ntawv raug xa mus ua ib qho module. Nrog rau qhov no, tsis tsuas yog peb cov cai zoo dua qub thiab tsim qauv, tab sis peb kuj muaj peev xwm rov siv peb cov cai. Cia peb pom nws dhau ntawm ib qho piv txwv.
Cia peb txhais ob txoj haujlwm rau kev hloov qhov hnyav ntawm phaus mus rau kilograms thiab rov ua dua.
def lbs_to_kg(weight):
return weight * 0.45
def kg_to_lbs(weight):
return weight / 0.45
Tam sim no, peb tuaj yeem nqa ob txoj haujlwm no thiab muab tso rau hauv ib qho cais cais hu ua "converters", thiab tom qab ntawd nws tuaj yeem raug xa mus rau txhua qhov kev pab cuam uas xav tau cov hloov pauv no. Cia kuv qhia koj ua li no.
Cia peb qhib peb qhov project vaj huam sib luag thiab right-click qhov project thiab ntxiv cov ntaub ntawv tshiab. Peb yuav hu cov ntaub ntawv no “Converters.py”.
Tam sim no luam cov cai los ntawm lub neej ntawd cov ntaub ntawv thiab muab tshuaj txhuam rau hauv "Converters.py".
Nrog rau qhov no, peb tau ntxuav peb lub ntsiab module thiab nws tsis bloated nrog txawv zog. Thaum peb sau ntau lub zog nrog cov chav kawm, peb muab tso rau hauv lawv cov qauv sib xws. Ib qho module yuav tsum muaj tag nrho cov haujlwm thiab cov chav kawm. Tam sim no, peb xav import cov converters module rau hauv peb app module. Ua li no, sau import converters
nyob rau sab saum toj yam tsis muaj qhov txuas ".py".
Peb tuaj yeem nkag mus rau cov tswv cuab ntawm lub module los ntawm kev siv tus neeg teb xov tooj dot zoo ib yam li cov txheej txheem.
Cia peb hloov 70 kg rau phaus:
Tseem muaj lwm syntax rau importing modules. Es tsis txhob importing tag nrho module, peb tuaj yeem import cov haujlwm tshwj xeeb los ntawm cov module ntawd. Peb tuaj yeem ntaus from Converters import
thiab nias "tswj + chaw kom pom cov npe ntawm cov haujlwm muaj. Nrog rau qhov no, peb tuaj yeem hu ncaj qha rau qhov haujlwm no.
Ib ce muaj zog
Nov yog koj qhov kev tawm dag zog.
Qhov no yog hais txog kev tawm dag zog los ntawm kev qhuab qhia uas peb tau tham txog "rau loops” qhov twg peb tau sau ib qho kev pab cuam kom paub seb tus lej loj tshaj plaws los ntawm cov npe
numbers = [8, 3, 6, 10, 5]
max = numbers[0]
for number in numbers:
if number > max:
max = number
print(max)
Txoj cai tam sim no tsis muaj lub koom haum. Peb tsis muaj cov haujlwm lossis cov modules thiab qhov kev zov me nyuam tau sau rau hauv ib daim ntawv. Qhov ntawd yog qhov zoo rau cov kev pabcuam me tab sis raws li koj cov kev pabcuam loj tuaj, koj yuav tsum npaj koj cov cai rau hauv cov chav kawm thiab cov qauv. Yog li ntawd, ua ib feem ntawm qhov kev tawm dag zog no, kuv xav kom koj sau ib txoj haujlwm, hu rau nws find_max
. Qhov kev ua haujlwm no yuav tsum coj ib daim ntawv teev npe thiab xa rov qab tus lej loj tshaj plaws hauv cov npe ntawd. Tom qab ntawd mus tom ntej thiab muab cov haujlwm no tso rau hauv ib qho module cais, rho tawm ntawm no thiab muab tso rau hauv ib qho module hu ua utils
. Cov module no yuav tsum muaj ib pawg ntawm cov dej num ua haujlwm. Import cov utils
module rau hauv lub module tam sim no thiab hu find_max
muaj nuj nqi. Thaum kawg, tau txais cov txiaj ntsig thiab luam tawm ntawm lub davhlau ya nyob twg.
Qhov kev tawm dag zog no yog qhov nyuaj me ntsis tab sis ua tau yooj yim.
tshuaj
Pib los ntawm kev txhais ib txoj haujlwm find_max
thiab ntxiv ib qho parameter hu ua lej. Hauv qhov ua haujlwm no, sau cov algorithm los nrhiav tus lej loj tshaj plaws hauv ib daim ntawv teev npe.
def find_max(numbers):
max = numbers[0]
for number in numbers:
if number > max:
max = number
return max
Txuag cov cai no hauv cov ntaub ntawv "utils.py" ua ib qho module.
Rov qab mus rau peb qhov kev pab cuam tseem ceeb, tsuas yog import cov module los ntawm ob qho tib si syntaxes thiab tsuas yog ua tiav cov logic.
Ib yam, kuv yuav tsum coj koj lub siab mus rau yog lub undermined max
. Qhov laj thawj rau qhov ntawd yog max
yog ib tug built-in muaj nuj nqi hauv Python thiab peb tab tom redefining nws. Yog li no yog lus ceeb toom los ntawm lub Python compiler uas peb tsis tuaj yeem siv max raws li nws cov haujlwm ua haujlwm.
Built-in Modules hauv Python
Python los nrog lub tsev qiv ntawv tus qauv uas muaj ntau lub qauv rau kev ua haujlwm xws li xa email, ua haujlwm nrog hnub thiab sijhawm, tsim cov txiaj ntsig random thiab passwords thiab lwm yam. Muaj ntau ntau cov modules twb tau tsim rau hauv Python uas txhais tau hais tias twb muaj ntau yam haujlwm uas peb tuaj yeem rov siv dua. Koj tuaj yeem pom cov modules no no.
Tej pob khoom
Cov pob khoom yog lwm txoj hauv kev los npaj peb cov cai rau saum cov modules. Ib qhov project tiag tiag tuaj yeem muaj ntau pua lossis ntau txhiab tus qauv thiab dhau sijhawm peb phau ntawv qhia yuav ua rau muaj ntau cov ntaub ntawv. Yog li ntawd, ib txoj hauv kev zoo dua yog txhawm rau txhim kho cov khoom sib txuas hauv ib pob uas ua rau lub pob ntim rau ntau lub modules.
Ib daim ntawv teev npe tshiab tau ntxiv rau qhov project thiab tag nrho cov modules cuam tshuam tau ntxiv rau hauv phau ntawv qhia ntawd. Ua piv txwv, xav txog lub khw. Muaj cov ntu sib txawv rau cov txiv neej, poj niam thiab menyuam cov khaub ncaws hauv khw uas zoo li pob khoom. Txhua ntu muaj qhov sib txawv rau ntau yam khoom xws li khau, t-shirts thiab tsho. Xav txog cov no li modules.
Wb pom, yuav ua li cas los tsim thiab siv pob khoom hauv Python.
Ua ntej, ntxiv ib daim ntawv teev npe tshiab los ntawm qhov project vaj huam sib luag. Cia peb hu nws "eCommerce". Cov pob no yuav muaj tag nrho cov modules ntsig txog daim ntawv thov eCommerce.
Nws tseem yog ib phau ntawv khoob thiab hloov nws mus rau hauv ib pob, peb yuav tsum tsim cov ntaub ntawv tshwj xeeb hauv nws. Ntxiv cov ntaub ntawv python tshiab hauv phau ntawv teev npe no thiab npe cov ntaub ntawv "__init__". Nws yog ib lub rooj sib tham tshwj xeeb hauv Python thiab thaum tus neeg txhais lus Python pom cov ntaub ntawv nrog lub npe no hauv phau ntawv teev npe, nws kho cov npe no ua ib pob.
Peb kuj muaj lwm txoj hauv kev los tsim ib pob. Tsuas yog nyem rau ntawm qhov project vaj huam sib luag thiab tsim ib pob Python los ntawm cov npe. Lub npe nws "eCommerce" thiab qhov ntawd yog nws. Nws yuav cia li tsim ib phau ntawv nrog Python cov ntaub ntawv hu ua "__init__".
Tam sim no, cia peb tsim ib qho module hauv pob thiab npe nws "kev xa khoom". Nyob rau hauv no module, cia peb tsim ib tug yooj yim muaj nuj nqi rau xam shipping nqi.
def calc_shipping():
print("calc_shipping")
Txhawm rau nkag mus rau qhov haujlwm no hauv peb lub ntsiab module, peb yuav tsum nkag mus rau nws los ntawm pob khoom e-lag luam. Ib zaug ntxiv, peb muaj ob txoj hauv kev los import cov module no.
Hauv thawj txoj kev, peb tuaj yeem import tag nrho cov module thiab tom qab ntawd hu rau lub luag haujlwm ntawm nws tus kheej zoo li no:
import eCommerce.shipping
eCommerce.shipping.calc_shipping()
Txawm li cas los xij, nrog rau txoj hauv kev no, hu rau ib qho ntawm cov haujlwm rau qhov module no yuav tsum tau ua ntej nws nrog eCommerce.shipping.
Uas yog heev verbose. Yog li, thaum ua hauj lwm nrog tej pob khoom peb feem ntau siv qhov thib ob mus kom ze thiab siv lub from
daim ntawv qhia.
from eCommerce.shipping import calc_shipping
calc_shipping()
Yog tias koj muaj ntau lub luag haujlwm hauv ib qho module koj tuaj yeem import lawv tag nrho hauv ib kab los ntawm kev siv cov cim ntawm lawv. Cia peb hais tias muaj lwm txoj haujlwm rau kev suav se hauv peb cov khoom xa tuaj. Uas yuav import zoo li no:
from eCommerce.shipping import calc_shipping, calc_tax
Koj tseem tuaj yeem import tus kheej modules thiab tawm haujlwm kom raug hu tom qab theem hauv qhov program. Cia peb import lub module shipping thiab tom qab ntawd siv tus neeg teb xov tooj dot hu rau lub luag haujlwm calc_shipping.
from eCommerce import shipping
shipping.calc_shipping()
Qhwv!
Pob thiab Modules tseem ceeb heev hauv Python. Tshwj xeeb, thaum koj xav ua hauj lwm nrog lub moj khaum zoo li Django uas yog siv rau lub tsev web daim ntaub ntawv nrog Python. Peb yuav saib mus rau hauv Django thaum lwm chav kawm Python.
Qhov no yog qhov kawg lus qhuab qhia nyob rau hauv no series. Cov lus qhuab qhia tom ntej no yuav txawv ntawm peb hom li ib txwm thiab peb yuav kawm qee qhov kev siv tseem ceeb hauv Python. Qhov ntawd yuav cim qhov kawg ntawm cov koob no thiab peb yuav txav mus rau peb cov Python series tom ntej. Nyob twj ywm rau qhov ntawd.
Sau ntawv cia Ncua