Scientific Programming
160 subscribers
158 photos
30 videos
138 files
446 links
Tutorials and applications from scientific programming

https://github.com/Ziaeemehr
Download Telegram
ICTP-Documentation.pdf
367.2 KB
Writing useful #Documentation
David Grellscheid
using #pydoc, #doxygen and #sphinx.
اینجا و اینجا بیشتر بخوانید.
Scientific Programming
چطور در پایتون برنامه را به چند فایل تقسیم کنیم و از توابع موجود در فایل دیگر استفاده کنیم؟ اگر فایل ها در فولدر دیگری بودند چطوری آنها را فراخوانی کنیم؟ #Python #multiple_file
استفاده از فایل های جداگانه را قبلا درباره اش نوشته بودم
اینجا نحوه ی پکیج کردن چند تا اسکریپت رو با استفاده از فایل

__init__.py
خوب توضیح داده
unittest
طبق تعریف ویکی پدیا ساز و کاری برای آزمودن صحت کارکرد بلوک های کوچک از کد نرم افزار است.
مثلا می شه یک کلاس را از کد صدا بزنیم و چک کنیم که آیا کار خاصی که برای آن طراحی شده به درستی انجام می دهد.
در برنامه نویسی شئ گرا تک تک متدهای قرار گرفته داخل کلاس یک واحد یا یونیت به حساب می آیند که می توان آن ها را به صورت مجزا آزمایش کرد و از صحت کار هر یک مطمئن شد.
برای نوشتن پروژه های بزرگ نوشتن تست برای قسمت های مختلف برنامه می تواند وقت بسیار زیادی از شما صرفه جویی کند و به طور طبیعی نتایج کار قابل اطمینان تر است.
#unittest
🔆🔆 قواعد نام گذاری در پایتون

1- از به کار بردن نامهای طولانی یا کلی اجنتاب شود. یک مقدار متعادل دو کلمه است.
Bad: data_structure, my_list, info_map, dictionary_for_the_purpose_of_storing_data_representing_word_definitions
Good: user_profile, menu_options, word_definitions
۲- از به کاربردن نام های تک حرفی اجتناب کنید.
Don’t use things like “O”, “l”, or “I”
۳- برای نام های حالت CamelCase، همه ی حروف یک کلمه اختصاری رو بزرگ بنویسید مثل:
HTTPServer

☘️ پکیج ها:
اسم پکیج باید با حروف کوچک باشد.
وقتی چند کلمه احتیاج است، کلمات باید با زیرخط از یکدیگر جدا شوند.
بهتر است از یک کلمه استفاده کنید.

☘️ ماژول ها:
اسم ماژول ها باید با حروف کوچک نوشته شود.
اگه چند کلمه لازم است با زیر خط از یکدیگر جدا شوند.
به طور معمول بهتر است از یک کلمه استفاده شود.

☘️ کلاس ها:
نام کلاس ها باید از قاعده ی UpperCaseCamelCase پیروی کند.
کلاس های پایتون اما به طور معمول با حروف کوچک نوشته شده اند.
کلاس های Exception باید با کلمه Error ختم شوند.


☘️ متغیرهای گلوبال (module-level)
متغیرهای گلوبال باید با حروف کوچک نوشته شوند.
کلمات در متغیرهای گلوبال باید با زیرخط از یکدیگر جدا شوند.

☘️ متغیرهای Instance
متغیرهای Instance باید با حروف کوچک نوشته شوند.
کلمات باید با زیرخط از یکدیگر جدا شوند.
متغیرهای instance غیر عمومی (public) باید با تک زیرخط شروع شوند.
در واقع با این کار می خواهیم به کاربرهایمان بگوییم به این دست نزن.

☘️ نام Methods
نام method ها باید با حروف کوچک باشد.
کلمات در نام method ها باید با زیرخط از یکدیگر جدا شوند.
نام methodهای غیر عمومی باید با زیرخط شروع شود.

☘️ توابع
نام توابع باید با حروف کوچک نوشته شود.
کلمات در نام توابع باید با زیرخط از یکدیگر جدا شوند.

☘️ ثوابت
نام ثوابت باید به طور کامل با حروف بزرگ نوشته شود.
کلمات نام ثوابت باید با زیرخط از یکدیگر جدا شوند.

https://t.iss.one/scientific_programming
Media is too big
VIEW IN TELEGRAM
Design pattern
مطابق تعریف اینجا در مهندسی نرم افزار، design pattern یک راه حل قابل تکرار برای یک مشکل معمول در طراحی نرم افزار است. این یک طراحی مشخص قابل تبدیل به کد نیست بلکه توصیف یا قالبی است که توضیح می دهد مشکل چطور باید رفع شود و در موقعیت های مشابه مورد استفاده قرار گیرد.
آقای همدانی بهتر درباره این موضوع توضیح می دهد.
🔆 #Getter and #Setter in #Python
در پایتون، گترها و سترها شبیه دیگر زبان های برنامه نویسی شئ گرا نیست. هدف استفاده از گترها و سترها در برنامه های شئ گرا کپسول سازی هست. به طور عموم در این مواقع استفاده می شوند:

☘️ وقتی نیاز به اعتبار سنجی برای قرار دادن یا گرفتن مقداری وجود داشته باشد.
☘️ برای اجتناب از دسترسی مستقیم به یک متغیر در کلاس، برای مثال متغیرهای خصوصی را نمی توان به طور مستقیم از خارج از کلاس تغییر داد.

سه روش برای استفاده از گترها و سترها معرفی می شوند:
استفاده عادی از توابع گتر و ستر
استفاده از property
استفاده از decorator
اینجا بیشتر بخوانید.
Forwarded from Data Science (‌محمدرضا محتاط)
This media is not supported in your browser
VIEW IN TELEGRAM
سرعت شیوع ویروس کرونا در کشورها

@DataAnalysis
01_comm.py
227 B
to install mpi4py, simply use :
$ pip install mpi4py

communicators and ranks
#MPI
#python
#mpi4py
02_point_to_point.py
1.6 KB
point to point communications.
ارسال دیکشنری و آرایه پایتون بین پروسس ها با استفاده از mpi4py.
#MPI
#python
#mpi4py
03_collective_communication.py
1.7 KB
ارسال دیکشنری و آرایه به صورت جمعی بین پروسس ها.
collective communications
#MPI #python