נושא
פונקציות ומתודות מוכנות
כל מה שקיים כבר בשפה, ואיפה מחפשים עוד.
פונקציה מול מתודה
| פונקציה | מתודה | |
|---|---|---|
| צורה | שם(פרמטרים) |
אובייקט.שם(פרמטרים) |
| דוגמה | len(x), math.sqrt(9) |
"abc".upper(), lst.append(4) |
| שייכת ל | עומדת בפני עצמה, או בתוך ספרייה | טיפוס מסוים |
הנקודה מטעה. ב-math.sqrt היא אומרת "מתוך הספרייה math".
ב-"abc".upper() היא אומרת "המתודה של המחרוזת הזו".
פונקציות
| מה עושה | דוגמה | תוצאה | |
|---|---|---|---|
print |
מדפיס | print("a", 1) |
a 1 |
input |
קולט. מחזיר מחרוזת | input("? ") |
מה שהוקלד |
type |
הטיפוס | type(2) |
<class 'int'> |
int, float, str, bool |
הסבה | int("5") |
5 |
list, tuple, dict |
יצירה או הסבה | list("ab") |
['a', 'b'] |
len |
אורך | len([1, 2]) |
2 |
max, sum |
הגדול, הסכום | sum([1, 2]) |
3 |
sorted |
רשימה חדשה ממוינת | sorted([2, 1]) |
[1, 2] |
range |
סדרת מספרים | list(range(3)) |
[0, 1, 2] |
math.sqrt |
שורש. מחזיר float |
math.sqrt(9) |
3.0 |
help, dir |
עזרה, רשימת מתודות | dir(str) |
רשימה |
מתודות
| טיפוס | מתודה | מה עושה | משנה את המקור? |
|---|---|---|---|
| מחרוזת | upper() |
אותיות גדולות | לא, מחזירה חדשה |
| מחרוזת | zfill(n) |
אפסים משמאל | לא, מחזירה חדשה |
| רשימה | append(x) |
מוסיפה בסוף | כן, מחזירה None |
| רשימה | remove(x) |
מוחקת מופע ראשון | כן |
| רשימה | count(x) |
כמה פעמים | לא |
| רשימה | sort() |
ממיינת | כן, מחזירה None |
| מילון | pop(k) |
מוחקת ומחזירה ערך | כן |
| מילון | keys(), values(), items() |
מפתחות, ערכים, זוגות | לא |
העמודה האחרונה היא מה שבודקים במבחנים. מתודות של מחרוזת לא יכולות
לשנות אותה, כי מחרוזת היא immutable. מתודות של רשימה ומילון כן, והן
בדרך כלל מחזירות None.
>>> s = "hi"
>>> s.upper()
'HI'
>>> s
'hi'
>>> lst = [2, 1]
>>> print(lst.sort())
None
>>> lst
[1, 2]
פרמטרים אופציונליים
חלק מהפונקציות מקבלות פרמטרים שלא חייבים לשלוח:
>>> sorted(["moon", "asteroid", "galaxy"], key=len)
['moon', 'galaxy', 'asteroid']
>>> print("a", "b", end="!\n")
a b!
מה כל פונקציה מקבלת: help(sorted), או התיעוד של פייתון.
איפה מחפשים
help(): ממשק עזרה. רווח מדפדף,qיוצאhelp(sorted): ישר לפונקציה, וגם לפונקציות שכתבתם, אם יש להן docstringdir(list): כל המתודות של רשימה- אינטרנט: רק תיעוד של פייתון 3
בדיקה עצמית
- מה יחזיר
"42".zfill(6)? - מה יודפס:
x = [3, 1],y = x.sort(),print(y)? - מה ההבדל בין
sorted(lst)לביןlst.sort()? - מה התוצאה של
len({"a": 1, "b": 2})?
תשובות. 1: '000042'. 2: None. 3: sorted מחזירה רשימה חדשה
ולא נוגעת במקור. sort משנה את המקור ומחזירה None. 4: 2, מספר
הזוגות.