🧑‍💻PythonDev🧑‍💻
365 subscribers
86 photos
3 videos
15 files
78 links
Python tips and tricks
The Good, Bad and the Ugly

📚توی این کانال فقط قرار هست در مورد core python صحبت کنیم.

👨‍💻این کانال یک بلاگ شخصی هست و پیرامون نظرات و چیزهایی که توی این چند سال کد زدن یاد گرفتم (فقط برای کمک به دوستان تازه‌کار)👨‍💻


@Mtio975
Download Telegram
✔️ استیبل بودن یا نبودن یک الگوریتم مرتب سازی

یکی از دسته بندی های موجود برای الگوریتم هایsort کردن، فاکتور stable بودن یا نبودن هست. به طور خلاصه به الگوریتمی میگن stable که:

موقع sort کردن یک لیست، اگه ۲ تا آیتم مساوی هم بودن، دقیقا به همون ترتیبی که توی لیست اولیه بودن، توی لیست مرتب شده هم ظاهر بشن.

فرض کنید به شما میگن لیست زیر رو بر اساس: اول نمره و بعد درصورت یکسان بودن نمره ها، بر اساس حروف الفبا مرتب کنید. منتاها این لیستی که به شما میدن خودش بر اساس حروف الفبا مرتب شده هست:

lst = [
("Ashkan",17),
("Bahar",18),
("Sorena",17)
]
یک راه مرسوم اینه که به این روش sort رو انجام بدیم:
lst.sort(key=lambda x: (x[1], x[0]))
کاملا درسته و هیچ اشکالی نداره. بیشتر میخواستیم درباره موضوع پست صحبت کنیم.

آیا میتونیم فقط بیایم بر اساس آیتم دوم sort ش کنیم؟ این که خود لیست بر اساس حروف الفبا مرتب شده آیا کمکی میکنه؟ یعنی:
lst.sort(key=lambda x: x[1])
اگه بدونیم الگوریتمی که استفاده شده stable هست بله میتونیم و گارانتی هست که آیتم های مساوی به همون ترتیب در خروجی قرار میگیرن، و چون در حال حاضر بر اساس حروف الفبا مرتب شده هستن، اون افرادی که نمره ی برابر دارن اتوماتیک بر اساس حروف الفبا هم مرتب هستن.

خروجی هردو:
[
('Ashkan', 17),
('Sorena', 17),
('Bahar', 18)
]
پایتون از Tim Sort استفاده میکنه و stable هست.


چند تا از الگوریتم های مرتب سازی استیبل:
• Insertion Sort
• Merge Sort
• Bubble Sort
• Tim Sort
و نقطه‌ی مقابلشون:
• Heap Sort
• Selection Sort
• Quick Sort
#Roadmap 2023

این پیام توی چندروز آینده، آپدیت میشه

اینبار با فرض اینکه مقدمات پایتون رو می‌دونید شروع می‌کنم، توی ایران شاید حتی باید بگم با فرض اینکه پایتون رو در سطح Senior بلد هستید (بدون تعارف ۹۸٪ ایرانی‌هایی که توی لینکدین میزنن
Senior Python Developer
واقعاً سطح‌‌اشون این نیست)

مهمتر اینکه، من این RoadMap رو برای پیدا کردن شغل نوشتم؛ گوشه ذهنم ML Engineering رو هم دارم، نه Researcher حرفه‌ای شدن؛ البته که ی سطحی از این موارد رو بدونید.

۱- اول باید پایتون رو حرفه‌ای باشید، بدون تعارف مرحله دوم مصاحبه حرفه‌ای شما ارزیابی زبان برنامه‌نویسی هست که اعلام کردید و سطحی که گفتید و مهم‌تر از اون
Data structure & Algorithm

پس اولین کتابی که ۱۰۰٪ باید بخونید
Fluent Python 2nd Edition
و بعد از اون :
Data Structure & Algorithm in Python

این موارد که تموم شد، بخش زیادی از مرحله اول و دوم مصاحبه رو با موفقیت جلو می‌برید، غیر از سوالات هوش مصنوعی (البته تمام مراحل به soft skills ها هم بستگی داره)

