פרסומת

קליק הוא חבילת Python לכתיבת ממשקי שורת פקודה. זה מייצר עבורך תיעוד יפה ומאפשר לך לבנות ממשקי שורת פקודה בפחות משורת קוד אחת. בקיצור: זה מדהים ויכול לעזור לקחת את התוכניות שלך לשלב הבא.

כך תוכלו להשתמש בו כדי להחיות את פרויקטי Python שלכם.

כתיבת תוכניות שורת פיקוד ללא לחץ

אפשר לכתוב תוכניות בשורות פקודה מבלי להשתמש ב- Click, אך פעולה זו דורשת מאמץ רב והרבה יותר קוד. עליכם לנתח טיעוני שורת פקודה, לבצע אימות, לפתח לוגיקה כדי להתמודד עם טיעונים שונים ולבנות תפריט עזרה מותאם אישית. רוצה להוסיף אפשרות חדשה? לאחר מכן תשנה את פונקציית העזרה שלך.

אין שום דבר רע בכתיבת קוד משלך, ועשיית זאת היא דרך נהדרת ללמוד את פייתון, אך קליק מאפשר לך לעקוב אחר עקרונות "אל תחזור על עצמך" (DRY). ללא קליק, תכתוב קוד שהוא שביר ודורש תחזוקה רבה בכל פעם שמתרחשים שינויים.

להלן ממשק שורת פקודה פשוט המקודד ללא לחץ:

יבוא מערכות. ייבא def do_work אקראי (): פונקציה לטיפול בשימוש בשורת הפקודה args = sys.argv args = args [1:] # אלמנט ראשון של args הוא שם הקובץ אם len (args) == 0: print ('לא עברת שום פקודה ב!') אחרת: עבור a in args: if a == '- help': print ('תוכנית שורת פקודה בסיסית') print ('אפשרויות:') print ('- -) עזרה -> מופע תפריט עזרה בסיסי זה. ') הדפס (' - מונטיי -> הראה הצעת מחיר של מונטי פייתון. ') הדפס (' - דרך -> הראה ירק אקראי ') elif a ==' - מונטי ': הדפס (' מה זה, לאחר מכן? "רומנס דודה דומוס"? אנשים קראו לרומנס, הם הולכים, הבית? ') Elif a ==' --veg ': הדפס (random.choice ([' גזר ',' תפוח אדמה ',' לפת '])) אחר: הדפס (' טיעון לא מוכר '). ') אם __name__ ==' __main__ ': do_work ()
instagram viewer
דוגמה לממשק שורת הפקודה של פייתון

27 שורות אלה של פייתון עובדות טוב אך הן מאוד שבירות. כל שינוי שתבצע בתוכנית שלך יזדקק להרבה קוד תומך אחר כדי לשנות. אם תשנה את שם הארגומנט תצטרך לעדכן את פרטי העזרה. קוד זה יכול לצמוח בקלות משליטה.

הנה אותו היגיון עם קליק:

לחץ על יבוא. ייבא @ click.command אקראי () @ click.option ('- מונטי', ברירת מחדל = שקר, עזרה = 'הצג הצעת מחיר של מונטי פייתון.') @ click.option ('- טבע', ברירת מחדל = שקר, עזרה = 'הראה ירק אקראי.') def do_work (monty, veg): דוגמה לחיצה בסיסית תעקוב אחר הפקודות שלך אם monty: print ('מה זה, אם כן? "רומנס דודה דומוס"? אנשים קראו לרומנס, הם הולכים, הבית? ') אם טבע: הדפיס (random.choice ([' גזר ',' תפוח אדמה ',' לפת '])) אם __name__ ==' __main__ ': do_work ()

דוגמה זו של קליק מיישמת את אותו היגיון ב 16 שורות קוד. הוויכוחים נותחו עבורך ומסך העזרה נוצר:

לחץ על Python לחץ אוטומטית על מסך העזרה

השוואה בסיסית זו מראה כמה זמן ומאמץ אתה יכול לחסוך באמצעות תוכנות כמו לחץ. בעוד שממשק שורת הפקודה עשוי להיראות זהה למשתמש הקצה, הקוד הבסיסי פשוט יותר ותחסוך המון זמן בקידוד. כל שינוי או עדכון שתכתבו בעתיד יראה גם הגדלת זמן פיתוח משמעותית.

תחילת העבודה עם לחיצה לפיתון

