טיש פון קאָנטענץ[באַהאַלטן][ווייַזן]
דער לעקציע וועט שפּאַן אַרום די מאַדזשולז און פּאַקאַדזשאַז אין פּיטהאָן.
זיי זענען אַ וועג צו אָרגאַניזירן דיין קאָד אין די פאָרעם פון טעקעס און זענען טאַקע וויכטיק אויב איר בדעה צו בויען וועב אַפּלאַקיישאַנז מיט פּיטהאָן
מאַדזשולז
א מאָדולע אין פּיטהאָן איז בייסיקלי אַ טעקע מיט עטלעכע פּיטהאָן קאָד וואָס מיר נוצן צו אָרגאַניזירן אונדזער קאָד אין טעקעס. טראַכטן פון עס ווי סעקשאַנז אין אַ סופּערמאַרק. ווען איר גיין צו אַ סופּערמאַרק עס זענען פאַרשידענע סעקשאַנז פֿאַר פירות, וועדזשטאַבאַלז, רייניקונג פּראָדוקטן, אאז"ו ו. איר טאָן ניט זען איין אָפּטיילונג מיט אַלע פּראָדוקטן.
דאָס איז דער זעלביקער באַגריף אין פּראָגראַממינג. אַנשטאָט צו שרייַבן אַלע אונדזער קאָד מיט אַלע פאַנגקשאַנז און קלאסן אין 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
אויף די שפּיץ אָן די פאַרלענגערונג ".פּי".
מיר קענען אַקסעס די מיטגלידער פון אַ מאָדולע דורך ניצן אַ פּונקט אָפּעראַטאָר ענלעך צו מעטהאָדס.
לאָמיר גער 70 קג אין פונט:
עס איז אויך אן אנדער סינטאַקס פֿאַר ימפּאָרטינג מאַדזשולז. אַנשטאָט ימפּאָרטינג די גאנצע מאָדולע, מיר קענען אַרייַנפיר ספּעציפיש פאַנגקשאַנז פון דעם מאָדולע. מיר קענען דרוקן from Converters import
און דריקן "קאָנטראָל + פּלאַץ צו ווייַזן די רשימה פון פאַראַנען פאַנגקשאַנז. מיט דעם, מיר קענען גלייך רופן דעם פֿונקציע.
געניטונג
דאָ איז דיין געניטונג.
דאָס איז שייך צו אַן עקסערסייז פון די לעקציע ווו מיר דיסקאַסט "פֿאַר לופּס” ווו מיר געשריבן אַ פּראָגראַם צו געפֿינען די גרעסטע נומער פון אַ רשימה
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.
ערשטער, לייגן אַ נייַע וועגווייַזער פון די פּרויעקט טאַפליע. זאל ס רופן עס "עקאָממערסע". דער פּעקל וועט אַנטהאַלטן אַלע די מאַדזשולז שייַכות צו אַן eCommerce אַפּלאַקיישאַן.
עס איז נאָך אַ ליידיק וועגווייַזער און צו גער עס אין אַ פּעקל, מיר דאַרפֿן צו שאַפֿן אַ ספּעציעל טעקע אין עס. לייג אַ נייַע פּיטהאָן טעקע אין דעם וועגווייַזער און נאָמען די טעקע "__init__". עס איז אַ ספּעציעל קאַנווענשאַן אין פּיטהאָן און ווען די פּיטהאָן יבערזעצער זעט אַ טעקע מיט דעם נאָמען אין אַ וועגווייַזער, עס באהאנדלט דעם וועגווייַזער ווי אַ פּעקל.
מיר אויך האָבן אַן אַלטערנאַטיווע און קאַנסייס אופֿן צו שאַפֿן אַ פּעקל. רעכט גיט די פּרויעקט טאַפליע און שאַפֿן אַ פּיטהאָן פּעקל פון דער רשימה. נאָמען עס "עקאָממערסע" און דאָס איז עס. עס וועט אויטאָמאַטיש שאַפֿן אַ וועגווייַזער מיט אַ פּיטהאָן טעקע געהייסן "__יניט__".
איצט, לאָזן אונדז שאַפֿן אַ מאָדולע אין דעם פּעקל און נאָמען עס "שיפּפּינג". אין דעם מאָדולע, לאָזן אונדז מאַכן אַ פּשוט פֿונקציע פֿאַר קאַלקיאַלייטינג שיפּינג קאָס.
def calc_shipping():
print("calc_shipping")
צו אַקסעס דעם פֿונקציע אין אונדזער הויפּט מאָדולע, מיר האָבן צו אַקסעס עס דורך די E- האַנדל פּעקל. אַמאָל ווידער מיר האָבן צוויי מעטהאָדס צו אַרייַנפיר דעם מאָדולע.
אין דער ערשטער אופֿן, מיר קענען אַרייַנפיר די גאנצע מאָדולע און דאַן רופן אַ פֿונקציע ינדיפּענדאַנטלי ווי דאָס:
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()
נעם צוזאם!
פּאַקקאַגעס און מאָדולעס זענען גאָר וויכטיק אין פּיטהאָן. ספּעציעל ווען איר ווילן צו אַרבעטן מיט אַ פריימווערק ווי Django וואָס איז געניצט פֿאַר בנין וועב אַפּלאַקיישאַנז מיט פּיטהאָן. מיר וועלן קוקן אין Django בעשאַס אן אנדער פּיטהאָן קורס.
דאָס איז געווען די לעצטע קאַנווענשאַנאַל לעקציע אין דער סעריע. דער ווייַטער לעקציע וועט אָפּנייגן פון אונדזער געוויינטלעך פֿאָרמאַט און מיר וועלן לערנען עטלעכע וויכטיק נוצן קאַסעס אין פּיטהאָן. דאָס וועט צייכן די סוף פון די סעריע און מיר וועלן פאָרזעצן צו אונדזער ווייַטער פּיטהאָן סעריע. בלייַבן טונד פֿאַר דעם.
לאָזן אַ ענטפֿערן