بعد از این باید بتونید، دیتا رو اصطلاحاً مثل موم توی دست بگیرید پس برای دیتای tabular لازمه که
Pandas
رو بدونید اما توی همین راستا :
Numpy, Matplotlib
کتابی که برای نامپای معرفی میکنم برای سال ۲۰۱۷ هست قدیمی شاید باشه اما بسیار بسیار عالی و فوق العاده هست (خیلی دنبالش گشتم توی این سالها امروز اتفاقی پیداش کردم)

From Python to Numpy

هم لازمه ولی نرید بشینید کل توابع رو حفظ، چون به لطف گوگل همرو پیدا می‌کنید چیزی که خیلی حرفه‌ای باید بدونید، سرعت بخشیدن به کد‌ها هست
توی نامپای بهتره فرق numpy معمول و mkl و ... رو بدونید (ml engineer)

Array programming, vectorization

رو بدونید، for loop رو حذف کردن و بجاش از np.vectorize گذاشتن اسمش

Vectorization
نیست.
برای matplotlib هم باید بتونید باهاش storytelling انجام بدید، کاربر عادی باید بتونه با کمترین توضیح شما هدف نمودار و ... ایی که نمایش دادید رو متوجه بشه.


آپدیت‌های این پست وقتی تموم می‌شه که
Pin
بشه روی کانال
🧑‍💻PythonDev🧑‍💻 pinned «#Roadmap 2023 این پیام توی چندروز آینده، آپدیت میشه اینبار با فرض اینکه مقدمات پایتون رو می‌دونید شروع می‌کنم، توی ایران شاید حتی باید بگم با فرض اینکه پایتون رو در سطح Senior بلد هستید (بدون تعارف ۹۸٪ ایرانی‌هایی که توی لینکدین میزنن Senior Python Developer…»
Snap.png
1.6 MB
Let's dig in a bit :) 🐕

سه حالت برای کش وجود داره,
در حالت اول، هیچ کشی انجام نمیشه و تنها آمار کلی از تعداد بارهایی که تابع فراخوانی شده ثبت میشه.
در حالت دوم، کش ساده‌ای بدون محدودیت سایز وجود دارد. در این حالت، نتیجه‌ی تابع برای ورودی‌های مشابه ذخیره شده و برای بارهای بعدی فراخوانی می‌شود.
در حالت سوم، سایز کش محدود شده است. در این حالت، نتایج قدیمی‌تر ترک می‌شوند و به جای آن‌ها، نتایج جدیدی که اخیرا استفاده شده‌اند، ذخیره می‌شوند. پس وقتی maxsize پر شد بهتون ارور نمیده :)). جالبه نه؟
من همیشه به یک چیزی اعتقاد دارم و آن، دید مهندسی است. از خصوصیات مفید و بزرگ دانشگاه خوب رفتنم، همین دید مهندسی است.

حالا این دید مهندسی یعنی چی؟

یعنی شما وقتی بدونید memory management چیست و GC چه کاری تو پایتون انجام می‌دهد، باعث می‌شود کدی که می‌نویسید، memory friendly‌تر باشد.

یا وقتی SQL بلدید و PostgreSQL هم بلدید، باعث می‌شود خیلی وقتا query بنویسید که به جای ۳ بار هیت، یک هیت به دیتابیس بزند. out of box ترش این است که اگر query که می‌زنید، read هست، چند تا read replication بسازید و horizentonal scaling انجام دهید تا سرعت query بهتر شود. اگر می‌بینید query که می‌زنید، مثلاً ۱۰ درصد ریزالت کل دیتابیستون است و حجیم است، از طرفی مثلاً ۲ تا column خیلی استفاده می‌شود توی آن query، آن وقت می‌توانید ترکیب آن دو تا column را ایندکس کنید تا پرفورمنس بهتری بگیرید. اما اگر ریزالت برگشتی ۷۰ درصد دیتابیستون باشد، آن موقع ایندکسها سربار دیتابیستون می‌شوند و نه تنها کمک نمی‌کنند بلکه سرعت شما را هم کاهش می‌دهند.

به این می‌گویند دید مهندسی. یعنی بدانید از چه چیزی کجا و به چه اندازه‌ای استفاده کنید.

همه اینها را گفتم تا برسم به این کتاب:
https://www.amazon.com/Designing-Data-Intensive-Applications-Reliable-Maintainable/dp/1449373321