לפני שתשתמש ב- Click, אולי תרצה לעשות זאת קבע את התצורה של סביבה וירטואלית למדו כיצד להשתמש בסביבה הווירטואלית של פייתוןבין אם אתה מפתח Python מנוסה, או שאתה רק מתחיל, ללמוד כיצד להגדיר סביבה וירטואלית חיוני לכל פרויקט Python. קרא עוד . זה יעצור את חבילות Python שלך המתנגשות עם Python המערכת שלך או עם פרויקטים אחרים שאתה עשוי לעבוד עליהם. אתה יכול גם נסה את פייתון בדפדפן שלך נסה את פייתון בדפדפן שלך באמצעות פגזים אינטראקטיביים מקוונים חינם אלהבין אם אתה עוסק בדוגמאות אלה של פייתון או סוקר את היסודות של מערכים ורשימות, אתה יכול לבדוק את הקוד ישירות בדפדפן שלך. להלן מתורגמני הפיתון המקוונים הטובים ביותר שמצאנו. קרא עוד אם אתה רוצה לשחק עם Python ולחץ.

לבסוף, וודא שאתה מפעיל את גרסת Python 3. אפשר להשתמש ב- Click עם Python גרסה 2, אך הדוגמאות הללו נמצאות ב- Python 3. למידע נוסף על ההבדלים בין פייתון 2 לפיתון 3.

כשתהיה מוכן, התקן את לחץ משורת הפקודה באמצעות PIP (כיצד להתקין PIP עבור):

לחץ להתקין

כתיבת תוכנית הלחיצה הראשונה שלך

בעורך טקסט, התחל בייבוא ​​לחץ על:

לחץ על יבוא

לאחר הייבוא, צור א שיטה ו עיקרי נקודת כניסה. שלנו מדריך OOP לפייתון מכסה את הדברים בפירוט רב יותר, אך הם מספקים מקום לאחסן את הקוד שלך, ודרך לפיתון להתחיל להריץ אותו:

לחץ על יבוא. יבוא אקראי def veg (): שיטה בסיסית תחזיר הדפס ירקות אקראי (random.choice (['גזר', 'תפוח אדמה', 'לפת', 'נתוק'])) אם __name__ == '__main__': veg ()

תסריט פשוט מאוד זה יפיק ירק אקראי. הקוד שלך אולי נראה שונה, אבל דוגמה פשוטה זו מושלמת לשילוב עם Click.

שמור את זה בשם click_example.pyואז הפעל אותו בשורת הפקודה (לאחר ניווט למיקומו):

לחץ על פיתון click_example.py

אתה אמור לראות שם ירקות אקראי. בואו נשפר את הדברים על ידי הוספת קליק. שנה את הקוד שלך כך שיכלול מעצבי הקליק ו ל לולאה:

@ click.command () @ click.option ('- סה"כ', ברירת מחדל = 3, עזרה = 'מספר ירקות לתפוקה.') def veg (סה"כ): שיטה בסיסית תחזיר ירק אקראי למספר בטווח (סה"כ): הדפס (random.choice (['גזר', 'תפוח אדמה', 'לפת', 'סתימת'])) אם __name__ == '__main__': veg ()

במהלך ההפעלה, תראה ירק אקראי מוצג שלוש פעמים.

בואו נפרט את השינויים האלה. ה @ click.command () מעצב תצורה לחץ כדי לעבוד עם הפונקציה מיד לאחר המעצב. במקרה זה זהו ה- טבע () פונקציה. תזדקק לזה לכל שיטה בה תרצה להשתמש עם קליק.

ה @ click.option מעצבת מגדירה לחץ כדי לקבל פרמטרים משורת הפקודה, שהיא תעבור לשיטה שלך. יש כאן שלוש טיעונים:

  1. -סה"כ: זהו שם שורת הפקודה של ה- סה"כ ויכוח.
  2. ברירת מחדל: אם לא תציין את הארגומנט הכולל בעת השימוש בסקריפט שלך, קליק ישתמש בערך כברירת מחדל.
  3. עזרה: משפט קצר המסביר כיצד להשתמש בתוכנית שלך.

בואו נראה לחץ בפעולה. בשורת הפקודה, הפעל את הסקריפט שלך, אך העביר את הסמל סה"כ טיעון כזה:

python click_example.py - מספר 10

על פי הגדרה –טוטאלי 10 משורת הפקודה, התסריט שלך ידפיס עשרה ירקות אקראיים.

אם אתה עובר ב עזרה דגל, תראה דף עזרה נחמד, יחד עם האפשרויות בהן תוכל להשתמש:

click_example.py - עזרה
עזרה לפיתון לחץ

הוספת פקודות נוספות

אפשר להשתמש במעצבי קליקים רבים באותה פונקציה. הוסף אפשרות לחיצה נוספת ל - טבע פונקציה:

