תוכנית ראשונה בפייתון

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

1. השפה וסביבת העבודה

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

2. תוכנית פייתון ראשונה שלי

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

name = input("Hello. Please type in your name: ")
print(f"Welcome {name}, Nice to meet you")

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

python hello.py

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

3. תוכנית פייתון שניה שלי

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

import requests
from bs4 import BeautifulSoup

url = 'https://www.ynet.co.il/news/category/184'
r = requests.get(url)
soup = BeautifulSoup(r.text)

for link in soup.select('.title'):
    print(link.text)

התוכנית משתמשת בשני מודולים מהאינטרנט, האחד נקרא Beautiful Soup והשני נקרא requests. נתקין את שניהם דרך PyCharm או משורת הפקודה באמצעות:

pip install requests beautifulsoup4

ולאחר מכן הפעילו את התוכנית כדי לראות את הכותרות הראשיות מאתר ynet על המסך שלכם.

בקצרה על התוכנית-

  1. השורות הראשונות אומרות ל Python שאנחנו רוצים להשתמש במודולים חיצוניים. לפייתון יש מאגר חבילות עצום עם הרבה מאוד קוד חיצוני ותשתית טובה לשיתוף קוד בין פרויקטים.

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

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

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


מאז הקלטת הסרטון אתר ynet קצת השתנה. התוכנית המעודכנת שעובדת על האתר היום היא:

 

import requests
from bs4 import BeautifulSoup

url = 'https://www.ynet.co.il/news/category/184'
r = requests.get(url)
soup = BeautifulSoup(r.text, features='html.parser')
for title in soup.select('div.title'):
    print(title.text)