این کتاب به شما یک دید مهندسی فوق‌العاده می‌دهد. تازه شروع کردم و می‌تونم بگم محشره ✌️
اینو هرچی بیشتر دیباگ میکنم I’m دارک تر میشه:)) امروز با یکی از دوستان داشتیم دیباگش میکردیم که متوجه شدیم وقتی از asyncio.get_event_loop تو ویندوز استفاده میکنید یک پورت باز میکنه و این اصلا ربطی به undetected نداشت.

حالا اینکه چرا پورت باز میشه نمیدونم ولی این تو windows_event.py هست تو پایتون, و تو ویندوز اتفاق میفته.
نکته جالب اینجاست که gc وقتی آبجکتی رو کالکت میکنه که احساس میکنه نیاز به کالکت شدن داره, و برای port exhaustion تعریف نشده. پس حتی متود __del__ که خودشون نوشتن هیچوقت صدا زده نمیشه, به جز زمانی که اسکریپت متوقف میشه.

خلاصه اگه از asyncio.get_event_loop رو ویندوز استفاده میکنید حواستون به این نکته باشه که حتما باید close بخوره وگرنه هم مموری لیک خواهید داشت و هم port exhaustion.

سعی کردم PR بزنم به پایتون, اول فکر کردم مشکل از asyncio هست ولی ظاهرا مشکل از gc هست و gc خیلی پیچیده تر و ادونس تر از سطح منه که بخوام PR بزنم و این مشکلو برطرف کنم. بنابراین issue میزنم 😁
🧑‍💻PythonDev🧑‍💻
اینو هرچی بیشتر دیباگ میکنم I’m دارک تر میشه:)) امروز با یکی از دوستان داشتیم دیباگش میکردیم که متوجه شدیم وقتی از asyncio.get_event_loop تو ویندوز استفاده میکنید یک پورت باز میکنه و این اصلا ربطی به undetected نداشت. حالا اینکه چرا پورت باز میشه نمیدونم…
میتونید از این کد نمونه برا تست استفاده کنید :
import asyncio
import psutil
import os
import gc


def check_connections():
"""Check count of ESTABLISHED connections."""
return len([
conn for conn in psutil.net_connections()
if conn.status == 'ESTABLISHED' and conn.pid == os.getpid()
])


loop = asyncio.get_event_loop()
print(check_connections()) #2
loop = None # or del loop
gc.collect()
print(check_connections()) #2
یک چیز خیلی جالب متوجه شدم. درواقع وقتی تو پایتون میگیم Optional یعنی required 😅😅 اما None هم میگیره.

پایدنتیکمو آپدیت کردم پروژم به ارور میخورد
کدم اینطوری بود
class LinkedinData(BaseModel):
ads_id: Optional[str]


obj = LinkedinData() # Error
obj = LinkedinData(ads_id=None) # No Error

خلاصه
جالبه, آپشنال required هست ولی میتونه none باشه. پس آپشنالی که درواقع باید آپشنال باشه آپشنال نیست 😂😂
مواردی که به نظر من یک بک اند کار برای کار تو شرکت های مدرن خارجی و گرفتن جاب آفر داخلشون باید بلد باشه, طبق تجربه این چند وقتم داخل مصاحبه ها و جاب هایی که دیدم:

1. آشنایی با گیت
2. تست نویسی
3. آشنایی با github action برای نوشتن فایل work flow yaml
4. درک عمیق تر از پایتون (خوندن کتابی مثل fluent python یا python cook book)
تسلط به پترن دیزاین ها
5. آشنایی با paradigms های مختلف برنامه نویسی
6. الگوریتم
7. تسلط روی SQL
8. آشنایی با MySQL یا PostgreSQL.
9. آشنایی با داکر و داکر کامپوز
10. آشنایی با مفاهیم Event driven architecture, SOA, microservice و Monolithic
11. تسلط رو یک فریم ورک microservice friendly مثل FastAPI یا Flask
12. آشنایی با یک فریم ورک Monolithic مثل جنگو میتونه مزیت خوبی باشه.
13. آشنایی با یک سرویس کلاد (AWS/Azure/GCP) در حد نیاز بک اند. معمولا certificate های مشخصی دارن که میتونید راجبشون تحقیق کنید و تو اون مسیری که مربوط به بک اند دولوپر میشه برین.
14. آشنایی با دیتابیس های کلاد مثل amazon rds
15. آشنایی با serverless و نمونش داخل کلاد مثل AWS Lambda
16. آشنایی با k8s در حد نوشتن فایل yaml سرویستون
17. آشنایی با یک ابزار IAC مثل terraform
(از بین ترافورم یا k8s و داکر, معمولا رو یکیش تمرکز میکنن شرکتا. و تو اغلب آگهی ها هم دیدم وزن بیشتر سمت داکر و k8s بوده تا ترافورم)
🧑‍💻PythonDev🧑‍💻 pinned «مواردی که به نظر من یک بک اند کار برای کار تو شرکت های مدرن خارجی و گرفتن جاب آفر داخلشون باید بلد باشه, طبق تجربه این چند وقتم داخل مصاحبه ها و جاب هایی که دیدم: 1. آشنایی با گیت 2. تست نویسی 3. آشنایی با github action برای نوشتن فایل work flow yaml 4.…»
خب دوستان فصل هایی که قراره شروع کنیم برای پایتون مقدماتی به شرح ذیل است :

