היי,
מנסה להבין אם יש עדיפות או כללי נימוס לגבי יצירה של משתנה לצורך ביצוע של חישוב והחזרת ערך המשתנה.
לדוגמא שתי האפשריות הללו להגדלת כל האיברים ברשימה
# פונקציה עם משתנה
def stam(my_list):
new_list = x + 1 for x in my_list
return new_list
# פונקציה ללא משתנה
def stam(my_list):
return x + 1 for x in my_list
aviadamar
דעתי האישית (אני לא מהתחום) היא שככמה שהביטוי נהיה מורכב יותר וארוך יותר עדיף להשים אותו למשתנה
ואז להחזיר אותו. כי שורה ארוכה בreturn יכולה לפעמים לגרום לזה להיות ממש לא ברור. אבל אם זה פעולות יחסית קצרות אין סיבה שלא.
נראה בשמקרה הזה לא כזה נורא להחזיר את זה בreturn אבל הכל פה קצר אם הלולאה הזו תהיה עם שמות משתנים
שהם לא X זה כבר יכול להראות מסורבל.
לייק 1
zurikarat
התחביר השני שלך חוקי?
כאילו שניהם, אם אתה רוצה list comprehension צריך לשים סוגריים מרובעים, לא?
aviadamar
נראה לי השאלה פה היא באופן כללי לא על תקינות הקוד הזה
ofirp
סתם קשקשתי דוגמא בלי לשים לב לתחביר
לייק 1
ido
זה בעיקר עניין של טעם וריח.
אישית, אני מתחבר למה שאביעד אומר, וכותב את הקוד שלי לפי החשיבה הבאה:
נניח כי תמיד נכתוב שם אינדיקטיבי לפונקציה ותיעוד בהתאם - אכתוב בשורה אחת במידה ואני מאמין שקורא חדש שבחיים לא ראה את הקוד יבין מה הוא עושה.
אם הבנתי כי הקוד לא מספיק קריא (לקח יותר מדי זמן לבחירת שם הפונקציה/תיעוד/קוד מסובך) זה ככה"נ אומר כי הקוד עצמו יהיה ברור יותר על גבי מספר שורות ועושה את ההתאמות.
לצורך העניין, אני לא חושב שאי פעם יצא לי לכתוב קוד שמקבל למשתנה וישר מחזיר אותו (במצב זה שם הפונקציה אמורה להיות סופר ברורה והתיעוד יוסיף לכך)