logo

הדרכה לפייתון | שפת התכנות Python

פִּיתוֹן היא שפת תכנות בשימוש נרחב המציעה מספר תכונות ויתרונות ייחודיים בהשוואה לשפות כמו Java ו C++. המדריך שלנו לפייתון מסביר ביסודיות את היסודות של Python ומושגים מתקדמים, החל מההתקנה, הצהרות על תנאי , לולאות , מבני נתונים מובנים , תכנות מונחה עצמים , גנרטורים , טיפול בחריגים , Python RegEx ומושגים רבים אחרים. הדרכה זו מיועדת למתחילים ולאנשי מקצוע עובדים.

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

מה זה פייתון

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

תכונות של Python:

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

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

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

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

Java נגד פייתון

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

להלן כמה תוכניות בסיסיות הממחישות את ההבדלים העיקריים ביניהן.

הדפסת 'שלום עולם'

קוד פייתון:

 print('Hello World)' 

ב-Python, זו שורת קוד אחת. זה דורש תחביר פשוט כדי להדפיס 'Hello World'

קוד Java:

 public class HelloWorld { public static void main(String[] args) { System.out.println('Hello, World!'); } } 

ב-Java, אנחנו צריכים להכריז על מחלקות, מתודות מבנות דברים רבים אחרים.

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

השוואה בין אריה לנמר
  • ב-Python קל ללמוד ולכתוב קוד. בעוד ב-Java, זה דורש יותר קוד כדי לבצע משימות מסוימות.
  • Python מוקלדת באופן דינמי, כלומר איננו צריכים להכריז על המשתנה בעוד ש-Java מוקלדת סטטיסטית, כלומר אנחנו צריכים להכריז על סוג המשתנה.
  • Python מתאימה לתחומים שונים כגון Data Science, Machine Learning, פיתוח אתרים ועוד. ואילו Java מתאימה לפיתוח אתרים, פיתוח אפליקציות לנייד (אנדרואיד) ועוד.

תחביר בסיסי של Python

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

לדוגמה -

 def func(): statement 1 statement 2 ………………… ………………… statement N 

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

במקום נקודה-פסיק כפי שמשתמשים בה בשפות אחרות, Python מסיים את ההצהרות שלו עם תו NewLine.

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

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

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

היסטוריה של פייתון

Python נוצר על ידי Guido van Rossum . בסוף שנות ה-80, גידו ואן רוסום, מתכנת הולנדי, החל לעבוד על פייתון בזמן שהיה ב-Centrum Wiskunde & Informatica (CWI) בהולנד. הוא רצה ליצור יורש ל- שפת תכנות ABC שיהיה קל לקריאה ויעיל.

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

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

משנות ה-90 ועד שנות ה-2000 , פייתון צברה פופולריות בזכות הפשטות, הקריאות והרבגוניות שלו. באוקטובר 2000 שוחרר Python 2.0 . Python 2.0 הציג הבנת רשימה, איסוף אשפה ותמיכה ב-Unicode.

בדצמבר 2008 שוחרר Python 3.0. Python 3.0 הציג מספר שינויים שאינם תואמים לאחור כדי לשפר את קריאת הקוד ותחזוקה.

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

ה Python Software Foundation (PSF) הוקמה בשנת 2001 לקדם, להגן ולקדם את שפת התכנות Python והקהילה שלה.

למה ללמוד פייתון?

Python מספק תכונות שימושיות רבות למתכנת. תכונות אלו הופכות אותה לשפה הפופולרית והנפוצה ביותר. פירטנו להלן כמה תכונות חיוניות של Python.

    קל לשימוש וללמוד:לפייתון יש תחביר פשוט וקל להבנה, בניגוד לשפות מסורתיות כמו C, C++, Java וכו', מה שמקל על הלמידה של מתחילים.שפה אקספרסיבית:זה מאפשר למתכנתים לבטא מושגים מורכבים בכמה שורות קוד בלבד או מפחית את זמן המפתחים.שפה מפורשת:Python אינו דורש קומפילציה, מה שמאפשר פיתוח ובדיקה מהירים. הוא משתמש ב-Interpreter במקום בקומפיילר.
  • שפה מונחה עצמים : הוא תומך בתכנות מונחה עצמים, מה שהופך את כתיבת הקוד לשימוש חוזר ומודולרי לקלה.
  • קוד פתוח שפה: Python הוא קוד פתוח וחופשי לשימוש, הפצה ושינוי.ניתן להרחבה:ניתן להרחיב את Python עם מודולים הכתובים ב-C, C++ או שפות אחרות.למד ספרייה סטנדרטית:הספרייה הסטנדרטית של Python מכילה מודולים ופונקציות רבות שניתן להשתמש בהן למשימות שונות, כגון מניפולציה של מחרוזות, תכנות אינטרנט ועוד.תמיכה בתכנות GUI:Python מספקת מספר מסגרות GUI, כגון Tkinter ו- PyQt, המאפשרים למפתחים ליצור יישומי שולחן עבודה בקלות.מְשׁוּלָב:Python יכולה להשתלב בקלות עם שפות וטכנולוגיות אחרות, כגון C/C++, Java ו-. נֶטוֹ.ניתן להטמעה:ניתן להטמיע קוד Python באפליקציות אחרות כשפת סקריפטים.הקצאת זיכרון דינמית:Python מנהל אוטומטית את הקצאת הזיכרון, מה שמקל על מפתחים לכתוב תוכניות מורכבות מבלי לדאוג לניהול זיכרון.מגוון רחב של ספריות ומסגרות:לפייתון יש אוסף עצום של ספריות ומסגרות, כגון NumPy, Pandas, Django ו-Flask, שניתן להשתמש בהם כדי לפתור מגוון רחב של בעיות.צדדיות:Python היא שפה אוניברסלית בתחומים שונים כגון פיתוח אתרים, למידת מכונה, מדעי נתונים, בינה מלאכותית, פיתוח אתרים ועוד.דרישה גבוהה:עם הביקוש הגובר לאוטומציה ולטרנספורמציה דיגיטלית, הצורך במפתחי Python עולה. תעשיות רבות מחפשות מפתחי Python מיומנים שיעזרו לבנות את התשתית הדיגיטלית שלהם.פרודוקטיביות מוגברת:לפייתון יש תחביר פשוט וספריות חזקות שיכולות לעזור למפתחים לכתוב קוד בצורה מהירה ויעילה יותר. זה יכול להגדיל את הפרודוקטיביות ולחסוך זמן למפתחים וארגונים.ביג דאטה ולמידת מכונה:Python הפכה לשפה המומלצת ל-Big Data ולמידת מכונה. Python הפך פופולרי בקרב מדעני נתונים ומהנדסי למידת מכונה עם ספריות כמו NumPy, Pandas, Scikit-learn, TensorFlow ועוד.

היכן משתמשים ב-Python?

Python היא שפת תכנות פופולרית לשימוש כללי, והיא משמשת כמעט בכל תחום טכני. התחומים השונים של השימוש ב-Python מובאים להלן.

    מדע נתונים:Data Science הוא תחום עצום, ו-Python היא שפה חשובה לתחום זה בגלל הפשטות, קלות השימוש והזמינות של ספריות ניתוח והדמיה עוצמתיות של נתונים כמו NumPy, Pandas ו-Matplotlib.יישומי שולחן עבודה:PyQt ו Tkinter הן ספריות שימושיות שניתן להשתמש בהן ב-GUI - יישומי שולחן עבודה מבוססי ממשק משתמש גרפי. יש שפות טובות יותר לתחום זה, אך ניתן להשתמש בו עם שפות אחרות ליצירת יישומים.יישומים מבוססי קונסולות:Python משמש גם בדרך כלל ליצירת יישומים מבוססי שורת פקודה או קונסולה בגלל קלות השימוש שלו ותמיכה בתכונות מתקדמות כגון ניתוב מחדש של קלט/פלט וצנרת.אפליקציות ניידות:אמנם Python אינו נפוץ ליצירת יישומים ניידים, אך עדיין ניתן לשלב אותו עם מסגרות כמו Kivy או BeeWare ליצירת יישומים ניידים חוצי פלטפורמות.פיתוח תוכנה:Python נחשבת לאחת משפות ייצור התוכנה הטובות ביותר. Python תואם בקלות הן מתוכנות בקנה מידה קטן ועד לתוכנה בקנה מידה גדול.
  • בינה מלאכותית : AI היא טכנולוגיה מתפתחת, ופייתון היא שפה מושלמת לבינה מלאכותית ולמידת מכונה בגלל הזמינות של ספריות חזקות כמו TensorFlow, Keras ו- PyTorch.
  • יישומי אינטרנט:פייתון משמש בדרך כלל בפיתוח אתרים ב-backend עם מסגרות כמו Django ו-Flask ובחזית עם כלים כמו JavaScript HTML ו-CSS.יישומים ארגוניים:ניתן להשתמש ב-Python לפיתוח יישומים ארגוניים בקנה מידה גדול עם תכונות כגון מחשוב מבוזר, רשתות ועיבוד מקבילי.יישומי 3D CAD:ניתן להשתמש ב-Python עבור יישומי עיצוב בעזרת מחשב תלת מימד (CAD) באמצעות ספריות כגון בלנדר.למידת מכונה:Python נמצא בשימוש נרחב ללמידת מכונה בשל הפשטות, קלות השימוש והזמינות של ספריות למידת מכונה חזקות.יישומי ראייה ממוחשבת או עיבוד תמונה:ניתן להשתמש ב-Python עבור יישומי ראייה ממוחשבת ועיבוד תמונה באמצעות ספריות חזקות כגון OpenCV ו-Skit-image.זיהוי דיבור:ניתן להשתמש ב-Python עבור יישומי זיהוי דיבור באמצעות ספריות כגון SpeechRecognition ו-PyAudio.מחשוב מדעי:ספריות כמו NumPy, SciPy ו-Pandas מספקות יכולות מחשוב נומרי מתקדמות למשימות כמו ניתוח נתונים, למידת מכונה ועוד.חינוך:התחביר הקל ללמידה של Python והזמינות של משאבים רבים הופכים אותה לשפה אידיאלית להוראת תכנות למתחילים.בדיקה:Python משמש לכתיבת בדיקות אוטומטיות, ומספקת מסגרות כמו בדיקות יחידה ו-pytest המסייעות בכתיבת מקרי בדיקה ויצירת דוחות.משחקים:לפייתון יש ספריות כמו Pygame, המספקות פלטפורמה לפיתוח משחקים באמצעות Python.IoT:Python משמש ב-IoT לפיתוח סקריפטים ויישומים עבור מכשירים כמו Raspberry Pi, Arduino ואחרים.רשת:Python משמש ברשת לפיתוח סקריפטים ויישומים לאוטומציה, ניטור וניהול רשתות.
  • DevOps : Python נמצא בשימוש נרחב ב-DevOps עבור אוטומציה ותסריט של ניהול תשתית, ניהול תצורה ותהליכי פריסה.
  • לְמַמֵן:לפייתון יש ספריות כמו Pandas, Scikit-learn ו-Statsmodels למידול וניתוח פיננסי.אודיו ומוזיקה:לפייתון יש ספריות כמו Pyaudio, המשמשת לעיבוד אודיו, סינתזה וניתוח, ו-Music21, המשמשת לניתוח והפקת מוזיקה.כתיבת תסריטים:Python משמש לכתיבת סקריפטים של כלי עזר לאוטומציה של משימות כמו פעולות קבצים, גירוד אינטרנט ו-Python Popular Frameworks and Libraries

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

    Python print() פונקציה

    הפונקציה Python print() משמשת להצגת פלט למסוף או למסוף. זה מאפשר לנו להציג טקסט, משתנים ונתונים אחרים בפורמט קריא אנושי.

    תחביר:

    print(object(s), sep=separator, end=end, file=file, flush=flush)

    זה לוקח ארגומנט אחד או יותר מופרדים בפסיק(,) ומוסיף 'שורה חדשה' בסוף כברירת מחדל.

    פרמטרים:

    • אובייקט(ים) - כמה שתרצה שהנתונים יוצגו, יומרו תחילה למחרוזת ויודפסו למסוף.
    • sep - מפריד בין האובייקטים באמצעות מפריד שעבר, ערך ברירת המחדל = ' '.
    • end - מסיים שורה עם תו חדש
    • file - אובייקט קובץ עם שיטת כתיבה, ערך ברירת המחדל = sys.stdout

    דוגמא:

     # Displaying a string print('Hello, World!') # Displaying multiple values name = 'Aman' age = 21 print('Name:', name, 'Age:', age) # Printing variables and literals x = 5 y = 7 print('x =', x, 'y =', y, 'Sum =', x + y) # Printing with formatting percentage = 85.75 print('Score: {:.2f}%'.format(percentage)) 

    תְפוּקָה:

     Hello, World! Name: Aman Age: 21 X = 5 y = 7 Sum = 12 Score: 85.75% 

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

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

    הצהרות מותנות של Python

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

    קוד לדוגמה עבור הצהרת if..else

     x = 10 y = 5 if x > y: print('x is greater than y') else: print('y is greater than or equal to x') 

    תְפוּקָה:

     x is greater than y 

    בקוד לעיל, יש לנו שני משתנים, x, ו-y, עם 10 ו-5, בהתאמה. לאחר מכן השתמשנו במשפט if..else כדי לבדוק אם x גדול מ-y או להיפך. אם התנאי הראשון נכון, ההצהרה 'x גדול מ-y' מודפסת. אם התנאי הראשון שקרי, ההצהרה 'y גדול או שווה ל-x' מודפסת במקום זאת.

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

    נלמד על כך ביתר פירוט במאמר נוסף עבור המדריך של Python.

    לולאות פייתון

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

    Python For Loop

     fruits = ['apple', 'banana', 'cherry'] for x in fruits: print(x, end=' ') 

    תְפוּקָה:

     apple banana cherry 

    Python While Loop

     i = 1 while i<5: print(i, end=" " ) i +="1" < pre> <p> <strong>Output:</strong> </p> <pre> 1 2 3 4 </pre> <p>In the above example code, we have demonstrated using two types of loops in Python - For loop and While loop.</p> <p>The For loop is used to iterate over a sequence of items, such as a list, tuple, or string. In the example, we defined a list of fruits and used a for loop to print each fruit, but it can also be used to print a range of numbers.</p> <p>The While loop repeats a code block if the specified condition is true. In the example, we have initialized a variable i to 1 and used a while loop to print the value of i until it becomes greater than or equal to 6. The i += 1 statement is used to increment the value of i in each iteration.</p> <p>We will learn about them in the tutorial in detail.</p> <h2>Python Data Structures</h2> <p> <strong>Python offers four built-in data structures:</strong>  <strong>lists</strong>  ,  <strong>tuples</strong>  ,  <strong>sets</strong>  , and  <strong>dictionaries</strong>  that allow us to store data in an efficient way. Below are the commonly used data structures in Python, along with example code:</p> <h3>1. Lists </h3> <ul> <li>Lists are <strong>ordered collections</strong> of data elements of different data types.</li> <li>Lists are <strong>mutable</strong> meaning a list can be modified anytime.</li> <li>Elements can be <strong>accessed using indices</strong> .</li> <li>They are defined using square bracket &apos; <strong>[]</strong> &apos;.</li> </ul> <p> <strong>Example:</strong> </p> <pre> # Create a list fruits = [&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;] print(&apos;fuirts[1] =&apos;, fruits[1]) # Modify list fruits.append(&apos;orange&apos;) print(&apos;fruits =&apos;, fruits) num_list = [1, 2, 3, 4, 5] # Calculate sum sum_nums = sum(num_list) print(&apos;sum_nums =&apos;, sum_nums) </pre> <p> <strong>Output:</strong> </p> <pre> fuirts[1] = banana fruits = [&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;, &apos;orange&apos;] sum_nums = 15 </pre> <h3>2. Tuples </h3> <ul> <li>Tuples are also <strong>ordered collections</strong> of data elements of different data types, similar to Lists.</li> <li>Elements can be <strong>accessed using indices</strong> .</li> <li>Tuples are <strong>immutable</strong> meaning Tuples can&apos;t be modified once created.</li> <li>They are defined using open bracket &apos; <strong>()</strong> &apos;.</li> </ul> <p> <strong>Example:</strong> </p> <pre> # Create a tuple point = (3, 4) x, y = point print(&apos;(x, y) =&apos;, x, y) # Create another tuple tuple_ = (&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;, &apos;orange&apos;) print(&apos;Tuple =&apos;, tuple_) </pre> <p> <strong>Output:</strong> </p> <pre> (x, y) = 3 4 Tuple = (&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;, &apos;orange&apos;) </pre> <h3>3. Sets </h3> <ul> <li>Sets are <strong>unordered</strong> collections of immutable data elements of different data types.</li> <li>Sets are <strong>mutable</strong> .</li> <li>Elements can&apos;t be accessed using indices.</li> <li>Sets <strong>do not contain duplicate elements</strong> .</li> <li>They are defined using curly braces &apos; <strong>{}</strong> &apos;</li> </ul> <p> <strong>Example:</strong> </p> <pre> # Create a set set1 = {1, 2, 2, 1, 3, 4} print(&apos;set1 =&apos;, set1) # Create another set set2 = {&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;, &apos;apple&apos;, &apos;orange&apos;} print(&apos;set2 =&apos;, set2) </pre> <p> <strong>Output:</strong> </p> <pre> set1 = {1, 2, 3, 4} set2 = {&apos;apple&apos;, &apos;cherry&apos;, &apos;orange&apos;, &apos;banana&apos;} </pre> <h3>4. Dictionaries </h3> <ul> <li>Dictionary are <strong>key-value pairs</strong> that allow you to associate values with unique keys.</li> <li>They are defined using curly braces &apos; <strong>{}</strong> &apos; with key-value pairs <strong>separated by colons &apos;:&apos;</strong> .</li> <li>Dictionaries are <strong>mutable</strong> .</li> <li>Elements can be accessed using keys.</li> </ul> <p> <strong>Example:</strong> </p> <pre> # Create a dictionary person = {&apos;name&apos;: &apos;Umesh&apos;, &apos;age&apos;: 25, &apos;city&apos;: &apos;Noida&apos;} print(&apos;person =&apos;, person) print(person[&apos;name&apos;]) # Modify Dictionary person[&apos;age&apos;] = 27 print(&apos;person =&apos;, person) </pre> <p> <strong>Output:</strong> </p> <pre> person = {&apos;name&apos;: &apos;Umesh&apos;, &apos;age&apos;: 25, &apos;city&apos;: &apos;Noida&apos;} Umesh person = {&apos;name&apos;: &apos;Umesh&apos;, &apos;age&apos;: 27, &apos;city&apos;: &apos;Noida&apos;} </pre> <p>These are just a few examples of Python&apos;s built-in data structures. Each data structure has its own characteristics and use cases.</p> <h2>Python Functional Programming</h2> <p>This section of the Python tutorial defines some important tools related to functional programming, such as lambda and recursive functions. These functions are very efficient in accomplishing complex tasks. We define a few important functions, such as reduce, map, and filter. Python provides the functools module that includes various functional programming tools. Visit the following tutorial to learn more about functional programming.</p> <p>Recent versions of Python have introduced features that make functional programming more concise and expressive. For example, the &apos;walrus operator&apos;:= allows for inline variable assignment in expressions, which can be useful when working with nested function calls or list comprehensions.</p> <h2>Python Function</h2> <ol class="points"> <li>  <strong>Lambda Function</strong>  - A lambda function is a small, <strong>anonymous function</strong> that can take any number of arguments but can only have one expression. Lambda functions are often used in functional programming to create functions &apos;on the fly&apos; without defining a named function.</li> <li>  <strong>Recursive Function</strong>  - A recursive function is a function that calls itself to solve a problem. Recursive functions are often used in functional programming to perform complex computations or to traverse complex data structures.</li> <li> <a href="/python-map-function"> <strong>Map Function</strong> </a> - The map() function applies a given function to each item of an iterable and returns a new iterable with the results. The input iterable can be a list, tuple, or other.</li> <li> <a href="/python-filter-function"> <strong>Filter Function</strong> </a> - The filter() function returns an iterator from an iterable for which the function passed as the first argument returns True. It filters out the items from an iterable that do not meet the given condition.</li> <li> <a href="/reduce-python"> <strong>Reduce Function</strong> </a> - The reduce() function applies a function of two arguments cumulatively to the items of an iterable from left to right to reduce it to a single value.</li> <li>  <strong>functools Module</strong>  - The functools module in Python provides higher-order functions that operate on other functions, such as partial() and reduce().</li> <li>  <strong>Currying Function</strong>  - A currying function is a function that takes multiple arguments and returns a sequence of functions that each take a single argument.</li> <li>  <strong>Memoization Function</strong>  - Memoization is a technique used in functional programming to cache the results of expensive function calls and return the cached Result when the same inputs occur again.</li> <li>  <strong>Threading Function</strong>  - Threading is a technique used in functional programming to run multiple tasks simultaneously to make the code more efficient and faster.</li> </ol> <h2>Python Modules</h2> <p> Python modules are the program files that contain Python code or functions. Python has two types of modules - User-defined modules and built-in modules. A module the user defines, or our Python code saved with .py extension, is treated as a user-define module.</p> <p>Built-in modules are predefined modules of Python. To use the functionality of the modules, we need to import them into our current working program.</p> <p>Python modules are essential to the language&apos;s ecosystem since they offer reusable code and functionality that can be imported into any Python program. Here are a few examples of several Python modules, along with a brief description of each:</p> <p>  <strong>Math</strong>  : Gives users access to mathematical constants and pi and trigonometric functions.</p> <p>  <strong>Datetime</strong>  : Provides classes for a simpler way of manipulating dates, times, and periods.</p> <p> <a href="/python-os-module"> <strong>OS</strong> </a> : Enables interaction with the base operating system, including administration of processes and file system activities.</p> <p> <a href="/python-random-module"> <strong>Random</strong> </a> : The random function offers tools for generating random integers and picking random items from a list.</p> <p>  <strong>JSON</strong>  : JSON is a data structure that can be encoded and decoded and is frequently used in online APIs and data exchange. This module allows dealing with JSON. <br>  <strong>Re</strong>  : Supports regular expressions, a potent text-search and text-manipulation tool.</p> <p>  <strong>Collections</strong>  : Provides alternative data structures such as sorted dictionaries, default dictionaries, and named tuples.</p> <p>  <strong>NumPy</strong>  : NumPy is a core toolkit for scientific computing that supports numerical operations on arrays and matrices.</p> <p>  <strong>Pandas</strong>  : It provides high-level data structures and operations for dealing with time series and other structured data types.</p> <p>  <strong>Requests</strong>  : Offers a simple user interface for web APIs and performs HTTP requests.</p> <h2>Python File I/O</h2> <p>Files are used to store data in a computer disk. In this tutorial, we explain the built-in file object of Python. We can open a file using Python script and perform various operations such as writing, reading, and appending. There are various ways of opening a file. We are explained with the relevant example. We will also learn to perform read/write operations on binary files.</p> <p> <strong>Python&apos;s file input/output (I/O) system</strong> offers programs to communicate with files stored on a disc. Python&apos;s built-in methods for the file object let us carry out actions like reading, writing, and adding data to files.</p> <p>The <strong>open()</strong> method in Python makes a file object when working with files. The name of the file to be opened and the mode in which the file is to be opened are the two parameters required by this function. The mode can be used according to work that needs to be done with the file, such as &apos; <strong>r</strong> &apos; for reading, &apos; <strong>w</strong> &apos; for writing, or &apos; <strong>a</strong> &apos; for attaching.</p> <p>After successfully creating an object, different methods can be used according to our work. If we want to write in the file, we can use the write() functions, and if you want to read and write both, then we can use the append() function and, in cases where we only want to read the content of the file we can use read() function. Binary files containing data in a binary rather than a text format may also be worked with using Python. Binary files are written in a manner that humans cannot directly understand. The <strong>rb</strong> and <strong>wb</strong> modes can read and write binary data in binary files.</p> <h2>Python Exceptions</h2> <p>An exception can be defined as an unusual condition in a program resulting in an interruption in the flow of the program.</p> <p>Whenever an exception occurs, the program stops the execution, and thus the other code is not executed. Therefore, an exception is the run-time errors that are unable to handle to Python script. An exception is a Python object that represents an error.</p> <p>  <strong>Python Exceptions</strong>  are an important aspect of error handling in Python programming. When a program encounters an unexpected situation or error, it may raise an exception, which can interrupt the normal flow of the program.</p> <p>In Python, exceptions are represented as objects containing information about the error, including its type and message. The most common type of Exception in Python is the Exception class, a base class for all other built-in exceptions.</p> <p>To handle exceptions in Python, we use the <strong>try</strong> and <strong>except</strong> statements. The <strong>try</strong> statement is used to enclose the code that may raise an exception, while the <strong>except</strong> statement is used to define a block of code that should be executed when an exception occurs.</p> <p> <strong>For example, consider the following code:</strong> </p> <pre> try: x = int ( input (&apos;Enter a number: &apos;)) y = 10 / x print (&apos;Result:&apos;, y) except ZeroDivisionError: print (&apos;Error: Division by zero&apos;) except ValueError: print (&apos;Error: Invalid input&apos;) </pre> <p> <strong>Output:</strong> </p> <pre> Enter a number: 0 Error: Division by zero </pre> <p>In this code, we use the try statement to attempt to perform a division operation. If either of these operations raises an exception, the matching except block is executed.</p> <p>Python also provides many built-in exceptions that can be raised in similar situations. Some common built-in exceptions include <strong>IndexError, TypeError</strong> , and <strong>NameError</strong> . Also, we can define our custom exceptions by creating a new class that inherits from the Exception class.</p> <h2>Python CSV</h2> <p>A CSV stands for &apos;comma separated values&apos;, which is defined as a simple file format that uses specific structuring to arrange tabular data. It stores tabular data such as spreadsheets or databases in plain text and has a common format for data interchange. A CSV file opens into the Excel sheet, and the rows and columns data define the standard format.</p> <p>We can use the CSV.reader function to read a CSV file. This function returns a reader object that we can use to repeat over the rows in the CSV file. Each row is returned as a list of values, where each value corresponds to a column in the CSV file.</p> <p> <strong>For example, consider the following code:</strong> </p> <pre> import csv with open(&apos;data.csv&apos;, &apos;r&apos;) as file: reader = csv.reader(file) for row in reader: print(row) </pre> <p>Here, we open the file data.csv in read mode and create a <strong>csv.reader</strong> object using the <strong>csv.reader()</strong> function. We then iterate over the rows in the CSV file using a for loop and print each row to the console.</p> <p>We can use the  <strong>CSV.writer()</strong>  function to write data to a CSV file. It returns a writer object we can use to write rows to the CSV file. We can write rows by calling the <strong>writer ()</strong> method on the writer object.</p> <p> <strong>For example, consider the following code:</strong> </p> <pre> import csv data = [ [&apos;Name&apos;, &apos;Age&apos;, &apos;Country&apos;], [&apos;Alice&apos;, &apos;25&apos;, &apos;USA&apos;], [&apos;Bob&apos;, &apos;30&apos;, &apos;Canada&apos;], [&apos;Charlie&apos;, &apos;35&apos;, &apos;Australia&apos;] ] with open(&apos;data.csv&apos;, &apos;w&apos;) as file: writer = csv.writer(file) for row in data: writer.writerow(row) </pre> <p>In this program, we create a list of lists called data, where each inner list represents a row of data. We then open the file data.csv in write mode and create a <strong>CSV.writer</strong> object using the CSV.writer function. We then iterate over the rows in data using a for loop and write each row to the CSV file using the writer method.</p> <h2>Python Sending Mail</h2> <p>We can send or read a mail using the Python script. Python&apos;s standard library modules are useful for handling various protocols such as PoP3 and IMAP . Python provides the <a href="/python-sending-email-using-smtp">smtplib</a> module for sending emails using SMTP (Simple Mail Transfer Protocol). We will learn how to send mail with the popular email service SMTP from a Python script.</p> <h3>Python Magic Methods</h3> <p>The Python magic method is the special method that adds &apos;magic&apos; to a class. It starts and ends with double underscores, for example,  <strong>_init_</strong>  or  <strong>_str_</strong>  .</p> <p>The built-in classes define many magic methods. The <strong>dir()</strong> function can be used to see the number of magic methods inherited by a class. It has two prefixes and suffix underscores in the method name.</p> <ul> <li>Python magic methods are also known as <strong>dunder methods</strong> , short for &apos; double underscore &apos; methods because their names start and end with a double underscore.</li> <li>  <strong>Magic methods</strong>  are automatically invoked by the Python interpreter in certain situations, such as when an object is created, compared to another object, or printed.</li> <li>Magic methods can be used to customize the behavior of classes, such as defining how objects are compared, converted to strings, or accessed as containers.</li> <li>Some commonly used magic methods include  <strong>init</strong>  for initializing an object, str for converting an object to a string, <strong>eq</strong> for comparing two objects for equality, and  <strong>getitem</strong>  and <strong>setitem</strong> for accessing items in a container object.</li> </ul> <p>For example, the <strong>str</strong> magic method can define how an object should be represented as a string. Here&apos;s an example</p> <pre> class Person: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return f&apos;{self.name} ({self.age})&apos; person = Person(&apos;Vikas&apos;, 22) print(person) </pre> <p> <strong>Output:</strong> </p> <pre> Vikas (22) </pre> <p>In this example, the str method is defined to return a formatted string representation of the Person object with the person&apos;s name and age.</p> <p>Another commonly used magic method is <strong>eq</strong> , which defines how objects should be compared for equality. Here&apos;s an example:</p> <pre> class Point: def __init__(self, x, y): self.x = x self.y = y def __eq__(self, other): return self.x == other.x and self.y == other.y point1 = Point(2, 3) point2 = Point(3, 4) point3 = Point(2, 3) print(point1 == point2) print(point1 == point3) </pre> <p> <strong>Output:</strong> </p> <pre> False True </pre> <p>In this example, the <strong>eq</strong> method is defined to return True if two Point objects have the same x and y coordinates and False otherwise.</p> <h2>Python Oops Concepts</h2> <p>Everything in Python is treated as an object, including integer values, floats, functions, classes, and none. Apart from that, Python supports all oriented concepts. Below is a brief introduction to the Oops concepts of Python.</p> <ul> <li> <a href="/classes-objects-python"> <strong>Classes and Objects</strong> </a> - Python classes are the blueprints of the Object. An object is a collection of data and methods that act on the data.</li> <li> <a href="/python-inheritance"> <strong>Inheritance</strong> </a> - An inheritance is a technique where one class inherits the properties of other classes.</li> <li> <a href="/python-constructor"> <strong>Constructor</strong> </a> - Python provides a special method __init__() which is known as a constructor. This method is automatically called when an object is instantiated.</li> <tr><td>Data Member</td> - A variable that holds data associated with a class and its objects. <li>  <strong>Polymorphism</strong>  - Polymorphism is a concept where an object can take many forms. In Python, polymorphism can be achieved through method overloading and method overriding.</li> </tr><tr><td>Method Overloading</td> - In Python, method overloading is achieved through default arguments, where a method can be defined with multiple parameters. The default values are used if some parameters are not passed while calling the method. <li>  <strong>Method Overriding</strong>  - Method overriding is a concept where a subclass implements a method already defined in its superclass.</li> <li>  <strong>Encapsulation</strong>  - Encapsulation is wrapping data and methods into a single unit. In Python, encapsulation is achieved through access modifiers, such as public, private, and protected. However, Python does not strictly enforce access modifiers, and the naming convention indicates the access level.</li> <li>  <strong>Data Abstraction</strong>  : A technique to hide the complexity of data and show only essential features to the user. It provides an interface to interact with the data. Data abstraction reduces complexity and makes code more modular, allowing developers to focus on the program&apos;s essential features.</li> </tr></ul> <p>To read the Oops concept in detail, visit the following resources.</p> <ul> <li> Python Oops Concepts - In Python, the object-oriented paradigm is to design the program using classes and objects. The object is related to real-word entities such as book, house, pencil, etc. and the class defines its properties and behaviours.</li> <li> <a href="/classes-objects-python">Python Objects and classes</a> - In Python, objects are instances of classes and classes are blueprints that defines structure and behaviour of data.</li> <li> <a href="/python-constructor">Python Constructor</a> - A constructor is a special method in a class that is used to initialize the object&apos;s attributes when the object is created.</li> <li> <a href="/python-inheritance">Python Inheritance</a> - Inheritance is a mechanism in which new class (subclass or child class) inherits the properties and behaviours of an existing class (super class or parent class).</li> <li> Python Polymorphism - Polymorphism allows objects of different classes to be treated as objects of a common superclass, enabling different classes to be used interchangeably through a common interface.</li> </ul> <h2>Python Advance Topics</h2> <p>Python includes many advances and useful concepts that help the programmer solve complex tasks. These concepts are given below.</p> <h3> Python Iterator </h3> <p>An iterator is simply an object that can be iterated upon. It returns one Object at a time. It can be implemented using the two special methods,  <strong>__iter__()</strong>  and __next__().</p> <p>Iterators in Python are objects that allow iteration over a collection of data. They process each collection element individually without loading the entire collection into memory.</p> <p>For example, let&apos;s create an iterator that returns the squares of numbers up to a given limit:</p> <pre> def __init__(self, limit): self.limit = limit self.n = 0 def __iter__(self): return self def __next__(self): if self.n <= 2 self.limit: square="self.n" ** self.n +="1" return else: raise stopiteration numbers="Squares(5)" for n in numbers: print(n) < pre> <p> <strong>Output:</strong> </p> <pre> 0 1 4 9 16 25 </pre> <p>In this example, we have created a class Squares that acts as an iterator by implementing the __iter__() and __next__() methods. The __iter__() method returns the Object itself, and the __next__() method returns the next square of the number until the limit is reached.</p> <p>To learn more about the iterators, visit our Python Iterators tutorial.</p> <h3> Python Generators </h3> <p>  <strong>Python generators</strong>  produce a sequence of values <strong>using a yield statement</strong> rather than a return since they are functions that return iterators. Generators terminate the function&apos;s execution while keeping the local state. It picks up right where it left off when it is restarted. Because we don&apos;t have to implement the iterator protocol thanks to this feature, writing iterators is made simpler. Here is an illustration of a straightforward generator function that produces squares of numbers:</p> <pre> # Generator Function def square_numbers(n): for i in range(n): yield i**2 # Create a generator object generator = square_numbers(5) # Print the values generated by the generator for num in generator: print(num) </pre> <p> <strong>Output:</strong> </p> <pre> 0 1 4 9 16 </pre> <h2>Python Modifiers</h2> <p>  <strong>Python Decorators</strong>  are functions used to modify the behaviour of another function. They allow adding functionality to an existing function without modifying its code directly. Decorators are defined using the <strong>@</strong> symbol followed by the name of the decorator function. They can be used for logging, timing, caching, etc.</p> <p>Here&apos;s an example of a decorator function that adds timing functionality to another function:</p> <pre> import time from math import factorial # Decorator to calculate time taken by # the function def time_it(func): def wrapper(*args, **kwargs): start = time.time() result = func(*args, **kwargs) end = time.time() print(f&apos;{func.__name__} took {end-start:.5f} seconds to run.&apos;) return result return wrapper @time_it def my_function(n): time.sleep(2) print(f&apos;Factorial of {n} = {factorial(n)}&apos;) my_function(25) </pre> <p> <strong>Output:</strong> </p> <pre> </pre> <p>In the above example, the time_it decorator function takes another function as an argument and returns a wrapper function. The wrapper function calculates the time to execute the original function and prints it to the console. The @time_it decorator is used to apply the time_it function to the my_function function. When my_function is called, the decorator is executed, and the timing functionality is added.</p> <h2>Python MySQL</h2> <p>Python MySQL is a powerful relational database management system. We must set up the environment and establish a connection to use MySQL with Python. We can create a new database and tables using SQL commands in Python.</p> <ul> <li>  <strong>Environment Setup</strong>  : Installing and configuring MySQL Connector/Python to use Python with MySQL.</li> <li>  <strong>Database Connection</strong>  : Establishing a connection between Python and MySQL database using MySQL Connector/Python.</li> <li>  <strong>Creating New Database</strong>  : Creating a new database in MySQL using Python.</li> <li>  <strong>Creating Tables</strong>  : Creating tables in the MySQL database with Python using SQL commands.</li> <li>  <strong>Insert Operation</strong>  : Insert data into MySQL tables using Python and SQL commands.</li> <li>  <strong>Read Operation</strong>  : Reading data from MySQL tables using Python and SQL commands.</li> <li>  <strong>Update Operation</strong>  : Updating data in MySQL tables using Python and SQL commands.</li> <li>  <strong>Join Operation</strong>  : Joining two or more tables in MySQL using Python and SQL commands.</li> <li>  <strong>Performing Transactions</strong>  : Performing a group of SQL queries as a single unit of work in MySQL using Python.</li> </ul> <p>Other relative points include handling errors, creating indexes, and using stored procedures and functions in MySQL with Python.</p> <h2>Python MongoDB</h2> <p> Python MongoDB is a popular NoSQL database that stores data in JSON-like documents. It is schemaless and provides high scalability and flexibility for data storage. We can use MongoDB with Python using the PyMongo library, which provides a simple and intuitive interface for interacting with MongoDB.</p> <p>Here are some common tasks when working with MongoDB in Python:</p> <ol class="points"> <li>  <strong>Environment Setup</strong>  : Install and configure MongoDB and PyMongo library on your system.</li> <li>  <strong>Database Connection</strong>  : Connect to a MongoDB server using the MongoClient class from PyMongo.</li> <li>  <strong>Creating a new database</strong>  : Use the MongoClient Object to create a new database.</li> <li>  <strong>Creating collections</strong>  : Create collections within a database to store documents.</li> <li>  <strong>Inserting documents</strong>  : Insert new documents into a collection using the insert_one() or insert_many() methods.</li> <li>  <strong>Querying documents</strong>  : Retrieve documents from a collection using various query methods like find_one(), find(), etc.</li> <li>  <strong>Updating documents</strong>  : Modify existing documents in a collection using update_one() or update_many() methods.</li> <li>  <strong>Deleting documents</strong>  : Remove documents from a collection using the delete_one() or delete_many() methods.</li> <li>  <strong>Aggregation</strong>  : Perform aggregation operations like grouping, counting, etc., using the aggregation pipeline framework.</li> <tr><td>Indexing:</td> Improve query performance by creating indexes on fields in collections. </tr></ol> <p>There are many more advanced topics in MongoDB, such as data sharding, replication, and more, but these tasks cover the basics of working with MongoDB in Python.</p> <h2> Python SQLite </h2> <p>Relational databases are built and maintained using Python SQLite, a compact, serverless, self-contained database engine. Its mobility and simplicity make it a popular option for local or small-scale applications. Python has a built-in module for connecting to SQLite databases called SQLite3, enabling developers to work with SQLite databases without difficulties.</p> <p>Various API methods are available through the SQLite3 library that may be used to run SQL queries, insert , select , update , and remove data, as well as get data from tables. Additionally, it allows transactions, allowing programmers to undo changes in case of a problem. Python SQLite is a fantastic option for creating programs that need an embedded database system, including desktop, mobile, and modest-sized web programs. SQLite has become popular among developers for lightweight apps with database functionality thanks to its ease of use, portability, and smooth connection with Python.</p> <h2> Python CGI </h2> <p>  <strong>Python CGI</strong>  is a technology for running scripts through web servers to produce dynamic online content. It offers a communication channel and a dynamic content generation interface for external CGI scripts and the web server. Python CGI scripts may create HTML web pages, handle form input, and communicate with databases. Python CGI enables the server to carry out Python scripts and provide the results to the client, offering a quick and effective approach to creating dynamic online applications.</p> <p>Python CGI scripts may be used for many things, including creating dynamic web pages, processing forms, and interacting with databases. Since Python, a potent and popular programming language, can be utilized to create scripts, it enables a more customized and flexible approach to web creation. Scalable, safe, and maintainable online applications may be created with Python CGI. Python CGI is a handy tool for web developers building dynamic and interactive online applications.</p> <h2> Asynchronous Programming in Python </h2> <p> <strong>Asynchronous programming</strong> is a paradigm for computer programming that enables independent and concurrent operation of activities. It is frequently used in applications like web servers, database software, and network programming, where several tasks or requests must be handled concurrently.</p> <p>Python has asyncio, Twisted, and Tornado among its libraries and frameworks for asynchronous programming. Asyncio, one of these, offers a simple interface for asynchronous programming and is the official asynchronous programming library in Python.</p> <p>Coroutines are functions that may be halted and restarted at specific locations in the code and are utilized by asyncio. This enables numerous coroutines to operate simultaneously without interfering with one another. For constructing and maintaining coroutines, the library offers several classes and methods, including <strong>asyncio.gather(),</strong> <strong>asyncio.wait(),</strong> and <strong>asyncio.create_task().</strong> </p> <p>Event loops, which are in charge of planning and operating coroutines, are another feature of asyncio. By cycling between coroutines in a non-blocking way, the event loop controls the execution of coroutines and ensures that no coroutine blocks another. Additionally, it supports timers and scheduling callbacks, which may be helpful when activities must be completed at specified times or intervals.</p> <h2> Python Concurrency </h2> <p>The term &apos; <strong>concurrency</strong> &apos; describes a program&apos;s capacity to carry out several tasks at once, enhancing the program&apos;s efficiency. Python offers several modules and concurrency-related methods, including asynchronous programming, multiprocessing, and multithreading. While multiprocessing involves running many processes simultaneously on a system, multithreading involves running numerous threads concurrently inside a single process.</p> <p>The <strong>threading module</strong> in Python enables programmers to build multithreading. It offers classes and operations for establishing and controlling threads. Conversely, the multiprocessing module allows developers to design and control processes. Python&apos;s asyncio module provides asynchronous programming support, allowing developers to write non-blocking code that can handle multiple tasks concurrently. Using these techniques, developers can write highperformance, scalable programs that can handle multiple tasks concurrently.</p> <p>Python&apos;s threading module enables the concurrent execution of several threads within a single process, which is helpful for I/O-bound activities.</p> <p>For CPU-intensive operations like image processing or data analysis, multiprocessing modules make it possible to execute numerous processes concurrently across multiple CPU cores.</p> <p>The asyncio module supports asynchronous I/O and permits the creation of single-threaded concurrent code using coroutines for high-concurrency network applications.</p> <p>With libraries like Dask , <a href="/pyspark-tutorial">PySpark</a> , and MPI, Python may also be used for parallel computing. These libraries allow workloads to be distributed across numerous nodes or clusters for better performance.</p> <h2> Web Scrapping using Python </h2> <p>The process of web scraping is used to retrieve data from websites automatically. Various tools and libraries extract data from HTML and other online formats. Python is among the most widely used programming languages for web scraping because of its ease of use, adaptability, and variety of libraries.</p> <p>We must take a few steps to accomplish web scraping using Python. We must first decide which website to scrape and what information to gather. Then, we can submit a request to the website and receive the HTML content using Python&apos;s requests package. Once we have the HTML text, we can extract the needed data using a variety of parsing packages, like <strong>Beautiful Soup and lxml</strong> .</p> <p>We can employ several strategies, like slowing requests, employing user agents, and using proxies, to prevent overburdening the website&apos;s server. It is also crucial to abide by the terms of service for the website and respect its robots.txt file.</p> <p>Data mining, lead creation, pricing tracking, and many more uses are possible for web scraping. However, as unauthorized web scraping may be against the law and unethical, it is essential to utilize it professionally and ethically.</p> <h2>Natural Language Processing (NLP) using Python</h2> <p>A branch of artificial intelligence (AI) called &apos;natural language processing&apos; (NLP) studies how computers and human language interact. Thanks to NLP, computers can now understand, interpret, and produce human language. Due to its simplicity, versatility, and strong libraries like NLTK (Natural Language Toolkit) and spaCy, Python is a well-known programming language for NLP.</p> <p> <strong>For NLP tasks, including tokenization, stemming, lemmatization, part-of-speech tagging, named entity identification, sentiment analysis, and others, NLTK provides a complete library.</strong> It has a variety of corpora (big, organized text collections) for developing and evaluating NLP models. Another well-liked library for NLP tasks is spaCy , which offers quick and effective processing of enormous amounts of text. It enables simple modification and expansion and comes with pre-trained models for various NLP workloads.</p> <p>NLP may be used in Python for various practical purposes, including chatbots, sentiment analysis, text categorization, machine translation, and more. NLP is used, for instance, by chatbots to comprehend and reply to user inquiries in a natural language style. Sentiment analysis, which may be helpful for brand monitoring, customer feedback analysis, and other purposes, employs NLP to categorize text sentiment (positive, negative, or neutral). Text documents are categorized using natural language processing (NLP) into pre-established categories for spam detection, news categorization, and other purposes.</p> <p>Python is a strong and useful tool when analyzing and processing human language. Developers may carry out various NLP activities and create useful apps that can communicate with consumers in natural language with libraries like NLTK and spaCy.</p> <h2>Conclusion:</h2> <p>In this tutorial, we&apos;ve looked at some of Python&apos;s most important features and ideas, including variables, data types, loops, functions, modules, and more. More complex subjects, including web scraping, natural language processing, parallelism, and database connection, have also been discussed. You will have a strong basis to continue learning about Python and its applications using the information you have learned from this lesson.</p> <p>Remember that practicing and developing code is the best method to learn Python. You may find many resources at javaTpoint to support your further learning, including documentation, tutorials, online groups, and more. You can master Python and use it to create wonderful things if you work hard and persist.</p> <h2>Prerequisite</h2> <p>Before learning Python, you must have the basic knowledge of programming concepts.</p> <h2>Audience</h2> <p>Our Python tutorial is designed to help beginners and professionals.</p> <h2>Problem</h2> <p>We assure that you will not find any problem in this Python tutorial. But if there is any mistake, please post the problem in contact form.</p> <hr></=></pre></5:>

    בקוד הדוגמה לעיל, הדגמנו שימוש בשני סוגים של לולאות ב-Python - For loop ו- While loop.

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

    לולאת While חוזרת על בלוק קוד אם התנאי שצוין נכון. בדוגמה, אתחלנו משתנה i ל-1 והשתמשנו בלולאת while כדי להדפיס את הערך של i עד שהוא הופך להיות גדול או שווה ל-6. ההצהרה i += 1 משמשת להגדלת הערך של i בכל איטרציה .

    נלמד עליהם בהדרכה בפירוט.

    מבני נתונים של פייתון

    פייתון מציעה ארבעה מבני נתונים מובנים: רשימות , tuples , סטים , ו מילונים המאפשרים לנו לאחסן נתונים בצורה יעילה. להלן מבני הנתונים הנפוצים ב- Python, יחד עם קוד לדוגמה:

    1. רשימות

    • רשימות הן אוספים הזמינו של רכיבי נתונים מסוגי נתונים שונים.
    • רשימות הן מִשְׁתַנֶה כלומר ניתן לשנות רשימה בכל עת.
    • אלמנטים יכולים להיות הגישה אליהם מתבצעת באמצעות מדדים .
    • הם מוגדרים באמצעות סוגר מרובע ' [] '.

    דוגמא:

     # Create a list fruits = [&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;] print(&apos;fuirts[1] =&apos;, fruits[1]) # Modify list fruits.append(&apos;orange&apos;) print(&apos;fruits =&apos;, fruits) num_list = [1, 2, 3, 4, 5] # Calculate sum sum_nums = sum(num_list) print(&apos;sum_nums =&apos;, sum_nums) 

    תְפוּקָה:

     fuirts[1] = banana fruits = [&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;, &apos;orange&apos;] sum_nums = 15 

    2. Tuples

    • גם טופלים אוספים הזמינו של רכיבי נתונים מסוגי נתונים שונים, בדומה לרשימות.
    • אלמנטים יכולים להיות הגישה אליהם מתבצעת באמצעות מדדים .
    • Tuples הם בלתי ניתן לשינוי כלומר לא ניתן לשנות את Tuples לאחר שנוצרו.
    • הם מוגדרים באמצעות סוגר פתוח ' () '.

    דוגמא:

     # Create a tuple point = (3, 4) x, y = point print(&apos;(x, y) =&apos;, x, y) # Create another tuple tuple_ = (&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;, &apos;orange&apos;) print(&apos;Tuple =&apos;, tuple_) 

    תְפוּקָה:

     (x, y) = 3 4 Tuple = (&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;, &apos;orange&apos;) 

    3 סטים

    • סטים הם לא מסודר אוספים של רכיבי נתונים בלתי ניתנים לשינוי מסוגי נתונים שונים.
    • סטים הם מִשְׁתַנֶה .
    • לא ניתן לגשת לרכיבים באמצעות מדדים.
    • סטים אינם מכילים רכיבים כפולים .
    • הם מוגדרים באמצעות פלטה מתולתלת ' {} '

    דוגמא:

     # Create a set set1 = {1, 2, 2, 1, 3, 4} print(&apos;set1 =&apos;, set1) # Create another set set2 = {&apos;apple&apos;, &apos;banana&apos;, &apos;cherry&apos;, &apos;apple&apos;, &apos;orange&apos;} print(&apos;set2 =&apos;, set2) 

    תְפוּקָה:

     set1 = {1, 2, 3, 4} set2 = {&apos;apple&apos;, &apos;cherry&apos;, &apos;orange&apos;, &apos;banana&apos;} 

    4. מילונים

    • מילון הם צמדי מפתח-ערך המאפשרים לך לשייך ערכים למפתחות ייחודיים.
    • הם מוגדרים באמצעות פלטה מתולתלת ' {} ' עם צמדי מפתח-ערך מופרדים על ידי נקודתיים ':' .
    • מילונים הם מִשְׁתַנֶה .
    • ניתן לגשת לאלמנטים באמצעות מקשים.

    דוגמא:

     # Create a dictionary person = {&apos;name&apos;: &apos;Umesh&apos;, &apos;age&apos;: 25, &apos;city&apos;: &apos;Noida&apos;} print(&apos;person =&apos;, person) print(person[&apos;name&apos;]) # Modify Dictionary person[&apos;age&apos;] = 27 print(&apos;person =&apos;, person) 

    תְפוּקָה:

     person = {&apos;name&apos;: &apos;Umesh&apos;, &apos;age&apos;: 25, &apos;city&apos;: &apos;Noida&apos;} Umesh person = {&apos;name&apos;: &apos;Umesh&apos;, &apos;age&apos;: 27, &apos;city&apos;: &apos;Noida&apos;} 

    אלו הן רק כמה דוגמאות למבני הנתונים המובנים של Python. לכל מבנה נתונים יש מאפיינים ומקרי שימוש משלו.

    תכנות פונקציונלי של Python

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

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

    פונקציית Python

    1. פונקציית למדה - פונקציית למבדה היא קטנה, פונקציה אנונימית שיכול לקחת כל מספר של ארגומנטים אבל יכול להיות רק ביטוי אחד. פונקציות למבדה משמשות לעתים קרובות בתכנות פונקציונלי כדי ליצור פונקציות 'בתנועה' מבלי להגדיר פונקציה בעלת שם.
    2. פונקציה רקורסיבית - פונקציה רקורסיבית היא פונקציה שקוראת לעצמה לפתור בעיה. פונקציות רקורסיביות משמשות לעתים קרובות בתכנות פונקציונלי לביצוע חישובים מורכבים או לחצות מבני נתונים מורכבים.
    3. פונקציית מפה - הפונקציה map() מחילה פונקציה נתונה על כל פריט של איטרבל ומחזירה איטרבל חדש עם התוצאות. הקלט שניתן לחזור עליו יכול להיות רשימה, tuple או אחר.
    4. פונקציית סינון - הפונקציה filter() מחזירה איטרטור מ-iterable שעבורו הפונקציה עברה כארגומנט הראשון מחזירה True. הוא מסנן את הפריטים מחזרה שאינם עומדים בתנאי הנתון.
    5. הקטנת פונקציה - הפונקציה reduce() מחילה פונקציה של שני ארגומנטים במצטבר על הפריטים של איטרציה משמאל לימין כדי לצמצם אותו לערך בודד.
    6. מודול functools - מודול functools ב-Python מספק פונקציות מסדר גבוה יותר הפועלות על פונקציות אחרות, כגון partial() ו-reduce().
    7. פונקציית קארינג - פונקציית currying היא פונקציה שלוקחת ארגומנטים מרובים ומחזירה רצף של פונקציות שכל אחת לוקחת ארגומנט בודד.
    8. פונקציית שינון - שינון הוא טכניקה המשמשת בתכנות פונקציונלי כדי לשמור את התוצאות של קריאות פונקציה יקרות ולהחזיר את התוצאה המאוחסנת במטמון כאשר אותן כניסות מתרחשות שוב.
    9. פונקציית השחלה - Threading היא טכניקה המשמשת בתכנות פונקציונלי להפעלת משימות מרובות בו זמנית כדי להפוך את הקוד ליעיל ומהיר יותר.

    מודולי פייתון

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

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

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

    מתמטיקה : נותן למשתמשים גישה לקבועים מתמטיים ולפונקציות pi וטריגונומטריות.

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

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

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

    JSON : JSON הוא מבנה נתונים שניתן לקידוד ולפענח ומשמש לעתים קרובות בממשקי API מקוונים וחילופי נתונים. מודול זה מאפשר התמודדות עם JSON.
    מִחָדָשׁ : תומך בביטויים רגולריים, כלי רב עוצמה לחיפוש טקסט ולמניפולציה של טקסט.

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

    NumPy : NumPy היא ערכת כלים ליבה למחשוב מדעי התומכת בפעולות מספריות על מערכים ומטריצות.

    פנדות : הוא מספק מבני נתונים ופעולות ברמה גבוהה להתמודדות עם סדרות זמן וסוגי נתונים מובנים אחרים.

    בקשות : מציע ממשק משתמש פשוט עבור ממשקי API באינטרנט ומבצע בקשות HTTP.

    Python File I/O

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

    מערכת קלט/פלט קבצים (I/O) של Python מציע תוכניות לתקשורת עם קבצים המאוחסנים בדיסק. השיטות המובנות של Python עבור אובייקט הקובץ מאפשרות לנו לבצע פעולות כמו קריאה, כתיבה והוספת נתונים לקבצים.

    ה לִפְתוֹחַ() השיטה ב-Python מייצרת אובייקט קובץ בעת עבודה עם קבצים. שם הקובץ שייפתח והמצב שבו הקובץ אמור להיפתח הם שני הפרמטרים הנדרשים לפונקציה זו. ניתן להשתמש במצב בהתאם לעבודה שצריך לעשות עם הקובץ, כגון ' ר ' לקריאה, ' ב 'לכתיבה, או' א ' לצירוף.

    לאחר יצירת אובייקט מוצלחת, ניתן להשתמש בשיטות שונות בהתאם לעבודתנו. אם נרצה לכתוב בקובץ, נוכל להשתמש בפונקציות write() ואם אתה רוצה לקרוא ולכתוב את שתיהן, אז נוכל להשתמש בפונקציה append() ובמקרים שבהם נרצה לקרוא רק את התוכן של את הקובץ אנחנו יכולים להשתמש בפונקציה read(). ניתן לעבוד עם קבצים בינאריים המכילים נתונים בפורמט בינארי ולא בטקסט באמצעות Python. קבצים בינאריים נכתבים באופן שבני אדם אינם יכולים להבין ישירות. ה rb ו wb מצבים יכולים לקרוא ולכתוב נתונים בינאריים בקבצים בינאריים.

    חריגים לפייתון

    ניתן להגדיר חריג כמצב חריג בתוכנית הגורם להפרעה בזרימת התוכנית.

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

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

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

    Java indexof

    כדי לטפל בחריגים ב- Python, אנו משתמשים ב- לְנַסוֹת ו מלבד הצהרות. ה לְנַסוֹת הצהרה משמשת כדי לצרף את הקוד שעשוי להעלות חריג, בעוד ש- מלבד הצהרה משמשת להגדרת גוש קוד שאמור להתבצע כאשר מתרחש חריג.

    לדוגמה, שקול את הקוד הבא:

     try: x = int ( input (&apos;Enter a number: &apos;)) y = 10 / x print (&apos;Result:&apos;, y) except ZeroDivisionError: print (&apos;Error: Division by zero&apos;) except ValueError: print (&apos;Error: Invalid input&apos;) 

    תְפוּקָה:

     Enter a number: 0 Error: Division by zero 

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

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

    Python CSV

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

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

    לדוגמה, שקול את הקוד הבא:

     import csv with open(&apos;data.csv&apos;, &apos;r&apos;) as file: reader = csv.reader(file) for row in reader: print(row) 

    כאן, אנו פותחים את הקובץ data.csv במצב קריאה ויוצרים א csv.reader אובייקט באמצעות ה csv.reader() פוּנקצִיָה. לאחר מכן אנו חוזרים על השורות בקובץ ה-CSV באמצעות לולאת for ומדפיסים כל שורה למסוף.

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

    לדוגמה, שקול את הקוד הבא:

     import csv data = [ [&apos;Name&apos;, &apos;Age&apos;, &apos;Country&apos;], [&apos;Alice&apos;, &apos;25&apos;, &apos;USA&apos;], [&apos;Bob&apos;, &apos;30&apos;, &apos;Canada&apos;], [&apos;Charlie&apos;, &apos;35&apos;, &apos;Australia&apos;] ] with open(&apos;data.csv&apos;, &apos;w&apos;) as file: writer = csv.writer(file) for row in data: writer.writerow(row) 

    בתוכנית זו, אנו יוצרים רשימה של רשימות הנקראות נתונים, כאשר כל רשימה פנימית מייצגת שורת נתונים. לאחר מכן נפתח את הקובץ data.csv במצב כתיבה וניצור א CSV.writer אובייקט באמצעות הפונקציה CSV.writer. לאחר מכן, אנו חוזרים על השורות בנתונים באמצעות לולאת for וכותבים כל שורה לקובץ ה-CSV בשיטת ה-writer.

    פייתון שולח דואר

    אנו יכולים לשלוח או לקרוא דואר באמצעות סקריפט Python. מודולי הספרייה הסטנדרטיים של Python שימושיים לטיפול בפרוטוקולים שונים כגון PoP3 ו-IMAP. Python מספק את smtplib מודול לשליחת מיילים באמצעות SMTP (פרוטוקול העברת דואר פשוט). נלמד כיצד לשלוח דואר עם שירות האימייל הפופולרי SMTP מתוך סקריפט של Python.

    שיטות קסם של פייתון

    שיטת הקסם של Python היא השיטה המיוחדת שמוסיפה 'קסם' למחלקה. זה מתחיל ונגמר בקווים תחתונים כפולים, למשל, _חַם_ אוֹ _str_ .

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

    • שיטות קסם פייתון ידועות גם בשם שיטות דאנדר , קיצור של שיטות 'קו תחתון כפול' כי השמות שלהן מתחילים ונגמרים בקו תחתון כפול.
    • שיטות קסם מופעלים אוטומטית על ידי מתורגמן Python במצבים מסוימים, כגון כאשר אובייקט נוצר, בהשוואה לאובייקט אחר, או מודפס.
    • ניתן להשתמש בשיטות קסם כדי להתאים אישית את ההתנהגות של מחלקות, כגון הגדרת אופן השוואה בין אובייקטים, המרה למחרוזות או גישה אליהם כמכולות.
    • כמה שיטות קסם נפוצות כוללות חוֹם לאתחול אובייקט, str להמרת אובייקט למחרוזת, eq להשוואת שני אובייקטים לשוויון, ו בעל הכותרת ו פריט מוגדר לגישה לפריטים באובייקט מיכל.

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

     class Person: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return f&apos;{self.name} ({self.age})&apos; person = Person(&apos;Vikas&apos;, 22) print(person) 

    תְפוּקָה:

     Vikas (22) 

    בדוגמה זו, שיטת str מוגדרת להחזיר ייצוג מחרוזת מעוצב של אובייקט ה-Person עם שם האדם וגילו.

    שיטת קסם נפוצה נוספת היא eq , המגדיר כיצד יש להשוות אובייקטים לשם שוויון. הנה דוגמה:

     class Point: def __init__(self, x, y): self.x = x self.y = y def __eq__(self, other): return self.x == other.x and self.y == other.y point1 = Point(2, 3) point2 = Point(3, 4) point3 = Point(2, 3) print(point1 == point2) print(point1 == point3) 

    תְפוּקָה:

     False True 

    בדוגמה זו, ה eq השיטה מוגדרת להחזיר True אם לשני אובייקטים Point יש את אותן קואורדינטות x ו-y ו-False אחרת.

    פייתון אופס מושגים

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

    • כיתות וחפצים - מחלקות Python הן השרטוטים של האובייקט. אובייקט הוא אוסף של נתונים ושיטות הפועלים על הנתונים.
    • יְרוּשָׁה - ירושה היא טכניקה שבה מחלקה אחת יורשת את המאפיינים של מחלקות אחרות.
    • בַּנַאִי - Python מספקת שיטה מיוחדת __init__() הידועה בתור בנאי. שיטה זו נקראת אוטומטית כאשר אובייקט מופק.
    • חבר נתונים- משתנה המחזיק נתונים הקשורים למחלקה ולאובייקטים שלה.
    • רב צורתיות - פולימורפיזם הוא מושג שבו אובייקט יכול ללבוש צורות רבות. בפייתון ניתן להשיג פולימורפיזם באמצעות עומס יתר של שיטות ועקיפה של שיטות.
    • עומס יתר של שיטה- ב-Python, עומס יתר של השיטה מושגת באמצעות ארגומנטים של ברירת מחדל, כאשר ניתן להגדיר שיטה עם מספר פרמטרים. ערכי ברירת המחדל משמשים אם חלק מהפרמטרים אינם מועברים בעת קריאה למתודה.
    • עקיפת שיטה - דקיפת שיטה היא מושג שבו תת-מחלקה מיישמת שיטה שכבר הוגדרה ב- superclass שלה.
    • כימוס - Encapsulation היא עטיפה של נתונים ושיטות ליחידה אחת. ב-Python, אנקפסולציה מושגת באמצעות משנה גישה, כגון ציבורי, פרטי ומוגן. עם זאת, Python לא אוכפת בקפדנות את שינויי הגישה, ואמנת השמות מציינת את רמת הגישה.
    • הפשטת נתונים : טכניקה להסתרת מורכבות הנתונים ולהציג רק תכונות חיוניות למשתמש. הוא מספק ממשק לאינטראקציה עם הנתונים. הפשטת נתונים מפחיתה את המורכבות והופכת את הקוד למודולרי יותר, ומאפשרת למפתחים להתמקד בתכונות החיוניות של התוכנית.

    כדי לקרוא את הרעיון אופס בפירוט, בקר במשאבים הבאים.

    • Python Oops Concepts - ב- Python, הפרדיגמה מונחה עצמים היא לעצב את התוכנה באמצעות מחלקות ואובייקטים. האובייקט קשור לישויות של מילה אמיתית כמו ספר, בית, עיפרון וכו' והכיתה מגדירה את המאפיינים וההתנהגויות שלו.
    • אובייקטים ומחלקות פייתון - ב-Python, אובייקטים הם מופעים של מחלקות ומחלקות הם שרטוטים המגדירים מבנה והתנהגות של נתונים.
    • Python Constructor - קונסטרוקטור הוא שיטה מיוחדת במחלקה המשמשת לאתחול תכונות האובייקט בעת יצירת האובייקט.
    • הירושה של פייתון - ירושה היא מנגנון שבו מחלקה חדשה (תת מחלקה או מחלקה ילדה) יורשת את המאפיינים והתנהגויות של מחלקה קיימת (מחלקה על או מחלקה אב).
    • פולימורפיזם של פייתון - פולימורפיזם מאפשר להתייחס לאובייקטים ממחלקות שונות כאובייקטים של מחלקת-על משותפת, מה שמאפשר להשתמש במחלקות שונות לסירוגין באמצעות ממשק משותף.

    נושאי פייתון מתקדמים

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

    Python Iterator

    איטרטור הוא פשוט אובייקט שניתן לחזור עליו. זה מחזיר אובייקט אחד בכל פעם. ניתן ליישם אותו בשתי השיטות המיוחדות, __iter__() ו-__הבא__().

    איטרטורים ב- Python הם אובייקטים המאפשרים איטרציה על פני אוסף נתונים. הם מעבדים כל רכיב אוסף בנפרד מבלי לטעון את כל האוסף לזיכרון.

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

     def __init__(self, limit): self.limit = limit self.n = 0 def __iter__(self): return self def __next__(self): if self.n <= 2 self.limit: square="self.n" ** self.n +="1" return else: raise stopiteration numbers="Squares(5)" for n in numbers: print(n) < pre> <p> <strong>Output:</strong> </p> <pre> 0 1 4 9 16 25 </pre> <p>In this example, we have created a class Squares that acts as an iterator by implementing the __iter__() and __next__() methods. The __iter__() method returns the Object itself, and the __next__() method returns the next square of the number until the limit is reached.</p> <p>To learn more about the iterators, visit our Python Iterators tutorial.</p> <h3> Python Generators </h3> <p>  <strong>Python generators</strong>  produce a sequence of values <strong>using a yield statement</strong> rather than a return since they are functions that return iterators. Generators terminate the function&apos;s execution while keeping the local state. It picks up right where it left off when it is restarted. Because we don&apos;t have to implement the iterator protocol thanks to this feature, writing iterators is made simpler. Here is an illustration of a straightforward generator function that produces squares of numbers:</p> <pre> # Generator Function def square_numbers(n): for i in range(n): yield i**2 # Create a generator object generator = square_numbers(5) # Print the values generated by the generator for num in generator: print(num) </pre> <p> <strong>Output:</strong> </p> <pre> 0 1 4 9 16 </pre> <h2>Python Modifiers</h2> <p>  <strong>Python Decorators</strong>  are functions used to modify the behaviour of another function. They allow adding functionality to an existing function without modifying its code directly. Decorators are defined using the <strong>@</strong> symbol followed by the name of the decorator function. They can be used for logging, timing, caching, etc.</p> <p>Here&apos;s an example of a decorator function that adds timing functionality to another function:</p> <pre> import time from math import factorial # Decorator to calculate time taken by # the function def time_it(func): def wrapper(*args, **kwargs): start = time.time() result = func(*args, **kwargs) end = time.time() print(f&apos;{func.__name__} took {end-start:.5f} seconds to run.&apos;) return result return wrapper @time_it def my_function(n): time.sleep(2) print(f&apos;Factorial of {n} = {factorial(n)}&apos;) my_function(25) </pre> <p> <strong>Output:</strong> </p> <pre> </pre> <p>In the above example, the time_it decorator function takes another function as an argument and returns a wrapper function. The wrapper function calculates the time to execute the original function and prints it to the console. The @time_it decorator is used to apply the time_it function to the my_function function. When my_function is called, the decorator is executed, and the timing functionality is added.</p> <h2>Python MySQL</h2> <p>Python MySQL is a powerful relational database management system. We must set up the environment and establish a connection to use MySQL with Python. We can create a new database and tables using SQL commands in Python.</p> <ul> <li>  <strong>Environment Setup</strong>  : Installing and configuring MySQL Connector/Python to use Python with MySQL.</li> <li>  <strong>Database Connection</strong>  : Establishing a connection between Python and MySQL database using MySQL Connector/Python.</li> <li>  <strong>Creating New Database</strong>  : Creating a new database in MySQL using Python.</li> <li>  <strong>Creating Tables</strong>  : Creating tables in the MySQL database with Python using SQL commands.</li> <li>  <strong>Insert Operation</strong>  : Insert data into MySQL tables using Python and SQL commands.</li> <li>  <strong>Read Operation</strong>  : Reading data from MySQL tables using Python and SQL commands.</li> <li>  <strong>Update Operation</strong>  : Updating data in MySQL tables using Python and SQL commands.</li> <li>  <strong>Join Operation</strong>  : Joining two or more tables in MySQL using Python and SQL commands.</li> <li>  <strong>Performing Transactions</strong>  : Performing a group of SQL queries as a single unit of work in MySQL using Python.</li> </ul> <p>Other relative points include handling errors, creating indexes, and using stored procedures and functions in MySQL with Python.</p> <h2>Python MongoDB</h2> <p> Python MongoDB is a popular NoSQL database that stores data in JSON-like documents. It is schemaless and provides high scalability and flexibility for data storage. We can use MongoDB with Python using the PyMongo library, which provides a simple and intuitive interface for interacting with MongoDB.</p> <p>Here are some common tasks when working with MongoDB in Python:</p> <ol class="points"> <li>  <strong>Environment Setup</strong>  : Install and configure MongoDB and PyMongo library on your system.</li> <li>  <strong>Database Connection</strong>  : Connect to a MongoDB server using the MongoClient class from PyMongo.</li> <li>  <strong>Creating a new database</strong>  : Use the MongoClient Object to create a new database.</li> <li>  <strong>Creating collections</strong>  : Create collections within a database to store documents.</li> <li>  <strong>Inserting documents</strong>  : Insert new documents into a collection using the insert_one() or insert_many() methods.</li> <li>  <strong>Querying documents</strong>  : Retrieve documents from a collection using various query methods like find_one(), find(), etc.</li> <li>  <strong>Updating documents</strong>  : Modify existing documents in a collection using update_one() or update_many() methods.</li> <li>  <strong>Deleting documents</strong>  : Remove documents from a collection using the delete_one() or delete_many() methods.</li> <li>  <strong>Aggregation</strong>  : Perform aggregation operations like grouping, counting, etc., using the aggregation pipeline framework.</li> <tr><td>Indexing:</td> Improve query performance by creating indexes on fields in collections. </tr></ol> <p>There are many more advanced topics in MongoDB, such as data sharding, replication, and more, but these tasks cover the basics of working with MongoDB in Python.</p> <h2> Python SQLite </h2> <p>Relational databases are built and maintained using Python SQLite, a compact, serverless, self-contained database engine. Its mobility and simplicity make it a popular option for local or small-scale applications. Python has a built-in module for connecting to SQLite databases called SQLite3, enabling developers to work with SQLite databases without difficulties.</p> <p>Various API methods are available through the SQLite3 library that may be used to run SQL queries, insert , select , update , and remove data, as well as get data from tables. Additionally, it allows transactions, allowing programmers to undo changes in case of a problem. Python SQLite is a fantastic option for creating programs that need an embedded database system, including desktop, mobile, and modest-sized web programs. SQLite has become popular among developers for lightweight apps with database functionality thanks to its ease of use, portability, and smooth connection with Python.</p> <h2> Python CGI </h2> <p>  <strong>Python CGI</strong>  is a technology for running scripts through web servers to produce dynamic online content. It offers a communication channel and a dynamic content generation interface for external CGI scripts and the web server. Python CGI scripts may create HTML web pages, handle form input, and communicate with databases. Python CGI enables the server to carry out Python scripts and provide the results to the client, offering a quick and effective approach to creating dynamic online applications.</p> <p>Python CGI scripts may be used for many things, including creating dynamic web pages, processing forms, and interacting with databases. Since Python, a potent and popular programming language, can be utilized to create scripts, it enables a more customized and flexible approach to web creation. Scalable, safe, and maintainable online applications may be created with Python CGI. Python CGI is a handy tool for web developers building dynamic and interactive online applications.</p> <h2> Asynchronous Programming in Python </h2> <p> <strong>Asynchronous programming</strong> is a paradigm for computer programming that enables independent and concurrent operation of activities. It is frequently used in applications like web servers, database software, and network programming, where several tasks or requests must be handled concurrently.</p> <p>Python has asyncio, Twisted, and Tornado among its libraries and frameworks for asynchronous programming. Asyncio, one of these, offers a simple interface for asynchronous programming and is the official asynchronous programming library in Python.</p> <p>Coroutines are functions that may be halted and restarted at specific locations in the code and are utilized by asyncio. This enables numerous coroutines to operate simultaneously without interfering with one another. For constructing and maintaining coroutines, the library offers several classes and methods, including <strong>asyncio.gather(),</strong> <strong>asyncio.wait(),</strong> and <strong>asyncio.create_task().</strong> </p> <p>Event loops, which are in charge of planning and operating coroutines, are another feature of asyncio. By cycling between coroutines in a non-blocking way, the event loop controls the execution of coroutines and ensures that no coroutine blocks another. Additionally, it supports timers and scheduling callbacks, which may be helpful when activities must be completed at specified times or intervals.</p> <h2> Python Concurrency </h2> <p>The term &apos; <strong>concurrency</strong> &apos; describes a program&apos;s capacity to carry out several tasks at once, enhancing the program&apos;s efficiency. Python offers several modules and concurrency-related methods, including asynchronous programming, multiprocessing, and multithreading. While multiprocessing involves running many processes simultaneously on a system, multithreading involves running numerous threads concurrently inside a single process.</p> <p>The <strong>threading module</strong> in Python enables programmers to build multithreading. It offers classes and operations for establishing and controlling threads. Conversely, the multiprocessing module allows developers to design and control processes. Python&apos;s asyncio module provides asynchronous programming support, allowing developers to write non-blocking code that can handle multiple tasks concurrently. Using these techniques, developers can write highperformance, scalable programs that can handle multiple tasks concurrently.</p> <p>Python&apos;s threading module enables the concurrent execution of several threads within a single process, which is helpful for I/O-bound activities.</p> <p>For CPU-intensive operations like image processing or data analysis, multiprocessing modules make it possible to execute numerous processes concurrently across multiple CPU cores.</p> <p>The asyncio module supports asynchronous I/O and permits the creation of single-threaded concurrent code using coroutines for high-concurrency network applications.</p> <p>With libraries like Dask , <a href="/pyspark-tutorial">PySpark</a> , and MPI, Python may also be used for parallel computing. These libraries allow workloads to be distributed across numerous nodes or clusters for better performance.</p> <h2> Web Scrapping using Python </h2> <p>The process of web scraping is used to retrieve data from websites automatically. Various tools and libraries extract data from HTML and other online formats. Python is among the most widely used programming languages for web scraping because of its ease of use, adaptability, and variety of libraries.</p> <p>We must take a few steps to accomplish web scraping using Python. We must first decide which website to scrape and what information to gather. Then, we can submit a request to the website and receive the HTML content using Python&apos;s requests package. Once we have the HTML text, we can extract the needed data using a variety of parsing packages, like <strong>Beautiful Soup and lxml</strong> .</p> <p>We can employ several strategies, like slowing requests, employing user agents, and using proxies, to prevent overburdening the website&apos;s server. It is also crucial to abide by the terms of service for the website and respect its robots.txt file.</p> <p>Data mining, lead creation, pricing tracking, and many more uses are possible for web scraping. However, as unauthorized web scraping may be against the law and unethical, it is essential to utilize it professionally and ethically.</p> <h2>Natural Language Processing (NLP) using Python</h2> <p>A branch of artificial intelligence (AI) called &apos;natural language processing&apos; (NLP) studies how computers and human language interact. Thanks to NLP, computers can now understand, interpret, and produce human language. Due to its simplicity, versatility, and strong libraries like NLTK (Natural Language Toolkit) and spaCy, Python is a well-known programming language for NLP.</p> <p> <strong>For NLP tasks, including tokenization, stemming, lemmatization, part-of-speech tagging, named entity identification, sentiment analysis, and others, NLTK provides a complete library.</strong> It has a variety of corpora (big, organized text collections) for developing and evaluating NLP models. Another well-liked library for NLP tasks is spaCy , which offers quick and effective processing of enormous amounts of text. It enables simple modification and expansion and comes with pre-trained models for various NLP workloads.</p> <p>NLP may be used in Python for various practical purposes, including chatbots, sentiment analysis, text categorization, machine translation, and more. NLP is used, for instance, by chatbots to comprehend and reply to user inquiries in a natural language style. Sentiment analysis, which may be helpful for brand monitoring, customer feedback analysis, and other purposes, employs NLP to categorize text sentiment (positive, negative, or neutral). Text documents are categorized using natural language processing (NLP) into pre-established categories for spam detection, news categorization, and other purposes.</p> <p>Python is a strong and useful tool when analyzing and processing human language. Developers may carry out various NLP activities and create useful apps that can communicate with consumers in natural language with libraries like NLTK and spaCy.</p> <h2>Conclusion:</h2> <p>In this tutorial, we&apos;ve looked at some of Python&apos;s most important features and ideas, including variables, data types, loops, functions, modules, and more. More complex subjects, including web scraping, natural language processing, parallelism, and database connection, have also been discussed. You will have a strong basis to continue learning about Python and its applications using the information you have learned from this lesson.</p> <p>Remember that practicing and developing code is the best method to learn Python. You may find many resources at javaTpoint to support your further learning, including documentation, tutorials, online groups, and more. You can master Python and use it to create wonderful things if you work hard and persist.</p> <h2>Prerequisite</h2> <p>Before learning Python, you must have the basic knowledge of programming concepts.</p> <h2>Audience</h2> <p>Our Python tutorial is designed to help beginners and professionals.</p> <h2>Problem</h2> <p>We assure that you will not find any problem in this Python tutorial. But if there is any mistake, please post the problem in contact form.</p> <hr></=>

    בדוגמה זו, יצרנו מחלקה Squares הפועלת כאיטרטור על ידי יישום המתודות __iter__() ו__next__() . השיטה __iter__() מחזירה את האובייקט עצמו, ומתודה __next__() מחזירה את הריבוע הבא של המספר עד שמגיעים לגבול.

    למידע נוסף על האיטרטורים, בקר במדריך Python Iterators שלנו.

    מחוללי פייתון

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

     # Generator Function def square_numbers(n): for i in range(n): yield i**2 # Create a generator object generator = square_numbers(5) # Print the values generated by the generator for num in generator: print(num) 

    תְפוּקָה:

     0 1 4 9 16 

    משנה פייתון

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

    הנה דוגמה לפונקציית עיצוב שמוסיפה פונקציונליות תזמון לפונקציה אחרת:

     import time from math import factorial # Decorator to calculate time taken by # the function def time_it(func): def wrapper(*args, **kwargs): start = time.time() result = func(*args, **kwargs) end = time.time() print(f&apos;{func.__name__} took {end-start:.5f} seconds to run.&apos;) return result return wrapper @time_it def my_function(n): time.sleep(2) print(f&apos;Factorial of {n} = {factorial(n)}&apos;) my_function(25) 

    תְפוּקָה:

     

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

    Python MySQL

    Python MySQL היא מערכת רבת עוצמה לניהול מסדי נתונים יחסיים. עלינו להגדיר את הסביבה וליצור חיבור לשימוש ב-MySQL עם Python. אנו יכולים ליצור מסד נתונים וטבלאות חדשים באמצעות פקודות SQL ב- Python.

    • הגדרת סביבה : התקנה והגדרת MySQL Connector/Python לשימוש ב-Python עם MySQL.
    • חיבור למסד נתונים : יצירת חיבור בין Python למסד הנתונים של MySQL באמצעות MySQL Connector/Python.
    • יצירת מסד נתונים חדש : יצירת מסד נתונים חדש ב-MySQL באמצעות Python.
    • יצירת טבלאות : יצירת טבלאות במסד הנתונים של MySQL עם Python באמצעות פקודות SQL.
    • פעולת הכנס : הכנס נתונים לטבלאות MySQL באמצעות פקודות Python ו-SQL.
    • קרא מבצע : קריאת נתונים מטבלאות MySQL באמצעות פקודות Python ו-SQL.
    • פעולת עדכון : עדכון נתונים בטבלאות MySQL באמצעות פקודות Python ו-SQL.
    • הצטרפו למבצע : הצטרפות של שתי טבלאות או יותר ב-MySQL באמצעות פקודות Python ו-SQL.
    • ביצוע עסקאות : ביצוע קבוצה של שאילתות SQL כיחידת עבודה אחת ב-MySQL באמצעות Python.

    נקודות יחסיות אחרות כוללות טיפול בשגיאות, יצירת אינדקסים ושימוש בפרוצדורות ופונקציות מאוחסנות ב-MySQL עם Python.

    Python MongoDB

    Python MongoDB הוא מסד נתונים פופולרי מסוג NoSQL המאחסן נתונים במסמכים דמויי JSON. הוא חסר סכמות ומספק מדרגיות גבוהה וגמישות לאחסון נתונים. אנו יכולים להשתמש ב-MongoDB עם Python באמצעות ספריית PyMongo, המספקת ממשק פשוט ואינטואיטיבי לאינטראקציה עם MongoDB.

    הנה כמה משימות נפוצות בעבודה עם MongoDB ב-Python:

    1. הגדרת סביבה : התקן והגדר את ספריית MongoDB ו- PyMongo במערכת שלך.
    2. חיבור למסד נתונים : התחבר לשרת MongoDB באמצעות המחלקה MongoClient מ- PyMongo.
    3. יצירת מסד נתונים חדש : השתמש באובייקט MongoClient כדי ליצור מסד נתונים חדש.
    4. יצירת אוספים : צור אוספים בתוך מסד נתונים לאחסון מסמכים.
    5. הכנסת מסמכים : הוסף מסמכים חדשים לאוסף באמצעות השיטות insert_one() או insert_many() .
    6. בדיקת מסמכים : אחזר מסמכים מאוסף באמצעות שיטות שאילתות שונות כמו find_one(), find() וכו'.
    7. עדכון מסמכים : שנה מסמכים קיימים באוסף באמצעות שיטות update_one() או update_many().
    8. מחיקת מסמכים : הסר מסמכים מאוסף באמצעות השיטות delete_one() או delete_many() .
    9. צבירה : בצע פעולות צבירה כמו קיבוץ, ספירה וכו', באמצעות מסגרת הצבירה.
    10. הוספה לאינדקס:שפר את ביצועי השאילתות על ידי יצירת אינדקסים על שדות באוספים.

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

    Python SQLite

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

    שיטות API שונות זמינות דרך ספריית SQLite3 אשר עשויות לשמש להפעלת שאילתות SQL, הוספה, בחירה, עדכון והסרה של נתונים, כמו גם קבלת נתונים מטבלאות. בנוסף, הוא מאפשר עסקאות, ומאפשר למתכנתים לבטל שינויים במקרה של בעיה. Python SQLite היא אפשרות פנטסטית ליצירת תוכניות הזקוקות למערכת מסד נתונים משובצת, כולל תוכניות שולחן עבודה, ניידות ותוכניות אינטרנט בגודל צנוע. SQLite הפכה פופולרית בקרב מפתחים עבור אפליקציות קלות משקל עם פונקציונליות של מסד נתונים הודות לקלות השימוש, הניידות והחיבור החלק עם Python.

    פייתון CGI

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

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

    תכנות אסינכרוני בפייתון

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

    לפייתון יש אסינציו, Twisted ו- Tornado בין הספריות והמסגרות שלה לתכנות אסינכרוני. Asyncio, אחת מאלה, מציעה ממשק פשוט לתכנות אסינכרוני והיא ספריית התכנות האסינכרונית הרשמית ב- Python.

    Coroutines הן פונקציות שעשויות להיעצר ולהפעיל מחדש במקומות ספציפיים בקוד והן מנוצלות על ידי asyncio. זה מאפשר למספר רב של קורוטינים לפעול בו זמנית מבלי להפריע אחד לשני. לבנייה ותחזוקה של קורוטינים, הספרייה מציעה מספר שיעורים ושיטות, כולל asyncio.gather(), asyncio.wait(), ו asyncio.create_task().

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

    פיתון במקביל

    התנאי ' במקביל ' מתאר את היכולת של תוכנית לבצע מספר משימות בו-זמנית, תוך שיפור היעילות של התוכנית. Python מציעה מספר מודולים ושיטות הקשורות במקביל, כולל תכנות אסינכרוני, ריבוי עיבודים ו-multithreading. בעוד ריבוי עיבודים כרוך בהפעלת תהליכים רבים בו-זמנית על מערכת, ריבוי תהליכים כרוך בהפעלת שרשורים רבים במקביל בתוך תהליך בודד.

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

    מודול השרשור של Python מאפשר ביצוע בו-זמנית של מספר שרשורים בתוך תהליך בודד, מה שמועיל לפעילויות הקשורות ל-I/O.

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

    מודול ה-asyncio תומך ב-I/O אסינכרוני ומאפשר יצירת קוד בו-זמני עם חוט יחיד תוך שימוש ב-coroutines עבור יישומי רשת בעלי קצב גבוה.

    עם ספריות כמו Dask, PySpark , ו-MPI, Python עשוי לשמש גם עבור מחשוב מקביל. ספריות אלו מאפשרות לפזר עומסי עבודה על פני מספר צמתים או אשכולות לביצועים טובים יותר.

    גריטת אינטרנט באמצעות Python

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

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

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

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

    עיבוד שפה טבעית (NLP) באמצעות Python

    ענף של בינה מלאכותית (AI) הנקרא 'עיבוד שפה טבעית' (NLP) חוקר כיצד מחשבים ושפה אנושית מתקשרים. הודות ל-NLP, מחשבים יכולים כעת להבין, לפרש ולייצר שפה אנושית. בשל הפשטות, הרבגוניות והספריות החזקות שלה כמו NLTK (Natural Language Toolkit) ו- spaCy, Python היא שפת תכנות ידועה עבור NLP.

    עבור משימות NLP, לרבות טוקניזציה, הסכמה, הלמטיזציה, תיוג חלקי דיבור, זיהוי ישויות בשם, ניתוח סנטימנטים ואחרים, NLTK מספקת ספרייה מלאה. יש לו מגוון של קורפוסים (אוספי טקסט גדולים ומאורגנים) לפיתוח והערכת מודלים של NLP. ספרייה אהובה נוספת למשימות NLP היא spaCy , המציעה עיבוד מהיר ויעיל של כמויות עצומות של טקסט. הוא מאפשר שינוי והרחבה פשוטים ומגיע עם מודלים מאומנים מראש לעומסי עבודה שונים של NLP.

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

    Python הוא כלי חזק ושימושי בעת ניתוח ועיבוד שפה אנושית. מפתחים עשויים לבצע פעילויות NLP שונות וליצור אפליקציות שימושיות שיכולות לתקשר עם צרכנים בשפה טבעית עם ספריות כמו NLTK ו- spaCy.

    סיכום:

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

    אריאן חאן

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

    תְנַאִי מוּקדָם

    לפני לימוד Python, עליך להיות בעל ידע בסיסי במושגי תכנות.

    קהל

    המדריך שלנו לפייתון נועד לעזור למתחילים ולמקצוענים.

    בְּעָיָה

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