فصل اول : آشنایی با برنامه نویسی
پایتون
شامل :
تاریخچه پایتون
1.نصب پایتون 2.variables-expression-statements
3.Boolean
4.دستورات شرطی پایتون - if else
5.نوشتن برنامه در فایل
6. تفاوت پایتون دو و سه


فصل دوم : حلقه های تکرار و تابع در پایتون
شامل :
1.کار با توابع پایتون - functions
2.حلقه های تکرار در پایتون - while
3.حلقه تکرار for در پایتون
4.بازی حدس عدد

فصل سوم : ساختارهای داده در پایتون
شامل :
1.کار با رشته ها در پایتون(strings)
2.کار با لیست ها(lists)


فصل چهارم : کتابخانه ها در پایتون
شامل :
1.کتابخانه های استاندارد پایتون
2.جست و جو در کتابخانه های دیگر پایتون

فصل پنجم : کار با فایل های اکسل در پایتون
شامل :
2.فایل های csv در پایتون
سعی میکنم این اموزش ها رو تو یه هفته براتون به صورت کامل توضیح بدم دوستانی که موافق هستن تایید کنن تا من با جزئیات کامل براشون اموزش ها رو کامل کنم
🧑‍💻PythonDev🧑‍💻 pinned «خب دوستان فصل هایی که قراره شروع کنیم برای پایتون مقدماتی به شرح ذیل است : فصل اول : آشنایی با برنامه نویسی پایتون شامل : تاریخچه پایتون 1.نصب پایتون 2.variables-expression-statements 3.Boolean 4.دستورات شرطی پایتون - if else 5.نوشتن برنامه در فایل 6.…»
سلام دوستان ، Fxl هستم 😁🖐🏻
قراره ی دوره مقدماتی جذاب پایتون رو باهمدیگه شروع کنیم و کم کم برسیم به سطح های بالاتر و ...

خب اول از همه باید بدونیم که چرا پایتون یاد بگیریم؟؟
چه تعداد زبان برنامه نویسی وجود داره و چه فرقی با هم دارند؟
چرا پایتون انتخاب مناسبیه؟

🔵زبان های برنامه نویسی مختلف قابلیت ها و کاربرد های مختلفی دارند و هر کدوم دارای نقاط قوت و ضعف خاص خود هستند.

طبق آخرین رتبه بندی انجمن برنامه نویسی TIOBE ، پایتون یکی از 10 زبان برنامه نویسی محبوب جهان است .
پایتون یک زبان برنامه نویسی عمومی و سطح بالاس.
می تونید از پایتون برای توسعه برنامه های رابط کاربری گرافیکی دسکتاپ ، وب سایت ها و برنامه های کاربردی وب استفاده کنید.

🔵در بین این زبان ها پایتون یکی از محبوب ترین زبان هاست ، ولی چرا پایتون؟!

1) یادگیری پایتون بسیار راحته و غالبا به افرادی که می خوان برنامه نویسی رو شروع کنند ، پایتون معرفی میشه.

2) پایتون زبان پر کاربردیه و در زمینه های مختلف می توان از آن استفاده کرد ، برنامه نویسی وب با فریمورک جنگو ، طراحی اپلیکیشن موبایل با فریمورک kivy ، برای محاسبات علمی و الگوریتم های یادگیری ماشین و کارهای آماری و....
3) سومین ویژگی مهم پایتون کتابخانه های زیاد اون هستن که برنامه نویسی رو راحتتر می کنه و شما می تونید از کد های افرادی دیگر استفاده کنید.

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

