Skip to content

שליף עברית

KamiTzayig edited this page Oct 24, 2022 · 24 revisions

שליף קורס פיית׳ון מעגן מיכאל

בסיס

פלט

צורת הבסיס

print()

דוגמה

print("Hello World!") => Hello World!

הסבר

שליחת הפלט הרצוי למסוף.

קלט

צורת הבסיס

input()

דוגמה

input("Enter your name: ") => Enter your name: _ (בהמתנה לקלט מהמשתמש)

הסבר

מאפשר קבלת קלט מהמסוף לשלל פעולות.

המרה

צורת הבסיס

int() / str() / float()

דוגמה

int("1") => 1
str(1) => "1"
float(1) => 1.0

הסבר

המרה ממחרוזת למספר שלם, מספר שלם/שבר עשרוני למחרוזת או מספר שלם לשבר עשרוני.

מחרוזות

חיתוך

צורת הבסיס

"string"[START:END:STEP]

דוגמאות

"ABCD"[1:3] => BC
"ABCDEFG"[1:-3] => BCD
"ABCDEFGHIJKLM"[:4:-1] => MLKJIHGF

הסבר

מגוון טכניקות לחיתוך מחרוזות. עובד גם על רשימות, tuples, sets

‏‎[START::]‏ מציינת את מיקום ההתחלה למצביע, ערכים שליליים נספרים מהסוף.
‏‎[:END:]‏ מציינת את מיקום הסוף למצביע, ערכים שליליים נספרים מהסוף.
‏‎[::STEP]‏ מייצגת את מספר המקומות לצעד, מספרים שליליים הופכים את הסדר.

אורך מחרוזת

צורת הבסיס

len()

דוגמה

len("hello") => 5
len("Hello World") => 11

הסבר

סופר את כמות התווים שיש במחרוזת ומחזיר את העורך כמספר.

שינוי אותיות קטנות/גדולות

צורת הבסיס

"string".upper() / "string".lower()

דוגמאות

"Python Course".upper() => PYTHON COURSE
"Python Course".lower() => python course
"wEIRD Case"[0].upper() + "wEIRD Case"[1:].lower() => Weird case

הסבר

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

ספירה בתוך מחרוזת

צורת הבסיס

"string".count("")

דוגמאות

"Hello World!".count("!") => 1
"This is an example".count("is") => 2
"wEIrD CAse StrING".lower().count("s") => 2 #שרשור של פונקציות לחיפוש תת־מחרוזת בתוך מחרוזת עם אותיות גדולות וקטנות

הסבר

ספירת תת־מחרוזות בתוך מחרוזת נוספת.

מתודות אחרות של מחרוזות

מתודות של מחרוזות

תנאים

ערך בוליאני

צורת הבסיס

False / True

דוגמאות

number1 > / < / >= / <= / == / != number2
item in list / string
item not in list / string
True and False == False
True and True == True
True or False == True

הסבר

לערך בוליאני יש 2 מצבים, אמת או שקר. בעזרתם אפשר ליצור תנאים.

תנאים

צורת הבסיס

if bool:
    option1
elif bool:
    option2
else:
    default_option

דוגמה

# condition1/condition2 are Boolean

if condition1:
    this will run only if condition1 is True
elif condition2:
    this will run only if condition1 is False AND condition2 is True
else:
    this will run if only if condition1 AND condition2 are False

הסבר

תנאים מאפשרים לבחור אילו קטעי קוד יופעלו בתנאים מסוימים.

רשימות

הוספת/הסרת אובייקט מרשימה

צורת הבסיס

list.append() / list.pop()

דוגמאות

ls = ["Tony", "Ana", "Dan", "Dvora"]
ls.append("Hanna")
print(ls)

["Tony", "Ana", "Dan", "Dvora", "Hanna"]

ls = ["Tony", "Ana", "Dan", "Dvora"]
index = ls.index("Ana")
ls.pop(index)
print(ls)

["Tony", "Dan", "Dvora"]

הסבר

