Pythonism
الذهاب إلى القناة على Telegram
We use Python in various industries. SXL : https://www.linkedin.com/in/amirakbarisxl-py
إظهار المزيد2 236
المشتركون
لا توجد بيانات24 ساعات
-67 أيام
-4230 أيام
أرشيف المشاركات
2 236
یه برنامه خیلی ساده رو گذاشتم تو گیت هاب میخوام کدش رو باهم بررسی کنیم (تا شما به کد نگاه میکنید کن سعی میکنم یه ویس ضبط کنم و کد رو بررسی کنیم)
https://github.com/AmirakbariSXL/InvoiceCreator/blob/main/Invoice.ipynb
#Sxl
@Pythonism_Xl
2 236
نسخه 5.0 فریم ورک #جنگو هم اخیرا ریلز شد.
جنگو یک فریم ورک برای زبان پایتون است که سمت وب استفاده میشه که توسعه سریع و طراحی تمیز و عملی را تشویق می کنه. این فریم ورک که توسط توسعه دهندگان با تجربه ساخته شده است، بسیاری از دردسرهای توسعه وب را برطرف می کند، بنابراین می توانید بدون نیاز به اختراع مجدد چرخ، روی نوشتن برنامه خود تمرکز کنید. درضمن همانند خود پایتون متن باز و رایگانه
اطلاعات جنگو رو از اینجا بخونید:
https://www.djangoproject.com/#:~:text=Django%20is%20a%20high%2Dlevel,Ridiculously%20fast.
آموزش مقدماتی و اولیه جنگو رو از اینجا میتونید ببینید:
https://www.w3schools.com/django/django_create_project.php
جنگو برای بکند و سمت وب استفاده میشه اگر قصد دارید بکند دولوپر خوبی باشید میتونید از جنگو استفاده کنید.
لینک مربوط به پست در لینکدین:
https://www.linkedin.com/feed/update/urn:li:activity:7138288779739512832?utm_source=share&utm_medium=member_android
بعدا سر فرصت راجع به #فریم_ورک و #جنگو و همچنین #بکند صحبت میکنم فعلا فقط در حد خبر خواستم اطلاع بدم :)
#Sxl
@Pythonism_Xl
2 236
یه فایل پایتون هم تو لینکدینم گذاشته بودم الان داشتم چک میکردم محتویات خوبی داشت برای تقویت اطلاعاتتون خیلی میتونه خوب باشه
https://www.linkedin.com/posts/amirakbarisxl-py_python-codes-activity-7049008954672062464-JLoe?utm_source=share&utm_medium=member_android
#Sxl
@Pythonism_Xl
2 236
قبل از ورود به دنیای برنامه نویسی هر برنامه نویس باید یکسری اطلاعاتی راجع به ساختار و پردازش خود سیستم کامپیوتر مثل RAM, CPUو... داشته باشد تا بتونه کد بهتری بزنه
یه سایتی آوردم که مطالب خوبی راجع به پردازش کامپیوتر داشت:
https://www.learncomputerscienceonline.com/central-processing-unit/
#Sxl
@Pythonism_Xl
2 236
🔹آرگومان چیست ؟؟
در برنامهنویسی، ارگومانها (arguments) مقادیری هستند که به یک تابع، متد یا سازنده داده میشوند تا آنها با استفاده از آنها عملیات مورد نظر را انجام دهند.
به عبارت دیگر، ارگومانها اطلاعاتی هستند که برای فعال کردن و تنظیم عملکرد یک تابع یا متد مشخص شده است.
در زبان برنامهنویسی پایتون، توابع و متدها میتوانند از ارگومانها استفاده کنند تا دادهها را دریافت و پردازش کنند.
ارگومانها میتوانند به صورت اجباری یا اختیاری تعریف شوند.
- ارگومانهای اجباری (RequiredArguments):
این ارگومانها باید در هنگام فراخوانی تابع یا متد داده شوند. ترتیب و تعداد آرگومانها باید با تعریف تابع یا متد مطابقت داشته باشد.
- ارگومانهای اختیاری (OptionalArguments):
این آرگومانها مقادیر پیشفرض دارند و اگر مقداری در زمان فراخوانی تابع یا متد برای آنها مشخص نشود، مقدار پیشفرض استفاده خواهد شد.
با استفاده از ارگومانها، میتوانید اطلاعات مورد نیاز را به یک تابع یا متد منتقل کنید و بر اساس آنها عملیات مورد نظر را انجام دهید.
#FXL
2 236
یکی از دوستان پرسیدند که :
بعضی وقت ها خود super ارگومان داره ، چرا؟
در پایتون super یک تابع است که برای فراخوانی و استفاده از روشها و ویژگیهای کلاس پدر (Superclass) در کلاس فرزند (Subclass) استفاده میشه.
زمانی که یک کلاس فرزند از یک کلاس پدر ارثبری میکنه، ممکنه بخوایین روش یا ویژگیهایی که در کلاس پدر تعریف شده رو در کلاس فرزند نیز استفاده کنید.
در این مواقع
super مفیده !
علاوه بر ارثبری و استفاده از ویژگیها و روشهای پدر، super میتونه با استفاده از ارگومانهایی که به اون داده میشه ، در صورت وجود چندین کلاس پدر، مشخص کنه کدوم کلاس منظور ماست.
در حقیقت، ارگومانهای super برای ارجاع به کلاس پدر مشخص شده استفاده میشن و میتونن مفید باشند زمانی که در سلسله مراتب ارثبری بیش از یک سطح وجود داره.
به عنوان مثال، اگه یک کلاس فرزند ارثبری رو از دو کلاس پدر انجام بده ، میشه با استفاده از super کلاس و متد مورد نظر رو مشخص کرد.
برای مثال، فرض کنید کلاس پدر اول Parent1 نام داره و در اون یک روش به نام method1 تعریف شده است و کلاس پدر دوم Parent2 نام داره و در اون یک روش به نام method2 تعریف شده ست.
حال کلاس فرزند Child ارثبری رو انجام میده و میخواییم هم method1 و هم method2 رو استفاده کنیم.
به صورت زیر میشه از super استفاده کرد:
python
class Parent1:
def method1(self):
print("Parent1's method")
class Parent2:
def method2(self):
print("Parent2's method")
class Child(Parent1, Parent2):
def method(self):
super().method1()
super().method2()
child = Child()
child.method()
در این مثال، با فراخوانی متد method در کلاس Child، از super برای دسترسی به متد method1 از کلاس Parent1 و متد method2 از کلاس Parent2 استفاده میشه.
#FXL2 236
یک مثال خوب و مشخص از ارثبری در Python:
class Vehicle:
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
def start(self):
return "The vehicle is starting."
def stop(self):
return "The vehicle is stopping."
class Car(Vehicle):
def __init__(self, make, model, year, color):
super().__init__(make, model, year)
self.color = color
def drive(self):
return "The car is driving."
def stop(self):
return "The car is stopping."
vehicle = Vehicle("Toyota", "Camry", 2021)
car = Car("Ford", "Mustang", 2022, "Red")
print(vehicle.make, vehicle.model, vehicle.year) # Output: "Toyota Camry 2021"
print(vehicle.start()) # Output: "The vehicle is starting."
print(vehicle.stop()) # Output: "The vehicle is stopping."
print(car.make, car.model, car.year, car.color) # Output: "Ford Mustang 2022 Red"
print(car.start()) # Output: "The vehicle is starting." (inherited from Vehicle class)
print(car.drive()) # Output: "The car is driving."
print(car.stop()) # Output: "The car is stopping." (overrides the stop method in Vehicle class)
توضیحات :
1️⃣ ابتدا کلاس Vehicle را تعریف میکنیم که ویژگیها و روشهای مربوط به یک وسیله نقلیه رو داراست.
این کلاس شامل ویژگیهای make، model و year هست که نشان دهنده سازنده، مدل و سال وسیله نقلیه میباشند. همچنین این کلاس دارای روشهای start و stop هست که به ترتیب نمایانگر شروع و پایان عملکرد وسیله نقلیه است.
2️⃣ سپس کلاس Car رو تعریف میکنیم که از کلاس Vehicle ارثبری میکنه.
برای ارثبری از کلاس پدر، کافیه نام کلاس پدر رو بعد از نام کلاس فرزند در حالت اولیه تعریف کنیم.
با ارثبری از کلاس پدر، کلاس Car همه ویژگیها و روشهای کلاس Vehicle رو به ارث میبرد.
3️⃣ در کلاس Car، یک روش جدید به نام drive اضافه میکنیم که نمایانگر عمل رانندگی ماشین هست.
همچنین روش stop رو بازتعریف (override) میکنیم تا خروجی متناسب با ماشین خاصی که از کلاس Car ایجاد شده است رو نمایش بدیم.
با بازتعریف روش stop، نسخه پدر این روش در کلاس Vehicle برای اشیا Car دیگر معتبر نیست و جایگزین شده است.
4️⃣ هرچقدر که در کلاس Car روشهایی با نامهای تکراری با کلاس پدر داشته باشیم، روشهای کلاس پدر با استفاده از بازتعریف (override) جایگزین میشن و روشهای موردنیاز برای ماشین خاصی که از کلاس Car ایجاد شده هست رو میتونیم بر اساس نیاز تغییر بدیم.
5️⃣ نهایتاً، با ایجاد شیء vehicle از کلاس Vehicle و شیء car از کلاس Car، میتونیم به نمونهها و ویژگیها و روشها در هر دو مرحله دسترسی داشته و استفاده کنیم.
🔸 بطور خلاصه، ارثبری به ما کمک میکنه تا ویژگیها و رفتاری که در کلاس پدر تعریف شده هست رو به کلاسهای فرزند انتقال بدیم و بازتعریف روشها رو برای سفارشی کردن رفتار فرزندان انجام دهیم.
#FXL
#Start
#Stop
#Car
#year
#make
#drive
#Vehicle
#ارث_بری2 236
برای مشخص کردن کلاسی که از این قابلیت استفاده کرده از عبارت Extends استفاده میشه.
مثلا برای اینکه تعریف کنیم که کلاس لپ تاپ از کلاس کامپیوتر ارث بری میکنه به صورت زیر مینویسیم:
Class laptop extends computer{}
درمفهوم ارث بری به کلاس کامپیوتر که یک کلاس دیگر از آن ارث بری میکنه کلاس پدر یا والد و به کلاسی که کلاس دیگری را extend میکنه مانند کلاس لپ تاپ، کلاس فرزند میگویند.
همچنین از تابع ()super استفاده می کنیم تا کلاس فرزند بتواند به ویژگی ها و متدهای کلاس پدر دسترسی داشته باشه.
#FXL
2 236
⚜فصل اول - برنامه نویسی شی گرا
🔹مفهوم ارث بری در کلاس ها
در این بخش به بحث درباره مفهوم ارث بری در پایتون پیشرفته میپردازیم.
مفهوم ارث بری به این معنیه که یک کلاس میتونه از ویژگی های کلاس دیگه استفاده کرده و اصطلاحا از این کلاس ارث بری کنه.
به عنوان مثال یک کلاس به اسم لپ تاپ داریم که شامل ویژگی ها و رفتارهای مربوط به لپ تاپ هست ، کلاس دیگه ای به اسم کامپیوتر داریم که لپ تاپ تمام ویژگی های اون رو داراست ولی ویژگی های منحصر به فرد خودشو هم داره ، در این حالت در برنامه نویسی میشه از ویژگی های کلاس کامپیوتر برای اشیا از جنس لپ تاپ استفاده کرد و فقط ویژگی ها و رفتار های منحصر به فرد لپ تاپ رو در کلاس لپ تاپ تعریف کرد.
به این قابلیت در پایتون پیشرفته ارث بری میگن.
#FXL
#شی_گرایی
2 236
اینجا یسری سورس آوردم براتون که رنک و رده بندی زبان های برنامه نویسی رو در سالهای مختلف با ویژگی های مختلف و اینکه تو چه پروژه هایی استفاده شدن رو طبقه بندی کردن.
(تاکید روی زبان #پایتون هست)
https://pypl.github.io/PYPL.html
https://survey.stackoverflow.co/2022#:~:text=Rust%20is%20on%20its%20seventh,TypeScript%20running%20a%20close%20second.&text=Phoenix%20overtakes%20Svelte's%20spot%20as,Angular.
https://www.google.com/amp/s/www.infoworld.com/article/3699788/rust-most-admired-language-stack-overflow-survey-says.amp.html?espv=1
https://octoverse.github.com/2022/top-programming-languages
https://solutionshub.epam.com/blog/post/programming-language-popularity-on-github
https://visualstudiomagazine.com/articles/2021/11/18/octoverse-2021.aspx?m=1
#Sxl
#pythonism
2 236
یه موردی هم بگم بهتون :
خیلی از مشکلاتی که بیزینس ها و پروژه های بزرگ دارن بخاطر نداشتن الگوریتم، داکیومنت، و ساختار اصولی هست.
یهو میری تو یه پروژه ورود میکنی میگی مثلا تو این برنامه حسابداری این ماژول چیکار میکنه؟ پروسش چجوریه؟ طرف چون دانش حسابداری نداره فقط کدشو نوشته و چون داکیومنتی الگوریتمی وجود نداره هیچ جوابی نداره و مشکلات زیادی رو به وجود میاره.
اگر تسکی، باگی هم در این ماژول زده بشه. برنامه نویس با دید خودش درست میکنه و اگر کد کار کرد دیگه دست نمیزنه و فکر میکنه باگ رو فیکس کرده. هر مسئله رو با هزاران روش میشه فیکس کرد هزاران راه حل برای حل مسائل هست اما باید مناسب ترین راه انتخاب بشه.
توی همین مثال برنامه حسابداری که گفتم باید یک الگوریتمی یک سندی یک پروسه ای باشه که برنامه نویس بدونه دیدش چجوری باشه تا مشکل رو فیکس کنه.
پس قبل از شروع هر کاری حتما یک داکیومنتی یک الگوریتم تمیزی واس خودتون دربیارید و نگران مشکلات نباشید.
"مشکلات ساخته شدن تا رفع بشن :( "
#Sxl
#pythonism
2 236
این فایل هم برای الگوریتم خیلی خوبه و سعی کرده محتویات و مباحث رو با شکل های مختلف یاد بده توی #Md_Daily داشتم میگشتم دیدمش خیلی جالب بود فایله
#SXL
#Algorithms
#flowchart
2 236
یک نمونه فلوچارت / الگوریتم براتون آوردم از حساب کتاب درآمد و هزینه و چاپ سود زیان
ابتدا درآمد و هزینه رو میخونه بعد شرط میزاره اگر درآمد بزرگتر مساوی هزینه باشه سود رو پرینت میگیره و برنامه تموم میشه درغیر اینصورت اگر کمتر باشه میره برای پرینت زیان و اتمام برنامه.
#Sxl
2 236
ما ممکنه الگوریتم هامون تو برنامه هایی خیلی زیاد و شلوغ باشه و یکم کثیف بشه بخاطر همون از #فلوچارت استفاده میکنیم تا منظم بشه
نماد های #فلوچارت رو اینجا گذاشتم بتونید ببینید.
#flowchart
#Sxl
2 236
الگوریتم چیز پایه شروع برنامه نویسی هست
شما قبل از شروع برنامه نویسی باید یک الگوریتم برای برنامتون داشته باشید.
الگوریتم کلا 4تا رکن اصلی داره)1. یک چارچوب، یک ورودی و خروجی، یک محدودیت و یک اتفاق(
یعنی چی؟
شما حتما باید توی الگوریتمتون یک شروع و یک پایان داشته باشید
در میان این شروع و پایان حتما بایستی رویه و قطعیت برنامتون اجرا بشه
چجوری؟
مثلا میخواییم یک ماشین حساب بنویسیم:
1.شروع
2.یک عدد ورودی از کاربر گرفته و به متغیر A میریزه
3.عدد دوم رو هم از کاربر میگیره و به متغیر B میریزه
4.حاصل جمع A و B رو در متغیر Z ذخیره کن
5.متغیر Z رو چاپ کن
6.پایان
در تعریف تئوری الگوریتم اینجوری آورده شده:
الگوریتمها مجموعه فرایندهایی هستند که به کمک آنها میتوان بسیاری از مسائل برنامهنویسی را بهراحتی حل کرد. به عنوان مثال الگوریتم یک موتور جستجو را در نظر بگیرید. الگوریتم موتور جستجو گوگل بهطور ساده اینگونه است که عبارت تایپ شده شما را دریافت کرده، آن را در پایگاه دادههای خود جستجو میکند و سپس صفحات وب مربوطه را پیداکرده و به شما نشان میدهد.
بیاییم ساختار الگوریتم رو ببینیم:
ورودی: مقادیر زیادی به عنوان ورودی وجود دارد که باید به صورت دقیق تعیین شوند.
باید حداقل یک مقدار به عنوان ورودی باشد.
قطعیت: هر دستورالعمل الگوریتم باید واضح و بدون ابهام باشد.
متناهی بودن: فرآیند باید پس از تعداد محدودی از مراحل خاتمه یابد.
اثربخشی: هر دستوری باید به اندازه کافی مهم باشد که در حین یافتن حل مشکل به صورت تئوری یا با استفاده از کاغذ و مداد ذکر شود.
#Sxl
2 236
قبل از اینکه توی برنامه نویسی حرفه ای باشیم و. دست به کدمون خوب باشه باید #الگوریتم ما که پایه برنامه َنویسی هست خوب باشه)شما مهندسی رو درنظر بگیرید که بدون دانش نقشه کشی و پایه میره سر ساختمون نظارت کنه نتیجش میشه چی؟ :( قطعا نتیجش میشه ساختمون و پروژه هایی که الان میبینید و با یه عطسه میاد پایین(
میخوام یکم راجع به الگوریتم ها صحبت کنم.
#Sxl
2 236
Oops in python
یه فایل دستنویس خوب از لینکدین آوردم براتون دررابطه با #شی_گرا پایتون چیزای خوبی گفته
#Sxl
#pythonism
2 236
یه چارت خوب برای مباحث If, elif and else توی پایتون آوردم براتون که روابط اینارو توی بحث شرط گذاری خوب درک کنید.
#Sxl
