Comprehension در پایتون

سلام دوستان خوب هستین؟
ببخشید من یه سوال کوچیک داشتم.
میگم که بسیاری از دوستان تو این انجمن به سادگی در کد تاکید دارن . (برای مثال اقا توماج عزیز) و من هم متقاعد شدم که باید همینطور باشه
میگم حالا این بحث کامپرهنشن تو پایتون که یه جورایی خلاصه نویسی هست . من توش گیر کردم یعنی اگر مبنای خودمونو بر سادگی کد بزاریم درسته که کد با این روش ساده میشه ولی برای من کد عجیب میشه و درک ان سخت میشه . حتی در کوچترین خلاصه نویسی … مثلا در print یه for بزنیم.
ایا باید تمرین زیاد کنم تا این مبحث برام جا بیفته یا به کل استفاده نکنم ؟
اگه وقت داشتین یه توضیحی بدین ممنون میشم .:rose:

1 Likes

خلاصه نویسی با ساده بودن فرق داره و نباید این دو رو اشتباه کنی. بهترین کاری که میشه کرد اینه که یه تاک در موردش ببینی. این تاک از ریچ هیکی رو در این مورد خیلی می پسندم:

3 Likes

البته فکر میکنم منظور شما List Comprehension باشه و اصلا محدود به پایتون نیست، بله یکمی در نگاه اول جادویی بنظر میرسه، اما واقعا سخت نیست همونطور که سمیر گفتند خلاصه نویسی هست.

اگر من بخوام این موضوع رو جوری درک کنم که همه جا بدردم بخوره از زاویه Haskell بهش نگاه میکنم و کمک زیادی میکنه که در پایتون هم بیشتر درکش کنیم

http://learnyouahaskell.com/starting-out

2 Likes

خیلی ممنون بابت راهنماییتون هم شما هم اقا سمیر
بله درسته حالا کم کم ذهنیت اینکه برنامه نویسی فقط for , while, if هستش رو از دست میدم و این خیلی عالیه
و اینکه رفته رفته با مباحث decorator ها و این خلاصه نویسی ادم اشنا میشه میفهمه که چقد میتونی برنامه نویسی شیرین باشه ولی در عین حال سخت ولی هر چی باشه چیزی نمیتونه جلوی علاقه رو بگیره
حالا چون انگلیسی خوبی ندارم باید دیکشنری رو باز کنم بخونم ببینم چی هستن این لینک ها :sweat_smile::joy:

2 Likes

هرجا به مشکل بر خوردی میتونی از این سایت به عنوان دیکشنری هم استفاده کنی

2 Likes

پایتون شیوه بخصوصی در خلاصه نویسی داره … که اول باید درکش کنی …بعد از اونه ک ساده میشه . .
بهش میگن Pythonic Way … ک زبان های جدید هم ازش الگو گرفتن یکسری جاها . .و قبل و بعد از پایتونم بوده …زبان هایی ک شیوه منحصر بفردی در خلاصه نویسی داشتن …

همین کلید واژه رو سرچ کنی کلی مطلب و آموزش هست … توی داکیومنت رسمی پایتون میتونی قسمت PEP رو بخونی تا با Python Style آشنا بشی…

قبل از هرچیزی اگر از زبان های دیگه (عمدتا C-Familyها)‌ اگر وارد پایتون بشی… برات عجیب و سخت هست … و اینکه سعی خواهی کرد به همون شیوه بنویسی …
(یکی از ایرادات پایتون … اینه ک کدنویس مسلط کم داره … عمدتا از زبان های دیگه و بخصوص دیتا ساینس ها ک از متلب میان …کلی کد ناکارآمد که قابل دولوپ مجدد نیست مینویسن … و بخاطر سادگی پایتون هرکی از راه میرسه فک میکنه پایتون کاره: ) …

اینا رفرنس هایی هستن ک شمارو یاری میکنن در پایتونیک وی:)

https://www.cs.cmu.edu/~srini/15-441/F11/lectures/r04-python.pdf

http://docs.python-guide.org/en/latest/writing/style/

اینم دیدنش خالی از لطف نیست …

دیکوریتورا واقعا سختن … ولی اگر بهش تسلط پیدا کنی . یه برگ برنده هست برات …و نشون میده تسلط خوبی داری…

2 Likes

البته style guid مثل pep8 خیلی به list compression کاری نداره، اما پیروی از این کنوانسیون ها فکر خوبیه

3 Likes

اخه عجایب سینتکس پایتونیک وی به لیست کامپرهنشن ختم نمیشه: ) گفتم یه رفرنس کامل بدم …

3 Likes

کلا list compression مختص پایتون نیست

3 Likes

بله همینطوره … اما مثل اینکه روی پایتون بیشتر از همشون ترنده … چون تو استک دیدم ک برای توضیح این مبحث … گفتن “شبیه list comprehension پایتون …در …” …

2 Likes

یکی از خوبی های python سادگی و قابل درک بودنشه,

4 Likes

3 Likes

دقیقا هم همینطوره خیلی فان و عالی بود دمتون گرم …:rofl::rofl::purple_heart:
ولی اینم بگم یه استادمون که مباحث ویژه رو تو دانشگاه برامون درس میده با پایتون اخر هر خط کد یه سمی کالن میزاره :grin:

3 Likes

دلش برای php تنگ میشه حتما☺️

2 Likes

:joy::joy::joy::rofl:

1 Likes

ناگفته نماند، من شخصا خیلی به شیوه پایتون یا روبی در زمینه کدبلاک و do,end علاقه ای ندارم، شیوه c++ یا clojure و بیشتر دوست دارم

2 Likes

:grin:Real men program in C

1 Likes

به نظر من اکما اسکریپت بهترین سینتکس رو داره

1 Likes

اونم(ecmascript) از نظر سینتکس در دسته بندی زبان های شبیه c++ قرار میگیره.

2 Likes

هنوز سینتکس الکسیر رو پس ندیدید :sunglasses:

2 Likes