top of page

רעננו את הדף והקליקו למעבר לנושא הבא:

הספריה operator

הספריה operator מאפשרת שורה של פונקציות המקבילות לאופרטורים ההשוואתיים והאחראים לפעולות המתמטיות, המובנים בפייתון (כמו שווה, גדול, קטן, לא שווה, גדול שווה, כפל, חילוק, חיבור וכו'). נניח שיש לנו רשימה של המספרים 0 עד 9 ואנו רוצים לבחון מי מהם גדול מ- 5, במקום לרשום פונקציה שתערוך את הבדיקה אנו יכולים להשתמש במתודות של הספריה operator – המתודות הללו בעצם משוות עבורנו אלמנטים שונים, למשל ברשימה, או באובייקט איטרבילי אחר ויכולות להחזיר ערכים בוליאנים. הנה דוגמא –

import operator lista=[i for i in range(10)] for item in lista: print(operator.gt(5,item))

operator.gt משווה עבור אילו איברים ברשימה המספר חמש גדול יותר (greater than)

התוצאה המתקבלת מהפונקציה שלנו היא בוליאנית –

True

True

True

True

True

False

False

False

False

False

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

באותו אופן יש אפשרויות נוספות המקבילות לאופרטורים המובנים האחרים בפייתון, למשל operator.lt(x,y) מקביל ל- x<y

operator.eq(x,y) מקביל ל- x==y ואנו יכולים לקבל ערך בוליאני מתאים כאשר עורכים את ההשוואה הזאת. ניתן לצרף גם את הסיומות הבאות ל- operator -

le מקביל ל- x<=y

ne מקבילי ל- y != x

ge מקביל ל- x>=y

ניתן להשמש בספריה שלא למטרות השווה, למשל במקום פונקציה לכפל – באופן הבא –

import operator lista=[i for i in range(5)] for item in lista: m=operator.mul(item,10) print(m)

>>>

0

10

20

30

40

operator.add לחיבור

operator.mod לקבל שארית כמו במודולו %

operator.div לקבל מנה מפעולת חילוק

operator.pow לפעולת חזקה

ועוד (פעולות המקבילות למה שקיים באופן מובנה בפייתון).

אנו יכולים להפוך, כמו בתוכנית הבאה, את כל המספרים לנגניטיב שלהם –

import operator lista=[i for i in range(-2,2)] for item in lista: print(operator.neg(item))

>>>

2

1

0

-1

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

import operator list1=[2,4,6] list2=[1,2,3] maping=map(operator.mul,list1,list2) print(list(maping))

>>>

[2, 8, 18]

Related Posts

See All

re-ספריה לחיפוש בטקסט

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

Single Post: Blog_Single_Post_Widget
bottom of page