שליטה בטכניקות מתקדמות של פייתון יכולה לשדרג ולהזניק את הקריירה שלכם לגבהים חדשים.
במאמר זה אספנו מספר טיפים מתקדמים שיכולים לסייע לכם בשלב התחלתי.
את הכלים והטכניקות עליהן נדבר בהמשך ניתן ללמוד בקורס פייתון למתקדמים שלנו, אשר נבנה במיוחד עבור קהל מפתחי הפייתון ונועד להביא אותם לרמה חדשה בעשייה היום-יומית שלכם. קורס הפייתון המעמיק שלנו הוא בונה הבנה עמוקה במגוון רחב של טכניקות מתקדמים ויישומים בפייתון, וכולל תרגול נרחב בכיתה ובבית כדי להטמיע את הידע.
אנחנו מאמינים שכמי שנמצא כבר בתחום, אתם צריכים מדריך פייתון מקצועי ומנוסה, שיוכל לקחת אתכם לשלב הבא ולא יבזבז לכם את הזמן על מודולים בסיסיים מדי לרמתכם. ולמה אנחנו מתכוונים כשאנחנו אומרים מדריך פייתון?
אנחנו מתכוונים גם לאנשי ההדרכה, שבנאיה קולג’ הם אנשי נתונים העובדים בתעשיה ומכירים לעומק את הצרכים שלה ואת המענה שפייתון יכול לתת בכל שלב,
וגם למדריך פייתון בהיבט חומרי ההדרכה הנגישים לכם במהלך הקורס, בהקלטות, בחוברות ובאתר הקורס.
כתבו קוד בטוח יותר, קריא יותר והרבה יותר “פייתוני”
ברגע שמדובר בקוד בן עשרות אלפי שורות, עליו עובדים כמה מהנדסים במקביל, חשוב מאד שהוא יהיה קריא ומובן, על מנת שעבודת המהנדסים תצליח. שליטה בטכניקות מתקדמות תאפשר לכתוב קוד ברור ותמציתי, תקל על עבודת הצוות וגם תרשים מאד את הקולגות שלכם (-:.
- Type-safe python with mypy – Learn how to write and generate type-annotations for your code, and statically test them with mypy. Dropbox with its’ 4m lines of python, and Guido van Rossum BFDL both swear by it!
- Eliminate loops and indexes – Learn every trick in the book to write less loop and indexing code, replacing them with succinct list comprehensions, reduce functions, tuple unpacking, zip, enumerate, slicing, generators and cofunctions. Beautiful is better than ugly!
- Reduce boilerplate code with @decorators – Learn how to decorators can increase your productivity and readability. Understand how decorators work under the hood, use the key decorators in the standard library and write your own.
צפו בקטע משיעור כתיבת קוד ב-Python שמעביר דרור גבע, מדריך במסלול Practical Data Science
כתבו תהליכי בדיקות ו- deployments תמציתיים
התוכנה של היום משתנה כל כך מהר שכתיבת בדיקות לתוכנה הפכה לגורם עיקרי כדי להתקדם ולהשתדרג מהר יותר מצד אחד, מאידך לשמור על מתודולוגיה תקינה ויעילה. שליטה טובה בכתיבת טסטים תאפשר לכם להקדיש פחות זמן ל-debugging, ותעזור לכם להשיק מוצרים טובים יותר לעיתים קרובות יותר.
- Pytest – Learn how to write short, expressive and succinct tests with high coverage and minimal effort.
- Unitest.mocks – Learn how to test your logic and nothing else, use mock objects to test in a controlled environment and remove complexities such external systems or services.
- Hypothesis – Learn how automatically to generate sample data, fuzz test your code for key invariants, and easily create regression tests.
- Manage package dependencies with pipenv – Learn how virtualenv can make sure you have consistent runtime environments, and how pipenv neatly solves streamlines common virtualenv workflows and avoids dependency pitfalls.
האם ה-classes עושים לכם חיים קשים? או להיפך מקלים עליכם?
פייתון היא אחת משפות ה-OO הנפוצות ביותר כיום. אך באופן מפתיע כתיבת קוד עם שימוש ב- class יכולה לעיתים להיות לא הכרחית ולא פרודוקטיבית. מצד שני, כאשר class כן נחוץ, לפייתון יש מערך כלים עשיר וגמיש להפליא שאולי מפתחים רבים לא מכירים אותם. השליטה בהם תאפשר לכם לכתוב ממשקי API ומודולים OO חזקים מאוד.
- Containers, iterables, indexing – Learn how to write new container classes that can take complicated access patterns and make them as easy to access as a list or a dict.
- Magic methods galore – Learn how to make your objects sortable, hashable, persistent, printable, and how to interface with other python objects in the most delightful way.
- Demystifying inheritance and polymorphism – Learn how inheritance works in python and when to use or avoid it, what protocols are and how to use and enforce them, how polymorphism works and how you don’t need inheritance for it to work.
התחילו לחשוב במונחים פונקציונליים
מושגי תכנות פונקציונליים כמו מפה, צמצום, lambda, closures ופונקציות הם כבר לא רק “צעצועים לאקדמיה”, אלא כלים מרכזיים בכל תהליך פיתוח החל מ- Big Data, מחשוב ענן, Data Science ו- Machine Learning. שליטה בכתיבת קוד גמיש, תמציתי ונוח לביצוע טסטים ואוטומציה, עובדת היטב בעולמות הטכנולוגיים החדשניים כגון אלה שצויינו למעלה.
- Connect the dots – Learn how and why functional language idioms made their way into mainstream languages such as python, C#, Java, Scala and are becoming so important. What problems they solve, and how they relate to key Big Data concepts such as MapReduce.
- Lazy lists and generators – Learn how to work with lists, files or workloads that are too large to fit into memory. Understand how map and filter relate to list comprehensions, and how to write generator expressions.
- Closures and lambdas – Learn how functions are objects and how objects can be functions, how to increase reusability by factoring your code into access algorithms and logic, implement common design patterns with a simple function.