המתודה append(object). מוסיפה את האובייקט שהוכנס לסוף הרשימה כמו שרואים בדוגמה.
המתודה pop(int). מסירה את האובייקט שנמצא במיקום שהוכנס, אפשר להשתמש ב־‎index()‎. כדי להסיר אובייקט ספציפי מהרשימה.
חשוב לזכור שיש להכניס רק מספרים שלמים וחיוביים (int).

סידור רשימה

צורת הבסיס

list.sort() / sorted(list)

דוגמאות

ls = [4,2,5,1,3]
ls.sort()
print(ls)

[5,4,3,2,1]

ls = [4,2,5,1,3]
ls2 = sorted(ls)
print(ls2)
print(ls)

[5,4,3,2,1]
[4,2,5,1,3]

הסבר

סידור הרשימה. ניתן להשתמש ב־‎sort()‎ נועד למצבים בהן אין צורך בסדר המקורי של הרשימה.
אם יש צורך, יש להשתמש ב־‎sorted()‎ ושימו את הרשימה המסודרת שנוצרה במשתנה חדש

ערך מינימלי/מקסימלי וסכום הערכים ברשימה

צורת הבסיס

sum(list) / min(list) / max(list)

דוגמאות

ls = [13,4,2,51,-1,3]
max_number = max(ls)
min_number = min(ls)
sum_of_list = sum(ls)
print(max_number)
print(min_number)
print(sum_of_list)

51
-1
72

הסבר

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

מתודות אחרות של רשימות

מותודות של רשימות

לולאות

לולאת while

צורת הבסיס

while <boolean condition> :  
    <code>

דוגמאות

i = 0 
while i < 5:  
    print(i)
    i += 1

0
1
2
3
4

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

לולאת for

צורת הבסיס

for variable in iterable :  
    <code>

דוגמאות

ls = [1,2,"Tom", 5]
for i in ls:  
    print(i)

1
2
Tom
5

for i in range(5):  
    print(i)

0
1
2
3
4

הסבר
בלולאות for מוטב להשתמש כאשר מספר החזרות ידוע לפני שנכנסים ללולאה. למשל, הדפסת שמות כל
הילדים ברשימה. אפשר לציין טווח (START, END, STEP).

טווח - ‎range()

צורת הבסיס

range(START, END, STEP)

דוגמאות

for i in range(5,10):  
    print(i)

5
6
7
8
9

for i in range(5,0,-1):  
    print(i)

5
4
3
2
1

הסבר
הפונקציה ‎range()‎ בדרך כלל משמשת ליצור עצם ספיר (בדומה לרשימה) עם מספרים.
START => באיזה מספר להתחיל את הערך הספיר.
END => באיזה מספר לעצור את הספירה (נעצר מספר אחד לפני END, למשל: range(1,5) עוצר ב־4).
STEP => ציון ערך ההגדלה, ברירת המחדל היא 1.

מילון

dict

צורת הבסיס

{"key":"value"}

דוגמה

fruits = {"Apple": 5,
"Orange": 4}

print(fruits['Apple'])

הסבר
dict בדרך כלל מורכב ממספר יחסי מפתח-ערך כאשר החלק הראשון (השמאלי) מייצג את המפתח בעוד החלק האחרון (הימני)
מייצג את הערך, ניתן לייצג מספר פריטים כל עוד הם מופרדים בפסיקים, עבור integer/float/double/boolean אין צורך
במירכאות.
מוטב לזכור שזאת הצורה הבסיסית בלבד.

dict מקונן

צורת בסיס

{"key":
    {"key":"value"}
}

דוגמאות

movies = {"Titanic": 
    {"Release Date": 1997,
    "Actors": ["Leonardo DiCaprio", "Kate Winslet"],
    "Watched": False},
"Forest Gump":
    {"Release Date": 1994,
    "Actors": ["Tom Hanks", "Robin Wright"],
    "Watched": True}}

print(movies["Forest Gump"]["Release Date"]) # Print the year Forest Gump was released
print(movies["Titanic"]["Actors"][1]) # Print the second actor (or actress) from the movie

1994
Kate Winslet

print(movies.keys())