قوانین نحوی ساده این زبان برنامه نویسی باعث میشه که بتونید پایه و اساس کد ها رو خوانا بنویسید و برنامه رو طوری بنویسید که قابلیت نگه داری و پشتیبانی آن حفظ بشه .

همچنین دلایل متعددی وجود داره که چرا پایتون رو به سایر زبان های برنامه نویسی ترجیح بدید:))

#مقدمه
#پایتون_مقدماتی
#چرا_پایتون
🔶چند دلیل برای اینکه باید برنامه های نرم افزاریتون رو در پایتون بنویسید.

🔹1)کدهای قابل خواندن و قابل نگهداری :


اولین دلیل از دلایل انتخاب پایتون ، برای برنامه نویسی ، قابلیت نگهداری و خوانایی کدهاست .
هنگام نوشتن یک برنامه نرم افزاری ، باید روی کیفیت کد منبع آن تمرکز کنید تا نگهداری و به روز رسانی را ساده کنید ، قوانین نحوی پایتون به شما امکان اینو میده که مفاهیم رو بدون نوشتن کد اضافی بیان کنید‌ .
در عین حال ، پایتون برخلاف سایر زبان های برنامه نویسی ، بر خوانایی کد تاکید می کنه ، و به شما این اجازه رو میده که از کلمات انگلیسی به جای علائم نگارشی استفاده کنید ، از این رو ، می تونید از پایتون برای ساخت برنامه های سفارشی بدون نوشتن کد اضافی استفاده کنید .
پایه کد خوانا و تمیز به شما کمک می کنه تا نرم افزار رو بدون صرف زمان و تلاش اضافی ، نگهداری و به روز رسانی کنید.

🔹2) پارادایم های برنامه نویسی چند گانه:

مانند سایر زبان های برنامه مدرن ، پایتون نیز از چندین پارادایم برنامه نویسی پشتیبانی می کنه .
پایتون به طور کامل از برنامه نویسی شی گرا و ساخت یافته پشتیبانی می کنه ، علاوه بر این ، ویژگی های زبان آن از مفاهیم مختلفی در برنامه نویسی کاربردی و جنبه گرا پشتیبانی می کنه.
در عین حال ، پایتون همچنین دارای یک سیستم نوع پویا و مدیریت خودکار حافظه است .
پارادایم های برنامه نویسی و ویژگی های زبان به شما کمک می کنه تا از پایتون برای توسعه برنامه های کاربردی نرم افزاری بزرگ و پیچیده استفاده کنید.

🔹3) سازگار با پلتفرم و سیستم های اصلی و بزرگ :

در حال حاضر پایتون از بسیاری از سیستم عامل ها پشتیبانی می کنه ، حتی می تونید از مفسرهای پایتون برای اجرای کد روی پلتفرم ها و ابزارهای خاص استفاده کنید.
همچنین ، پایتون یک زبان برنامه نویسی مفسری است !
این ویژگی ، به این امکان رو میده که یک کد رو بدون کامپایل مجدد بر روی چندین پلتفرم اجرا کنید و فورا تاثیر تغییرات ایجاد شده در کد رو بررسی کنید ، این ویژگی به شما کمک می کنه تا بدون اینکه زمان توسعه ی کد بیشتر میشه ، تغییراتی در کد اینجاد کنید.
یک برنامه نویس ارزش این ویژگی رو خیلی خوووب متوجه میشه:))

🔹4) کتابخونه استاندارد قوی :

کتابخونه استاندارد بزرگ و قوی اون باعث میشه پایتون نسبت به سایر زبان های برنامه نویسی برتری ویژه ای داشته باشه ، کتابخونه ی استاندارد به شما این امکان رو میده که امکانات و خواسته های مورد نظرتون رو از بین طیف گسترده ای از ماژول ها مطابق با نیازهای  دقیق خودتون انتخاب کنید ، هر ماژول به شما امکان میده تا بدون نوشتن کد اضافی ، عملکردی رو به برنامه پایتون اضافه کنید .

🔹5) بسیاری از چارچوپ ها و ابزارهای منبع باز :