@ click.option ('- רוטב', ברירת מחדל = שקר, עזרה = 'הוסף "עם רוטב" לירקות.')

אל תשכח להעביר את זה לשיטה:

def veg (סה"כ, רוטב):

כעת כשאתה מפעיל את הקובץ שלך, אתה יכול לעבור בתיבה רוטב דגל:

click_example.py - גרוי y

מסך העזרה השתנה גם:

מסך העזרה של Python לחץ

הנה הקוד כולו (עם כמה פעולות מחזור קלות לניקיון):

לחץ על יבוא. ייבא @ click.command אקראי () @ click.option ('- רוטב', ברירת מחדל = שקר, עזרה = 'הוסף "עם רוטב" לירקות.') @ click.option ('- סה"כ', ברירת מחדל = 3, עזרה = 'מספר ירקות לתפוקה.') def veg (סה"כ, רוטב): שיטה בסיסית תחזיר ירק אקראי למספר בטווח (סה"כ): בחירה = random.choice (['גזר', 'תפוח אדמה', 'לפת', 'פרתית']) אם רוטב: הדפס (f '{בחירה} עם רוטב') אחר: הדפס (בחירה) אם __name__ == '__main__': veg ()

אפשרויות קליקים עוד יותר

לאחר שתכיר את היסודות, תוכל להתחיל לבדוק אפשרויות קליק מורכבות יותר. בדוגמה זו תלמד כיצד להעביר מספר ערכים לטענה בודדת, ש- Click יומר להמרה. אתה יכול ללמוד עוד על אבזרים אצלנו מדריך למילון פייתון.

צור קובץ חדש בשם click_example_2.py. הנה קוד המתנע הדרוש לך:

לחץ על יבוא. ייבא @ click.command אקראי () def add (): שיטה בסיסית תוסיף שני מספרים יחד. לעבור אם __name__ == '__main__': הוסף ()

אין כאן שום דבר חדש. החלק הקודם מסביר את הקוד הזה בפירוט. הוסף @ click.option שקוראים לו מספרים:

@ click.option ('- מספרים', nargs = 2, type = int, help = 'הוסף שני מספרים יחד.')

הקוד החדש היחיד כאן הוא nargs = 2, וה type = int אפשרויות. זה אומר לקליק לקבל שני ערכים עבור מספרים אפשרות וששניהם חייבים להיות בעלי מספרים שלמים מסוג זה. אתה יכול לשנות את זה לכל מספר או סוג תאריך (תקף) שאתה אוהב.

לבסוף, שנה את להוסיף שיטה לקבל את מספרים ויכוח איתם קצת עיבוד:

def add (מספרים): שיטה בסיסית תוסיף שני מספרים יחד. result = numbers [0] + numbers [1] print (f '{numbers [0]} + {numbers [1]} = {result}')

כל ערך שאתה מעביר נגיש דרך ה- מספרים חפץ. כך תוכלו להשתמש בו בשורת הפקודה:

python click_example_2.py - מספרים 1 2
תוצאת Python Click nargs

לחץ על האם הפיתרון עבור כלי עזר לפייתון

כפי שראית, קל לשימוש קל אך חזק מאוד. למרות שהדוגמאות הללו מכסות רק את עקרונות היסוד של קליק, יש עוד המון תכונות שתוכלו ללמוד עליהן כעת כאשר יש לכם הבנה מוצקה של היסודות.

אם אתה מחפש כמה פרויקטים של Python כדי לתרגל את המיומנויות החדשות שלך שנמצאת איתם, מדוע לא ללמוד כיצד לשלוט בארדואינו עם פייתון כיצד לתכנת ולשלוט בארדואינו באמצעות פייתוןלמרבה הצער, אי אפשר לתכנת ישירות ארדואינו ב- Python, אבל אתה יכול לשלוט עליו באמצעות USB באמצעות תוכנית Python. הנה איך. קרא עוד , או מה דעתך קריאה וכתיבה ל- Google Sheets עם Python כיצד לקרוא ולכתוב ל- Google Sheets עם Pythonפייתון אולי נראה מוזר ולא שגרתי, עם זאת קל ללמוד ולהשתמש בו. במאמר זה אני אראה לך כיצד לקרוא ולכתוב ל- Google Sheets באמצעות Python. קרא עוד ? אחד מהפרויקטים הללו יהיה מושלם להמרה לקליק!

ג'ו הוא בוגר מדעי המחשב מאוניברסיטת לינקולן, בריטניה. הוא מפתח תוכנה מקצועי, וכאשר הוא לא טס מל"טים או כותב מוסיקה, לעתים קרובות ניתן למצוא אותו בצילום או בהפקת סרטונים.