dict_keys(['Titanic', 'Forest Gump'])

print(movies.values())

dict_values([{'Release Date': '1997', 'Actors': ['Leonardo DiCaprio', 'Kate Winslet']}, {'Release Date': '1994', 'Actors': ['Tom Hanks', 'Robin Wright']}])

print(movies.items())

dict_items([('Titanic', {'Release Date': '1997', 'Actors': ['Leonardo DiCaprio', 'Kate Winslet']}), ('Forest Gump', {'Release Date': '1994', 'Actors': ['Tom Hanks', 'Robin Wright']})])

for movie in movies:
    print(movie, "was released in", movies[movie]["Release Date"])

Titanic was released in 1997
Forest Gump was released in 1994

for key, value in movies.items():
    if value["Watched"]:
        print(f"You watched {key}")

You watched Forest Gump

removed = movies.pop("Titanic")
print(f"You removed the the object with these values: %s" % removed)
print(movies)

You removed the the object with these values: {'Release Date': '1997', 'Actors': ['Leonardo DiCaprio', 'Kate Winslet'], 'Watched': True}
{'Forest Gump': {'Release Date': '1994', 'Actors': ['Tom Hanks', 'Robin Wright'], 'Watched': True}}

הסבר
dict מקונן מאפשר לקנן כמה פריטים (ממגוון סוגים) כערך למפתח מסוים, הדוגמה הבאה מציגה כיצד ליצור רשימת סרטים עם
מגוון פרטים על כל סרט עם אפשרות לבקש ערך מסוים מתוך הפרטים שסופקו.
keys()‎ - הדפסת אוביקט תצוגה של המפתחות (שמות הסרטים הזמינים).
values()‎ - הדפסת אוביקט תצוגה של הערכים (כל הפרטים על הסרט ללא השם).
items()‎ - הדפסת אוביקט תצוגה של כל פריטי המילון בטאפלים (מפתח, ערך).
שתי הדוגמאות האחרונות שלפני pop עוסקות בלולאות על פני מילונים לצורך הצגת תוצאות מסוימות, הלולאה הראשונה תציג את תאריך היציאה
לאקרנים לפי הנתונים שבמילון תוך פענוח המילון עצמו, בעוד שהדוגמה השנייה מתייחסת לאוביקטים שבמילונים כטאפלים עם שני פריטים שנפרסים
לשני משתנים.
pop()‎ - מסירה ומחזירה רכיב מהמילון שנושא את המפתח הנתון.

קבצים

קריאה

צורת בסיס

with open('somefile.txt') as f:
    lines = f.readlines()

הסבר
השורות שנקראות מהקובץ somefile.txt תתווספנה למשתנה f כרשימה של מחרוזות, הדרך הקלה ביותר להתמודד עם הרשימה
הזאת היא להשתמש בסוג כלשהו של לולאה (while/for).

כתיבה

צורת בסיס

lines = ['Hello', 'World']
with open('somefile.txt', 'w') as f:
    for line in lines:
        f.write(line)
        f.write('\n')

דוגמה

lines = ['Titanic', 'Forest Gump']
with open('movies.txt', 'w') as f:
    for line in lines:
        f.write(line)
        f.write('\n')

הסבר
השורות מהמשתנה lines נכתבות אל הקובץ movies.txt שמיוצג על ידי המשתנה f כך שהמתודה ‎write()‎ פועלת למעשה
על f ו־\n מתווסף לאחר כל שורה.

בקשרות

משיכת נתונים

צורת בסיס

אזהרה מודול requests עשוי שלא להיות חלק מחבילת הבסיס של Python וידרוש התקנה דרך pip

import requests

print(requests.get('https://w3schools.com/python/demopage.htm').text)

דוגמה

import requests


def print_israel_uni(api):
     result=requests.get(url=api,verify=False)
     data=result.json()
     names=data
     for n in names:
          print(n['name']) 
 

api='http://universities.hipolabs.com/search?country=Israel'
print_israel_uni(api)

הסבר
המודול requests מאפשר למשוך מידע משירותי HTTP(S) כגון REST APIs ודפי HTML.