הפקולטה לפיזיקה, הטכניון. חורף 2013
מרצה: רונן אברבנאל
http://ronenabr.github.io/python_for_physicsits/
## מקורות מידע נוספים
אז, אתם צריכים לעשות משהו שאולי עדיף לעשות על ידי מחשב: לכתוב סימולציה, לעבד תוצאות ניסוי, או לצייר פונקציה. בשביל אילו מהדברים האלו עדיף להשתמש בפייתון, ומתי כדאי להשתמש בסביבות עבודה / שפות אחרות.
כמו "מתמטיקה" או "מייפל".
מוצלחות במיוחד למניפולציות סימבוליות על ביטויים מתמטיים, ולרוב גם לא רעות בויזואלזיציה ("ציור" של פונקציות מורכבות). לרוב מסובכות ומעצבנות למדי כשפונים ל"תכנות" אמיתי.
למרות שלפייתון יש יכולות לא מועטות של CAS (ואף מערכת CAS מלאה הכתובה בפייתון בשם Sage), אנחנו לא נדבר יכולות של CAS בסדנה זו.
כמו C, C++ או פורטרן
הייתרון העיקרי שלהן הן שהן מהירות למדי (זמן ההרצה שלהן, אם התוכנה כתובה היטב, קצר בהרבה בהרבה מקרים בתוכניות שכתובות ב"סוגים" אחרים של שפות).
כמו כן, יש המון ספריות וכלים שעוזרים לעשות מדע .
הבעיה היא שזמן הפיתוח בשפות אלו ארוך בהרבה מאשר בקטגוריות האחרון, קשה יותר להמנע מבעיות חמורות בכתיבת הקוד והן קשות יותר ללמידה.
שפה אינטראקטיבית פשוטה ללמידה ולשימוש עם המון כלים (toolbox) נוחים לשימוש למדענים ומהנדסים. ספריות מתמטיות מהירות למדי. היא נפוצה למדי ועם בסיס ידע רחב.
מצד שני, היא לא כל כך מוצלחת בתור שפה לשימוש כללי. ולמי מכם שזה מטריד אותו, מטלב עצמה, וחלק ניכר מהכלים שבאים איתה, יקרים למדי.
בראש ובראשונה - שפת סקריפט לשימוש כללי. קלה לשימוש ולמידה , ועם מפענח אינטראקטיבי. בנוסף לכך, לפייתון יש המום כלים וספריות ("תוספות לשפה") שמקלות מאוד על פיתוח לצרכים מדעיים. הן ספריות כלליות לאלגברה לינארית, חישובים סטטיסטיים, עיבוד נתונים, ויזאוליזציה וכיו"ב, והן כלים ספציפיים לתחומים צרים (astropy, pyroot, pyalps לאסטרופיזיקה, חלקיקים ומצב מוצק, לדוגמה) .
חוץ מזה, פייתון היא שפה חופשית, וכך גם חלק ניכר מהספריות והכלים הנוספים הקשורים אליה. היא מכילה אינספור ספריות וכלים. בפרט, היא שפה לא רעה גם עבור פרויקטים גדולים מאוד.
למרות זאת, בתחומים שונים, לסביבות אחרות יש כלים מקיפים יותר. לפעמים, זו סיבה מספיקה.
מבצע פקודות המוזנות אליו בזו אחר זו.
המפרש ה"בסיסי" של פייתון לא מאוד נוח לשימוש. בסדנא זו, נשתמש במגוון עטיפות למפרש שיקלו את השימוש בו.
print "hello nice world"
a = 3
b = 2*a
type(b)
print b
a*b
print a*b
b + b
b*b
b = 'hello'
type(b)
כדי להריץ תוכנית שלמה באמצעות המפענח:
python code.py (linux)
pythonw code.py (windows)