چیزی برای بازگشت به اینجا نیست در پایتون
پایتون یک عبارت بازگشت ضمنی None را به انتهای هر یک اضافه می کند تابع. بنابراین، اگر تابعی مقدار بازگشتی را مشخص نکند، به طور پیشفرض None را تبدیل میکند. این به این معنی است که شما می توانید عبارات return None را با bare جایگزین کنید اظهارات را برگردانید یا حتی آنها را کاملاً کنار بگذارید و همچنان دریافت کنید همان نتیجه:if value: def foo1(value): return value return None def foo2(value): else: “””Bare return statement implies `return None`””” return value else: if value: return “””Missing return statement implies `return None`””” if value: def foo3(value): return valueهر سه تابع به درستی None را برمیگردانند اگر مقدار نادرستی به آنها ارسال کنید به عنوان تنها استدلال:<class ‘NoneType’> >>> type(foo1(0)) >>> type(foo2(0)) <class ‘NoneType’><class ‘NoneType’>حال، چه زمانی استفاده از این ویژگی در پایتون خود ایده خوبی است کد؟ >>> type(foo3(0)) قانون کلی من این است که اگر یک تابع مقدار بازگشتی نداشته باشد (سایر زبان ها این را یک رویه می نامند)، سپس من بازگشت را کنار می گذارم بیانیه. اضافه کردن یک مورد فقط اضافی و گیج کننده خواهد بود. یک که فقط به خاطر عوارض آن (چاپ متن) خوانده می شود و هرگز برای آن ارزش بازگشتی مثال برای یک رویه، تابع چاپ داخلی پایتون است بیایید تابعی مانند مجموع داخلی پایتون بگیریم. این به وضوح دارای یک مقدار بازگشتی منطقی است و معمولاً مبلغ فقط برای عوارض جانبی آن فراخوانی نمی شود. هدف آن این است که دنباله ای از اعداد را با هم جمع کنیم و سپس نتیجه را ارائه دهد. حال، اگر تابعی دارای مقدار بازگشتی از a باشد از دیدگاه منطقی، پس باید تصمیم بگیرید که آیا از بازگشت ضمنی استفاده کنید یا خیر. از یک طرف، شما می توانید استدلال کنید که حذف یک بازگشت صریح بخوانید و بفهمید از نظر ذهنی، ممکن است بگویید که باعث می شود کد “زیباتر” هیچ عبارت کد را مختصر تر و در نتیجه آسان تر نمی کند از سوی دیگر، ممکن است برخی از برنامه نویسان پایتون را شگفت زده کند اینگونه رفتار می کند وقتی صحبت از نوشتن تمیز و قابل نگهداری می شود به عنوان مثال، من از یک “گزاره بازگشت ضمنی” در یکی از آنها استفاده کرده ام نمونه کد در ویرایش قبلی کتاب. من اشاره نکردم کد، رفتار غافلگیر کننده به ندرت نشانه خوبی است. کاری که من انجام میدادم – فقط یک نمونه کد کوتاه خوب برای توضیح میخواستم یک ویژگی دیگر در پایتوندر نهایت من شروع به دریافت یک جریان ثابت از ایمیل هایی کردم که به من اشاره می کردند رفتار بازگشت به وضوح برای همه آشکار نبود و در این مورد باعث حواس پرتی بود. یک یادداشت اضافه کردم تا مشخص شود چه اتفاقی می افتد روشن شد و ایمیل ها متوقف شدند. “عبارت بازگشت گمشده” در آن مثال کد. ضمنی پایتون به عنوان هر کسی. و همچنین قبلاً به شدت احساس می کردم که برنامه نویسان باید ریزه کاری های زبانی که با آن کار می کنند را می دانند. اشتباه نکنید – من عاشق نوشتن کدهای تمیز و “زیبا” هستم اما هنگامی که شما تأثیر تعمیر و نگهداری حتی چنین ساده را در نظر بگیرید با سوء تفاهم، ممکن است منطقی باشد که بیشتر به سمت نوشتن متمایل شوید کد صریح و واضح پس از همه، کد ارتباط است.
قوانین ارسال دیدگاه در سایت