متن باز بودن بسیاری از منابع ، از دیگر دلایل انتخاب پایتون هست ، به عنوان یک برنامه نویسی متن باز ، پایتون به شما کمک می کنه تا هزینه توسعه نرم افزار رو به میزان قابل توجهی کاهش بدین.
حتی می تونید از چندین چارچوپ ، کتابخانه و ابزارهای توسعه منابع باز پایتون برای کاهش زمان توسعه بدون افزایش هزینه ازش استفاده کنید.
حتی شما می تونین پایتون و ابزارهای توسعه مورد نظرتون رو با توجه به نیازهای دقیق خود ، از میان طیف گسترده ای از چارچوپ های منبع باز انتخاب کنید ، به عنوان مثال ، می تونین با استفاده از چارچوپ های وب قوی پایتون مانند جنگو ، فلاسک ، پیرامید ، بطری و Cherrypy ، توسعه برنامه های تحت وب رو ساده و سرعت ببخشین.
به همین ترتیب ، می تونین توسعه برنامه رابط کاربری گرافیکی دسکتاپ رو با استفاده از چارچوب ها و جعبه ابزارهای Phthon GUL مانند PyGTK , kivy , PyGul , PyJs , PyQT و Wxpython تسریع کنید.

#مقدمه
#پایتون_مقدماتی
#چرا_پایتون
#نرم_افزار
#Fxl
🔹6) با پایتون، توسعه نرم افزارهای پیچیده رو ساده کنید :

پایتون یک زبان برنامه‌نویسی عمومیه. از این رو، می‌تونید از آن برای توسعه برنامه‌های دسکتاپ و وب استفاده کنید. همچنین می‌تونید از پایتون برای توسعه برنامه‌های پیچیده علمی و عددی استفاده کنید. پایتون با ویژگی‌هایی طراحی شده که تجزیه و تحلیل و تجسم داده‌ها را تسهیل میکنند. شما می‌تونید از ویژگی‌های تجزیه و تحلیل داده‌های پایتون برای ایجاد راه حل‌های کلان داده سفارشی بدون صرف زمان و تلاش اضافی استفاده کنید. در عین حال، کتابخانه‌های تجسم داده‌ها و APIهای ارائه شده توسط پایتون به شما کمک می‌کنند تا داده‌ها را به شیوه‌ای جذاب‌تر و موثرتر تجسم و ارائه کنید. بسیاری از توسعه دهندگان پایتون حتی از پایتون برای انجام وظایف پردازش هوش مصنوعی و زبان طبیعی استفاده می‌کنند.

🔹7) توسعه آزمایش محور رو بپذیرید :

می‌تونید از پایتون برای ایجاد سریع پروتوتایپ‌ها، استفاده کنید. همچنین، می‌تونید برنامه مورد نظرتون رو مستقیماً از نمونه اولیه و به سادگی با بازآفرینی کد، بسازید. پایتون حتی با اتخاذ رویکرد توسعه مبتنی بر آزمایش، اجرای همزمان کدنویسی و آزمایش ر برای شما آسون تر می‌کنه. به راحتی می‌تونید قبل از نوشتن کد تست‌های مورد نیاز رو بنویسید و از تست‌ها برای ارزیابی مداوم کد برنامه استفاده کنید. از این آزمایش‌ها می‌توان برای بررسی اینکه آیا برنامه بر اساس کد منبع آن نیازهای از پیش تعریف شده رو برآورده می‌کنه ، استفاده کرد.

نتیجه‌گیری :

با وجود تمام دلایل منطقی کار با پایتون، پایتون مانند سایر زبان‌های برنامه‌نویسی دارای کاستی‌های خاص خودش هم هست. برخی از ویژگی‌های داخلی ارائه شده توسط سایر زبان‌های برنامه‌نویسی مدرن رو نداره. از این رو، اگر بخواهید یک نرم افزار سفارشی بسازید ممکنه لازم باشه برای تسریع توسعه ی اون، باید از کتابخانه‌ها، ماژول‌ها و چارچوب‌های پایتون استفاده کنید.
همچنین، چندین مطالعه نشون داده که پایتون نسبت به چندین زبان برنامه‌نویسی پرکاربرد از جمله جاوا و C++ کندتر هست. شما باید با ایجاد تغییراتی در کد برنامه یا استفاده از زمان اجرا سفارشی، سرعت برنامه رو افزایش بدین  اما این نکته رو همیشه در ذهن داشته باشین که می‌تونید از پایتون برای سرعت بخشیدن به توسعه نرم افزار و ساده سازی نگهداری نرم افزار استفاده کنید.

