🐍 آموزش ماژولها (Modules) در پایتون
🔹 ۱. ماژول چیست؟
ماژول در پایتون فایلی با پسوند
با استفاده از ماژولها میتونیم کدهای خودمون رو به بخشهای کوچکتر تقسیم کنیم و دوباره از اونها استفاده کنیم
🔹 ۲. استفاده از ماژولهای آماده
پایتون ماژولهای مختلفی داره که بدون نیاز به نصب جداگانه میتونیم ازشون استفاده کنیم.
مثلاً ماژول
خروجی:
━━━━━━━━━━━━━━━━━━
🔹 ۳. وارد کردن بخش مشخصی از ماژول
اگر فقط به یک تابع نیاز داشته باشیم، میتونیم مستقیماً اون رو وارد کنیم.
خروجی:
📌 در این روش دیگه نیازی نیست قبل از
━━━━━━━━━━━━━━━━━━
🔹 ۴. استفاده از نام مستعار
با کلمه کلیدی
خروجی:
━━━━━━━━━━━━━━━━━━
🔹 ۵. ساخت ماژول اختصاصی خودمون
فرض کن دو فایل پایتون داریم.
📁 فایل اول:
📁 فایل دوم:
خروجی:
📌 برای اجرای این مثال، هر دو فایل رو داخل یک پوشه قرار بده و فایل
━━━━━━━━━━━━━━━━━━
🔹 ۶. ماژول
این ماژول برای تولید مقادیر تصادفی کاربرد داره.
خروجی نمونه:
⚠️ عدد خروجی ممکنه هر بار متفاوت باشه؛
━━━━━━━━━━━━━━━━━━
تمرین
۱️⃣ با استفاده از ماژول
۲️⃣ با استفاده از ماژول
━━━━━━━━━━━━━━━━━
#آموزش_پایتون
#Python
#ماژول_پایتون
#برنامه_نویسی
#کاما_کد
🔹 ۱. ماژول چیست؟
ماژول در پایتون فایلی با پسوند
.py هست که میتونه شامل تابعها، متغیرها و کلاسها باشه.با استفاده از ماژولها میتونیم کدهای خودمون رو به بخشهای کوچکتر تقسیم کنیم و دوباره از اونها استفاده کنیم
🔹 ۲. استفاده از ماژولهای آماده
پایتون ماژولهای مختلفی داره که بدون نیاز به نصب جداگانه میتونیم ازشون استفاده کنیم.
مثلاً ماژول
math برای محاسبات ریاضی کاربرد داره.import math
print(math.sqrt(25))
print(math.pi)
print(math.factorial(5))
خروجی:
5.0
3.141592653589793
120
━━━━━━━━━━━━━━━━━━
🔹 ۳. وارد کردن بخش مشخصی از ماژول
اگر فقط به یک تابع نیاز داشته باشیم، میتونیم مستقیماً اون رو وارد کنیم.
from math import sqrt
print(sqrt(49))
خروجی:
7.0
📌 در این روش دیگه نیازی نیست قبل از
sqrt() بنویسیم math━━━━━━━━━━━━━━━━━━
🔹 ۴. استفاده از نام مستعار
با کلمه کلیدی
as میتونیم یک نام کوتاهتر برای ماژول انتخاب کنیم.import math as m
print(m.sqrt(81))
خروجی:
9.0
━━━━━━━━━━━━━━━━━━
🔹 ۵. ساخت ماژول اختصاصی خودمون
فرض کن دو فایل پایتون داریم.
📁 فایل اول:
calculator.pydef add(a, b):
return a + b
def multiply(a, b):
return a * b
📁 فایل دوم:
main.pyimport calculator
print(calculator.add(10, 5))
print(calculator.multiply(4, 3))
خروجی:
15
12
📌 برای اجرای این مثال، هر دو فایل رو داخل یک پوشه قرار بده و فایل
main.py رو اجرا کن━━━━━━━━━━━━━━━━━━
🔹 ۶. ماژول
randomاین ماژول برای تولید مقادیر تصادفی کاربرد داره.
import random
number = random.randint(1, 10)
print(number)
خروجی نمونه:
7
⚠️ عدد خروجی ممکنه هر بار متفاوت باشه؛
randint(1, 10) هر دو عدد ۱ و ۱۰ رو هم شامل میشه.━━━━━━━━━━━━━━━━━━
تمرین
۱️⃣ با استفاده از ماژول
math، جذر عدد ۱۴۴ رو محاسبه کن.۲️⃣ با استفاده از ماژول
random، یک عدد تصادفی بین ۱ تا ۱۰۰ تولید کن.━━━━━━━━━━━━━━━━━
#آموزش_پایتون
#Python
#ماژول_پایتون
#برنامه_نویسی
#کاما_کد
❤2
سلام دوستان یه تعداد اکانت اوکی کردیم کسی اگر خواست بهم پیام بده
@ir_379
@ir_379
✏️RRT?
مخفف Rapidly-exploring Random Tree هستش به فارسی میشه "درختی که شاخه هاش تصادفی و تند رشد میکنن" .
درواقع یک الگوریتم برای مسیر یابی هستش ولی این الگوریتم زمانی استفاده میشه که روش های معمول کم بیارن .
مثلا یک بازوی رباتیک ۶ مفصل رو در نظر بگیرید (البته داخل ویدیو ۲ مفصل هستش) اگر این بازو بخواد با وجود موانع در یک نقطه خاص قرار بگیره باید زاویه هر ۶ مفصل درست باشه و این یعنی تعداد حالت های ممکن که باید تست بشن، یک دفعه میلیون ها برابر بزرگتر میشه .
اینجاست که RRT وارد عمل میشه .✅
🔰این الگوریتم بجای اینکه همه جا رو بگرده فقط همون جاهایی رو میگرده که احتمال داره راهی ازشون بیرون بیاد البته این باعث میشه بهترین مسیر لزوما انتخاب نشه ولی بلاخره راهی پیدا میشه.
🔬روش کارش چطوریه؟
حالا ما مسیر رو داریم و اگر بخوایم بهینه ترش بکنیم از RRT* استفاده میکنیم تا اگر امکان کوتاه تر کردن مسیر وجود داشت این کار رو انجام بدیم
💠باید اضافه کنم این یکی از الگوریتم هایی هست که خودرو های خود ران یا بازو های هوشمند یا مسیر یاب ها و... ازش استفاده میکنن تا بفهمن باید از کدوم میسر حرکت کنن.
@comma_code
@comma_code1
#کاما_کد #برنامه_نویسی #الگوریتم #مسیر_یابی
#comma_code #programming #algorithm #routing
مخفف Rapidly-exploring Random Tree هستش به فارسی میشه "درختی که شاخه هاش تصادفی و تند رشد میکنن" .
درواقع یک الگوریتم برای مسیر یابی هستش ولی این الگوریتم زمانی استفاده میشه که روش های معمول کم بیارن .
مثلا یک بازوی رباتیک ۶ مفصل رو در نظر بگیرید (البته داخل ویدیو ۲ مفصل هستش) اگر این بازو بخواد با وجود موانع در یک نقطه خاص قرار بگیره باید زاویه هر ۶ مفصل درست باشه و این یعنی تعداد حالت های ممکن که باید تست بشن، یک دفعه میلیون ها برابر بزرگتر میشه .
اینجاست که RRT وارد عمل میشه .✅
🔰این الگوریتم بجای اینکه همه جا رو بگرده فقط همون جاهایی رو میگرده که احتمال داره راهی ازشون بیرون بیاد البته این باعث میشه بهترین مسیر لزوما انتخاب نشه ولی بلاخره راهی پیدا میشه.
🔬روش کارش چطوریه؟
از نقطه شروع یه درخت میسازه و هزاران بار یه تکرار ساده رو انجام میده :
یه نقطه تصادفی از فضای خالی برمیدار ، میگرده ببینه کدوم گره موجود درخت به اون نقطه نزدیک تره و از همون گره یه شاخه کوتاه و با اندازه مشخص به سمتش دراز میکنه ، اگر مسیر این شاخه به مانع نخورده باشه گره جدید رو به درخت اضافه میکنه و اگر به مانع خورده باشه همونجا ولش میکنه و از نقطه قبلی یه شاخه تازه امتحان میکنه. همین چرخه هزاران بار پشت سر هم و با شانس فضا رو پویا میکنه و درخت پیوسته از همهی طرف ها پهن میشه .
✨البته یه ترفند کوچیک هم توی کارشه، حدود ۵ درصد مواقع به جای نقطهی تصادفی مستقیم خود هدف رو نشونه میزنه تا الگوریتم توی مرحله آخر توی فضا سردرگم نمونه .
وقتی یکی از شاخه ها به اندازه کافی به هدف نزدیک شد مسیر رو از روی همون شاخه پیدا میکنه(از گره آخر شروع میکنه و مرحله به مرحله میره سراغ والدش تا به نقطه شروع برسه)
حالا ما مسیر رو داریم و اگر بخوایم بهینه ترش بکنیم از RRT* استفاده میکنیم تا اگر امکان کوتاه تر کردن مسیر وجود داشت این کار رو انجام بدیم
💠باید اضافه کنم این یکی از الگوریتم هایی هست که خودرو های خود ران یا بازو های هوشمند یا مسیر یاب ها و... ازش استفاده میکنن تا بفهمن باید از کدوم میسر حرکت کنن.
@comma_code
@comma_code1
#کاما_کد #برنامه_نویسی #الگوریتم #مسیر_یابی
#comma_code #programming #algorithm #routing
❤1
🐍 آموزش مدیریت خطاها با try و except در پایتون
🔹 ۱. ساختار try و except
با استفاده از این دو دستور میتونیم خطاهای احتمالی رو مدیریت کنیم و اجازه ندیم برنامه بهصورت ناگهانی متوقف بشه.
📌 این کد چطور کار میکنه؟
- "try":
کدی که ممکنه خطا ایجاد کنه.
- "except":
کدی که هنگام رخ دادن خطای مشخص اجرا میشه.
- "ValueError":
خطایی که مثلاً هنگام تبدیل یک متن نامعتبر به عدد رخ میده.
🔹 ۲. مدیریت تقسیم بر صفر
اگر کاربر برای "b" عدد صفر وارد کنه، بهجای متوقف شدن برنامه، پیام مناسب نمایش داده میشه.
🔹 ۳. استفاده از چند except
میتونیم خطاهای مختلف رو جداگانه مدیریت کنیم:
🔸 ۴. دستور finally
بخش "finally" چه خطایی رخ بده و چه رخ نده، پس از پایان اجرای ساختار "try" اجرا میشه؛ حتی اگر خطا مدیریت شده باشه.
📌 خروجی:
5.0
Program finished.
🎯 تمرین شما:
برنامهای بنویسید که دو عدد از کاربر بگیره و حاصل تقسیم اونها رو نمایش بده.
اگر کاربر متن وارد کرد، پیام مناسب نمایش داده بشه و اگر عدد دوم صفر بود، برنامه خطای تقسیم بر صفر رو مدیریت کنه.
جوابتون رو در کامنتها بنویسید!
#Python
#برنامه_نویسی
#آموزش_پایتون
#کاما_کد
🔹 ۱. ساختار try و except
با استفاده از این دو دستور میتونیم خطاهای احتمالی رو مدیریت کنیم و اجازه ندیم برنامه بهصورت ناگهانی متوقف بشه.
try:
number = int(input("Enter a number: "))
print(number)
except ValueError:
print("Please enter a valid number!")
📌 این کد چطور کار میکنه؟
- "try":
کدی که ممکنه خطا ایجاد کنه.
- "except":
کدی که هنگام رخ دادن خطای مشخص اجرا میشه.
- "ValueError":
خطایی که مثلاً هنگام تبدیل یک متن نامعتبر به عدد رخ میده.
🔹 ۲. مدیریت تقسیم بر صفر
try:
a = int(input("Enter a: "))
b = int(input("Enter b: "))
print(a / b)
except ZeroDivisionError:
print("Cannot divide by zero!")
اگر کاربر برای "b" عدد صفر وارد کنه، بهجای متوقف شدن برنامه، پیام مناسب نمایش داده میشه.
🔹 ۳. استفاده از چند except
میتونیم خطاهای مختلف رو جداگانه مدیریت کنیم:
try:
a = int(input("Enter a: "))
b = int(input("Enter b: "))
print(a / b)
except ValueError:
print("Invalid number!")
except ZeroDivisionError:
print("Division by zero!")
🔸 ۴. دستور finally
بخش "finally" چه خطایی رخ بده و چه رخ نده، پس از پایان اجرای ساختار "try" اجرا میشه؛ حتی اگر خطا مدیریت شده باشه.
try:
print(10 / 2)
except ZeroDivisionError:
print("Error!")
finally:
print("Program finished.")
📌 خروجی:
5.0
Program finished.
🎯 تمرین شما:
برنامهای بنویسید که دو عدد از کاربر بگیره و حاصل تقسیم اونها رو نمایش بده.
اگر کاربر متن وارد کرد، پیام مناسب نمایش داده بشه و اگر عدد دوم صفر بود، برنامه خطای تقسیم بر صفر رو مدیریت کنه.
جوابتون رو در کامنتها بنویسید!
#Python
#برنامه_نویسی
#آموزش_پایتون
#کاما_کد
❤1
🐍 آموزش کار با فایلها (File Handling) در پایتون !
📌 ۱. باز کردن فایل با open()
برای کار با فایلها از تابع "open()" استفاده میکنیم.
در این مثال، فایل "data.txt" برای خواندن باز میشه.
🔹 ۲. حالتهای مختلف باز کردن فایل
- "r" :
خواندن اطلاعات فایل
- "w" :
نوشتن در فایل؛ محتوای قبلی رو پاک میکنه.
- "a" :
اضافه کردن اطلاعات به انتهای فایل
- "x" :
ساخت فایل جدید؛ اگر فایل از قبل وجود داشته باشه، خطا میده.
🔹 ۳. خواندن محتوای فایل با read()
متد "read()"
تمام محتوای فایل رو میخونه و نمایش میده.
استفاده از "with"
باعث میشه فایل بعد از پایان بلوک بهصورت خودکار بسته بشه.
🔹 ۴. نوشتن در فایل با write()
این کد عبارت "Hello Python!" رو داخل فایل مینویسه..
🔹 ۵. اضافه کردن متن به فایل
در این حالت، متن جدید به انتهای فایل اضافه میشه و محتوای قبلی باقی میمونه.
🎯 تمرین امروز:
برنامهای بنویسید که:
۱. نام کاربر رو دریافت کنه.
۲. نام رو داخل فایلی به نام "users.txt" ذخیره کنه.
۳. در اجرای بعدی، نامهای جدید رو بدون پاک شدن نامهای قبلی به فایل اضافه کنه.
۴. در پایان، تمام نامهای ذخیرهشده رو بخونه و نمایش بده.
#Python
#آموزش_پایتون
#برنامه_نویسی
#فایل_ها
#کاما_کد
📌 ۱. باز کردن فایل با open()
برای کار با فایلها از تابع "open()" استفاده میکنیم.
file = open("data.txt", "r")در این مثال، فایل "data.txt" برای خواندن باز میشه.
🔹 ۲. حالتهای مختلف باز کردن فایل
- "r" :
خواندن اطلاعات فایل
- "w" :
نوشتن در فایل؛ محتوای قبلی رو پاک میکنه.
- "a" :
اضافه کردن اطلاعات به انتهای فایل
- "x" :
ساخت فایل جدید؛ اگر فایل از قبل وجود داشته باشه، خطا میده.
🔹 ۳. خواندن محتوای فایل با read()
with open("data.txt", "r", encoding="utf-8") as file:
content = file.read()
print(content)متد "read()"
تمام محتوای فایل رو میخونه و نمایش میده.
استفاده از "with"
باعث میشه فایل بعد از پایان بلوک بهصورت خودکار بسته بشه.
🔹 ۴. نوشتن در فایل با write()
with open("data.txt", "w", encoding="utf-8") as file:
file.write("Hello Python!")این کد عبارت "Hello Python!" رو داخل فایل مینویسه..
🔹 ۵. اضافه کردن متن به فایل
with open("data.txt", "a", encoding="utf-8") as file:
file.write("\nLearning Python")در این حالت، متن جدید به انتهای فایل اضافه میشه و محتوای قبلی باقی میمونه.
🎯 تمرین امروز:
برنامهای بنویسید که:
۱. نام کاربر رو دریافت کنه.
۲. نام رو داخل فایلی به نام "users.txt" ذخیره کنه.
۳. در اجرای بعدی، نامهای جدید رو بدون پاک شدن نامهای قبلی به فایل اضافه کنه.
۴. در پایان، تمام نامهای ذخیرهشده رو بخونه و نمایش بده.
#Python
#آموزش_پایتون
#برنامه_نویسی
#فایل_ها
#کاما_کد
❤2
Forwarded from جادی | Jadi
به عیعای گفتم فلان فیچر ساده رو ایمپلمنت کن. کرد و گفتم تست کردی؟ گفت آره. تنبلی کردم گفتم بهش اعتماد کنم و بدون تست پوش کردم. بعد دیدم یکسری ارور می ده رو سرور. به عیعای می گم من این ارورها رو می بینم! مگه نگفتی تست کردی؟ چی جواب بده خوبه؟ گفت: آره اتفاقا منم که تست کردم همین ارورها رو می داد (:
#واقعی
#واقعی
😁1
به عیعای گفتم فلان فیچر ساده رو ایمپلمنت کن. کرد و گفتم تست کردی؟ گفت آره. تنبلی کردم گفتم بهش اعتماد کنم و بدون تست پوش کردم. بعد دیدم یکسری ارور می ده رو سرور. به عیعای می گم من این ارورها رو می بینم! مگه نگفتی تست کردی؟ چی جواب بده خوبه؟ گفت: آره اتفاقا…
این پست بهونه شد چنل اصلی جادی (یکی از هکر ها و مدرسین خوب کشور رو معرفی کنم)
اینم آیدی تلگرامشون
@jadijadi
ولی لطفا برای ارتباط بهشون ایمیل بزنید
اینم آیدی تلگرامشون
@jadijadi
ولی لطفا برای ارتباط بهشون ایمیل بزنید
🐍 آموزش لیستسازی حرفهای در پایتون
این قابلیت کاربردی پایتون، List Comprehension نام دارد....
━━━━━━━━━━━━━━━━━━
🔹 ۱. روش معمول ساخت لیست
فرض کن میخوای مربع اعداد ۱ تا ۵ رو داخل یک لیست ذخیره کنی.
روش معمول:
خروجی:
[1, 4, 9, 16, 25]
🔹 ۲. همین کار با List Comprehension
خروجی دقیقاً یکسانه ما کد کوتاهتر شده.
ساختار کلی:
[expression for item in iterable]
━━━━━━━━━━━━━━━━━━
🔹 ۳. استفاده از شرط "if"
فرض کن فقط اعداد زوج یک لیست رو میخوایم.
خروجی:
[2, 4, 6, 8]
📌 شرط "if" تعیین میکنه کدوم عناصر وارد لیست جدید بشن.
━━━━━━━━━━━━━━━━━━
🔹 ۴. تغییر مقدار عناصر با شرط
میتونیم علاوه بر فیلتر کردن، مقدار عناصر رو هم تغییر بدیم.
مثلاً اگر عدد زوج بود، اون رو در ۲ ضرب کنیم و اگر فرد بود، همون عدد رو نگه داریم.
خروجی:
[1, 4, 3, 8, 5, 12]
━━━━━━━━━━━━━━━━━━
🔹 ۵. کار با رشتهها
با List Comprehension میتونیم روی رشتهها هم کار کنیم.
خروجی:
['python', 'javascript']
━━━━━━━━━━━━━━━━━━
🔹 ۶. ساخت لیست تو در تو
حتی میتونیم از حلقههای تو در تو استفاده کنیم.
خروجی:
[(1, 3), (1, 4), (2, 3), (2, 4)]
━━━━━━━━━━━━━━━━━━
🧠 تمرینهای امروز
۱️⃣ با List Comprehension، لیستی از مربع اعداد ۱ تا ۱۰ بساز.
۲️⃣ از لیست زیر فقط اعداد بزرگتر از ۱۰ رو انتخاب کن:
numbers = [4, 12, 7, 18, 3, 25, 10]
۳️⃣ تمام کلمات یک لیست رو به حروف بزرگ تبدیل کن.
━━━━━━━━━━━━━━━━━
#آموزش_پایتون
#Python
#برنامه_نویسی
#کاما_کد
این قابلیت کاربردی پایتون، List Comprehension نام دارد....
━━━━━━━━━━━━━━━━━━
🔹 ۱. روش معمول ساخت لیست
فرض کن میخوای مربع اعداد ۱ تا ۵ رو داخل یک لیست ذخیره کنی.
روش معمول:
squares = []
for number in range(1, 6):
squares.append(number ** 2)
print(squares)
خروجی:
[1, 4, 9, 16, 25]
🔹 ۲. همین کار با List Comprehension
squares = [number ** 2 for number in range(1, 6)]
print(squares)
خروجی دقیقاً یکسانه ما کد کوتاهتر شده.
ساختار کلی:
[expression for item in iterable]
━━━━━━━━━━━━━━━━━━
🔹 ۳. استفاده از شرط "if"
فرض کن فقط اعداد زوج یک لیست رو میخوایم.
numbers = [1, 2, 3, 4, 5, 6, 7, 8]
even_numbers = [
number for number in numbers
if number % 2 == 0
]
print(even_numbers)
خروجی:
[2, 4, 6, 8]
📌 شرط "if" تعیین میکنه کدوم عناصر وارد لیست جدید بشن.
━━━━━━━━━━━━━━━━━━
🔹 ۴. تغییر مقدار عناصر با شرط
میتونیم علاوه بر فیلتر کردن، مقدار عناصر رو هم تغییر بدیم.
مثلاً اگر عدد زوج بود، اون رو در ۲ ضرب کنیم و اگر فرد بود، همون عدد رو نگه داریم.
numbers = [1, 2, 3, 4, 5, 6]
result = [
number * 2 if number % 2 == 0 else number
for number in numbers
]
print(result)
خروجی:
[1, 4, 3, 8, 5, 12]
━━━━━━━━━━━━━━━━━━
🔹 ۵. کار با رشتهها
با List Comprehension میتونیم روی رشتهها هم کار کنیم.
words = ["python", "java", "javascript", "go"]
long_words = [
word for word in words
if len(word) > 4
]
print(long_words)
خروجی:
['python', 'javascript']
━━━━━━━━━━━━━━━━━━
🔹 ۶. ساخت لیست تو در تو
حتی میتونیم از حلقههای تو در تو استفاده کنیم.
pairs = [
(x, y)
for x in [1, 2]
for y in [3, 4]
]
print(pairs)
خروجی:
[(1, 3), (1, 4), (2, 3), (2, 4)]
━━━━━━━━━━━━━━━━━━
🧠 تمرینهای امروز
۱️⃣ با List Comprehension، لیستی از مربع اعداد ۱ تا ۱۰ بساز.
۲️⃣ از لیست زیر فقط اعداد بزرگتر از ۱۰ رو انتخاب کن:
numbers = [4, 12, 7, 18, 3, 25, 10]
۳️⃣ تمام کلمات یک لیست رو به حروف بزرگ تبدیل کن.
━━━━━━━━━━━━━━━━━
#آموزش_پایتون
#Python
#برنامه_نویسی
#کاما_کد
❤2