#مقدمه
#پایتون_مقدماتی 
#چرا_پایتون
#نرم_افزار
#Fxl
خب دوستان..
تا اینجا قضیه ی آقا یا خانوم پایتون رو براتون گفتم .
که چی هستش و از کجا اومده و چرا اومده و آمدنش بهر چه بود این حرفا !
ی قدم پس تا اینجا برداشتیم .
(بزن دست قشنگه رو!)
برای قدم بعدی که می خواییم باهم برداریم اینه که اصلا چجوری باید نصبش کنیم.
بالاخره باید رو سیستم عاملمون باشه که شروع کنیم دیگه ، مگه نه؟
#Fxl
#binamak!
یکم بخوام براتون باکلاس صحبت کنم اینجوری میشه که :
برای استفاده از پایتون ابتدا باید کامپایلر و محیط برنامه نویسی مربوط به اون رو نصب کنید.
حالا کامپایلر میدونی چیه؟
اگه نمیدونی از حضرت گوگل استفاده کن دوستم ! :)

حالا حواستونو بدین به من..

1.برای این کار اول باید بری تو سایت python.org.

2.سیستم عاملتو مشخص میکنی.

3.بعد دقت میکنی به ورژن .

4. یه ورژن 2 داریم ی ورژن 3 که باید بر اساس نیاز خودت ورژن مورد نظر رو دانلود کنی(ولی بهت توصیه میکنم به منظور استفاده حداکثری از قابلیت های پایتون ورژن 3 استفاده کنید که در حال حاضر آخرین ویرایش آن python3.11.4 هست)

#نصب_پایتون
#ورژن_3
#Fxl
خب تا اینجا پایتون رو نصب کردیم .
قدم دوم : دانلود یک محیط برنامه‌نویسی استاندارد برای برنامه‌نویسی با پایتون یا IDE هست.
نرم افزارهای متفاوتی برای این کار وجود داره که از محبوب‌ترین اونها میشه به Pycharm از محصولات شرکت Jetbrain و vscode است که در این دوره به علت راحت تر بودن در نصب از vscode استفاده میشه.

#vs_code
#Python
#Fxl
بعد از نصب برنامه پایتون :
1. تو قسمت run یا سرچ ویندوز گزینه Cmd.exe را وارد می کنید.
بعد وارد محیط command line ویندوز می شوید.
2.در این محیط کلمه Python رو تایپ می کنید و enter رو میزنین.
3.در صورتی که نصب شده باشه ورژن پایتون رو برای شما نمایش میده و این نمایانگر نصب درست محیط پایتون در سیستم عامل شماس.

نام کتاب تدریس شده در این دوره Python for Everybody هست که به صورت رایگان برای همه در اینترنت قابل دسترسیه :)

#ورژن_3
#کتاب
#cmd
#enter
#Fxl
خب خب دوستان سلام میفرستم خدمتتون Sxl هستم و قراره از این به بعد کلی کد و پروژه بزنیم😁✌️

اینجا خواستم 3 تا لینک برای تکمیل پست های بالا خدمتتون ارسال کنم بعد دیگه کم کم برسم سراغ کیبورد و سیستم😆


Python history:
https://www.geeksforgeeks.org/history-of-python/

Whats is python:
https://www.python.org/doc/essays/blurb/

10 best python IDEs:
https://hackr.io/blog/best-python-ide


لینک های بالا به خیلی از سوالات شما جواب میدن قبل از شروع بهتره مطالعه ای داشته باشید مهم‌ترین‌ سوالاتی که باید بدونید شامل:
تاریخچه پایتون چیه؟
پایتون چیه و به چه دردی میخوره؟
بهترین محیط های کد زنی پایتون کدوما هستن؟
و... که قراره ما بهتون بگیم😉👌

#python
#coding
#programming
#pythonism
#Sxl
خب دوستان
تا اینجا بخوام ی مروری کنم اینه که ما تا اینجا متوجه شدیم که پایتون چیه و چرا پایتون ، یاد گرفتیم که چجوری رو سیستم عامل نصبش کنیم و چجوری ورژن 3 رو فعال کنیم .
(اگه یادت نمیاد ، دوباره از اول شروع کن به مرور کردن پست ها)