Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
59 - Telegram Web
Telegram Web
دوره جامع آموزش برنامه نویسی پایتون و هوش مصنوعی

سرفصل های دوره:
فصل 1: مقدمات و مفاهیم پایه پایتون
فصل 2 : توابع در پایتون
فصل 3: کلاس ها در پایتون
فصل 4 : پیش‌پردازش و مدیریت داده‌ها با پانداس (Pandas)
فصل 5: محاسبات و عملیات ریاضی با نامپای (NumPy)
فصل 6 : ترسیم نمودارها و مصورسازی داده‌ها با مت‌پلات‌لیب (Matplotlib)
فصل 7 : مصور سازی داده ها با Seaborn
فصل 8 : ریاضیات کاربردی در برنامه‌نویسی
فصل 9: هوش مصنوعی و یادگیری ماشین (مقدماتی)
فصل 10 : یادگیری عمیق و یادگیری ماشین
فصل 11 : ساخت اپلیکیشن با کتابخانه Kivy
فصل 12: کار با Regex
فصل 13 : کار با دیتابیس ها در پایتون
فصل 14 : پردازش تصاویر در پایتون
فصل 15 : سوالات مصاحبه های شغلی


ویژگی های دوره:
به صورت کاملا پروژه محور
پشتیبانی یکساله دوره
آپدیت های ماهانه
گواهی پایان دوره

این دوره حدود 100 ساعت ویدیو آموزشی است که در حال حاضر 27 ساعت آن ضبط و آپلود شده است و سایر مباحث به صورت ماهانه در سایت آپلود می شود.
برای تهیه دوره به ای دی پشتیبانی پیام دهید یا از طریق وب سایت اقدام نمایید.

❇️ ای دی پشتیبانی :@Poshtibani_admin91
❇️ لینک دریافت دوره
عملیات بر روی لیست ها در پایتون
در پایتون، می‌توانید انواع عملیات مختلف را بر روی لیست‌ها انجام دهید.
این عملیات شامل افزودن، حذف، جستجو، و مرتب‌سازی عناصر در یک لیست است. در ادامه، برخی از این عملیات را با مثال‌هایی توضیح می‌دهم. 😊

۱. ایجاد یک لیست

برای ایجاد یک لیست، می‌توانید از براکت‌ها استفاده کنید:

my_list = [1, 2, 3, 4, 5]


۲. افزودن عناصر به لیست

- استفاده از
append()

این متد برای افزودن یک عنصر به انتهای لیست استفاده می‌شود:

my_list.append(6)
print(my_list) # خروجی: [1, 2, 3, 4, 5, 6]


- استفاده از insert()

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

my_list.insert(2, 'new')
print(my_list) # خروجی: [1, 2, 'new', 3, 4, 5, 6]


- استفاده از extend()

این متد برای افزودن تمام عناصر یک لیست دیگر به انتهای لیست اصلی استفاده می‌شود:

my_list.extend([7, 8])
print(my_list) # خروجی: [1, 2, 'new', 3, 4, 5, 6, 7, 8]


۳. حذف عناصر از لیست


- استفاده از remove()

برای حذف اولین وقوع یک عنصر خاص:

my_list.remove('new')
print(my_list) # خروجی: [1, 2, 3, 4, 5, 6, 7, 8]


- استفاده از pop()

برای حذف و برگرداندن آخرین عنصر (یا عنصر در ایندکس مشخص):

last_element = my_list.pop()
print(last_element) # خروجی: 8
print(my_list) # خروجی: [1, 2, 3, 4, 5, 6, 7]


- استفاده از clear()

برای حذف تمام عناصر لیست:

my_list.clear()
print(my_list) # خروجی: []


۴. دسترسی به عناصر

شما می‌توانید به عناصر لیست با استفاده از ایندکس دسترسی پیدا کنید:

my_list = [10, 20, 30]
print(my_list[0]) # خروجی: 10
print(my_list[-1]) # خروجی: 30 (آخرین عنصر)


۵. جستجو در لیست

- استفاده از
index()

برای یافتن ایندکس اولین وقوع یک عنصر:

my_list = [10, 20, 30]
index_of_twenty = my_list.index(20)
print(index_of_twenty) # خروجی: 1


- استفاده از count()

برای شمارش تعداد وقوع یک عنصر خاص:

count_of_ten = my_list.count(10)
print(count_of_ten) # خروجی: 1


۶. مرتب‌سازی و معکوس کردن لیست

- استفاده از sort()

برای مرتب‌سازی عناصر لیست:

my_list = [3, 1, 4, 2]
my_list.sort()
print(my_list) # خروجی: [1, 2, 3, 4]


- استفاده از reverse()

برای معکوس کردن ترتیب عناصر لیست:

my_list.reverse()
print(my_list) # خروجی: [4, 3, 2, 1]


@python_with_mohammad
مفهوم تاپل ، کاربرد ها و تفاوت آن با لیست
تاپل (Tuple) یکی از انواع داده‌ها در پایتون است که بسیار شبیه به لیست‌ها است، اما ویژگی‌های خاصی دارد.

بیایید به طور دقیق‌تری به مفهوم تاپل، کاربردها و تفاوت‌های آن با لیست بپردازیم.

۱. مفهوم تاپل

تاپل یک ساختار داده‌ی مطمئن و غیرقابل تغییر (Immutable) است که به شما اجازه می‌دهد مجموعه‌ای از عناصر را در یک متغیر ذخیره کنید. به عبارت دیگر، پس از ایجاد یک تاپل، نمی‌توانید عناصر آن را تغییر دهید.

ایجاد یک تاپل

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

my_tuple = (1, 2, 3)
another_tuple = 1, 2, 3 # بدون پرانتز هم معتبر است


۲. کاربردها

- استفاده به عنوان کلید در دیکشنری: از آنجا که تاپل‌ها غیرقابل تغییر هستند، می‌توانند به عنوان کلید در دیکشنری‌ها استفاده شوند.
- گروه‌بندی داده‌ها: تاپل‌ها می‌توانند برای گروه‌بندی داده‌ها (مثلاً کوردینات یک نقطه یا داده‌های مختلط) استفاده شوند.
- عملیات انباشتی: تاپل‌ها معمولاً برای بازگشت چندین مقدار از یک تابع به کار می‌روند.

۳. تفاوت‌های میان تاپل و لیست

تغییرپذیری:
- لیست‌ها (List) تغییرپذیر (Mutable) هستند، به این معنی که می‌توانیم عناصر آن‌ها را بعد از ایجاد تغییر دهیم.
- تاپل‌ها (Tuple) غیرقابل تغییر (Immutable) هستند، یعنی پس از ایجاد یک تاپل نمی‌توانیم عناصر آن را تغییر دهیم.

نحوه‌ی ایجاد:
- لیست‌ها با استفاده از براکت‌ها ([]) ایجاد می‌شوند.
- تاپل‌ها با استفاده از پرانتزها (()) یا بدون پرانتز (در برخی موارد) ایجاد می‌شوند.

عملکردها:
- لیست‌ها دارای متدهای بیشتری برای تغییر هستند؛ مانند اضافه کردن، حذف کردن و مرتب‌سازی.
- تاپل‌ها متدهای محدودتری دارند و عمدتاً شامل count() و index() هستند.

استفاده در دیکشنری:
- لیست‌ها نمی‌توانند به عنوان کلید در دیکشنری‌ها استفاده شوند.
- تاپل‌ها می‌توانند به عنوان کلید در دیکشنری‌ها استفاده شوند، زیرا غیرقابل تغییر هستند.

سرعت:
- لیست‌ها معمولاً سرعت کمتری دارند و کندتر از تاپل‌ها هستند.
- تاپل‌ها معمولاً سریع‌تر از لیست‌ها هستند زیرا غیرقابل تغییر هستند و فضای حافظه کمتری اشغال می‌کنند.

فضای حافظه:
- لیست‌ها معمولاً فضای بیشتری را در حافظه اشغال می‌کنند.
- تاپل‌ها معمولاً فضای کمتری را اشغال می‌کنند.


۴. مثال‌های کاربردی

مثال ۱: استفاده به عنوان کلید در دیکشنری

my_dict = { (1, 2): "point A", (3, 4): "point B" }
print(my_dict[(1, 2)]) # خروجی: point A


مثال ۲: بازگشت چندین مقدار از یک تابع

def coordinates():
return (10, 20)

x, y = coordinates()
print(x, y) # خروجی: 10 20




@python_with_mohammad
ایجاد و استفاده از تاپل‌ها ، نکات تخصصی تر و مثال ها

ایجاد تاپل‌ها

1. تعریف ساده تاپل:

   my_tuple = (1, 2, 3)


2. تاپل خالی:

   empty_tuple = ()


3. تاپل با یک عنصر:
(برای تاپل‌های یک عنصری، باید ویرگول در انتها بیاید.)

   single_element_tuple = (1,)


4. تاپل بدون پرانتز:

   implicit_tuple = 1, 2, 3


دسترسی به عناصر تاپل

برای دسترسی به عناصر تاپل، می‌توانید از ایندکس‌ها استفاده کنید؛ ایندکس‌ها از 0 شروع می‌شوند.

my_tuple = (10, 20, 30)
print(my_tuple[0]) # خروجی: 10
print(my_tuple[1]) # خروجی: 20


برش (Slicing)

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

my_tuple = (1, 2, 3, 4, 5)
print(my_tuple[1:4]) # خروجی: (2, 3, 4)


تکرار و طول

می‌توانید تاپل‌ها را تکرار کنید و طول آن‌ها را با استفاده از توابع داخلی دریافت کنید.

my_tuple = (1, 2, 3)
print(my_tuple * 2) # خروجی: (1, 2, 3, 1, 2, 3)
print(len(my_tuple)) # خروجی: 3


ترکیب تاپل‌ها

می‌توانید تاپل‌ها را با هم ترکیب کنید.

tuple1 = (1, 2)
tuple2 = (3, 4)
combined_tuple = tuple1 + tuple2
print(combined_tuple) # خروجی: (1, 2, 3, 4)


استفاده از تاپل‌ها به عنوان کلید دیکشنری

از آن‌جا که تاپل‌ها غیرقابل تغییر هستند، می‌توانند به عنوان کلید در دیکشنری‌ها استفاده شوند.

my_dict = {}
key_tuple = (1, 2, 3)
my_dict[key_tuple] = "Value associated with (1, 2, 3)"
print(my_dict) # خروجی: {(1, 2, 3): 'Value associated with (1, 2, 3)'}


نکات تخصصی‌تر

1. تاپل به عنوان یک نوع داده‌ی ناپیوسته:
- تاپل‌ها می‌توانند برای ذخیره‌سازی مجموعه‌ای از داده‌هایی که نیازی به تغییر آن‌ها نیست، مانند مختصات جغرافیایی (latitude, longitude) یا کاراکترها در یک رشته، مفید باشند.

2. تاپل‌های تو در تو:
- می‌توانید تاپل‌هایی ایجاد کنید که شامل تاپل‌های دیگر باشند.

   nested_tuple = ((1, 2), (3, 4))


3. تجزیه تاپل:
- می‌توانید به سادگی عناصر یک تاپل را به متغیرهای جداگانه اختصاص دهید.

   a, b, c = (1, 2, 3)
print(a) # خروجی: 1
print(b) # خروجی: 2
print(c) # خروجی: 3


تابع count() و index() برای تاپل‌ها نیز قابل استفاده هستند:

my_tuple = (1, 2, 3, 2, 4)
print(my_tuple.count(2)) # خروجی: 2
print(my_tuple.index(3)) # خروجی: 2


@python_with_mohammad
📍دوره جامع آموزش برنامه نویسی پایتون و هوش مصنوعی

سرفصل های دوره:
فصل 1: مقدمات و مفاهیم پایه پایتون
فصل 2 : توابع در پایتون
فصل 3: کلاس ها در پایتون
فصل 4 : پیش‌پردازش و مدیریت داده‌ها با پانداس (Pandas)
فصل 5: محاسبات و عملیات ریاضی با نامپای (NumPy)
فصل 6 : ترسیم نمودارها و مصورسازی داده‌ها با مت‌پلات‌لیب (Matplotlib)
فصل 7 : مصور سازی داده ها با Seaborn
فصل 8 : ریاضیات کاربردی در برنامه‌نویسی
فصل 9: هوش مصنوعی و یادگیری ماشین (مقدماتی)
فصل 10 : یادگیری عمیق و یادگیری ماشین
فصل 11 : ساخت اپلیکیشن با کتابخانه Kivy
فصل 12: کار با Regex
فصل 13 : کار با  دیتابیس ها در پایتون
فصل 14 : پردازش تصاویر  در پایتون
فصل 15 :  سوالات مصاحبه های شغلی

💠 ویژگی های دوره:
به صورت کاملا پروژه محور
پشتیبانی یکساله دوره
آپدیت های ماهانه
گواهی پایان دوره

💰هزینه اصلی دوره ۲/۹۰۰/۰۰۰ تومان
💰هزینه با تخفیف ۸۵۰/۰۰۰ تومان

❇️ جهت ثبت نام به ایدی زیر پیام دهید👇
@Poshtibani_admin91
آموزش پایتون و برنامه نویسی pinned «📍دوره جامع آموزش برنامه نویسی پایتون و هوش مصنوعی سرفصل های دوره: فصل 1: مقدمات و مفاهیم پایه پایتون فصل 2 : توابع در پایتون فصل 3: کلاس ها در پایتون فصل 4 : پیش‌پردازش و مدیریت داده‌ها با پانداس (Pandas) فصل 5: محاسبات و عملیات ریاضی با نامپای (NumPy)…»
🎯 آشنایی کامل با دیکشنری در پایتون: ساختار کلید-مقدار

در پایتون، دیکشنری (Dictionary) یکی از قدرتمندترین و پرکاربردترین ساختارهای داده است که به شما اجازه می‌دهد اطلاعات را به شکل کلید و مقدار (Key-Value) ذخیره و مدیریت کنید.

🗝 دیکشنری چیست؟
دیکشنری یک نوع داده در پایتون است که مقادیر را به صورت جفت‌های کلید: مقدار ذخیره می‌کند.
هر کلید (Key) در دیکشنری باید یکتا باشد، اما مقادیر (Value) می‌توانند تکراری باشند.

🔑 چرا دیکشنری؟
- سریع و بهینه: دیکشنری‌ها دسترسی سریع به داده‌ها را از طریق کلیدها فراهم می‌کنند.
- انعطاف‌پذیری بالا: می‌توان انواع مختلفی از داده‌ها را به عنوان مقدار ذخیره کرد.


💻 ایجاد و استفاده از دیکشنری
مثال ساده:
# ایجاد یک دیکشنری ساده
student = {
"name": "Ali",
"age": 21,
"grade": "A"
}

# دسترسی به مقادیر با استفاده از کلید
print(student["name"]) # خروجی: Ali
print(student["age"]) # خروجی: 21


افزودن یا به‌روزرسانی مقادیر:
# اضافه کردن مقدار جدید
student["major"] = "Computer Science"

# به‌روزرسانی یک مقدار
student["grade"] = "A+"


حذف یک مقدار:
# حذف یک کلید-مقدار با دستور del
del student["age"]

# استفاده از متد pop
major = student.pop("major")



🔍 ویژگی‌های کلیدی دیکشنری‌ها
1. کلیدها یکتا هستند: اگر یک کلید تکراری تعریف شود، مقدار جدید جایگزین مقدار قبلی می‌شود.
2. ترتیب کلیدها از نسخه 3.7 به بعد حفظ می‌شود.
3. قابل تغییر (Mutable): می‌توانید مقادیر دیکشنری را اضافه، حذف یا تغییر دهید.
4. کلیدها باید از نوع‌های تغییرناپذیر (Immutable) باشند: مثلاً رشته (str)، عدد (int)، یا تاپل (tuple).
5. مقادیر می‌توانند هر نوعی باشند: عدد، رشته، لیست، یا حتی دیکشنری دیگر!



🌟 عملیات رایج روی دیکشنری
بررسی وجود کلید:
if "name" in student:
print("Name exists!")


پیمایش کلیدها و مقادیر:
# پیمایش فقط روی کلیدها
for key in student:
print(key)

# پیمایش روی کلیدها و مقادیر
for key, value in student.items():
print(f"{key}: {value}")


دریافت فقط کلیدها یا مقادیر:
keys = student.keys()    # لیستی از کلیدها
values = student.values() # لیستی از مقادیر




🚀 تمرین برای شما
1. یک دیکشنری برای مشخصات یک کتاب (عنوان، نویسنده، سال انتشار) بسازید.
2. کلید جدیدی با نام "ژانر" اضافه کنید و مقداری به آن اختصاص دهید.
3. بررسی کنید که آیا کلید "سال انتشار" وجود دارد یا نه.



🔗 نکات پیشرفته:
اگر موضوعات پیشرفته‌تری مثل دیکشنری‌های تو در تو**، **کاهش خطاها با متدهای get() یا کار با defaultdict مدنظرتان است، بگویید تا بیشتر توضیح دهیم.




@python_with_mohammad
عملیات پرکاربرد بر روی دیکشنری‌ها در پایتون

دیکشنری‌ها قابلیت‌های متنوعی دارند که باعث می‌شود کار با داده‌ها راحت و انعطاف‌پذیر باشد. در این بخش با رایج‌ترین عملیات بر روی دیکشنری‌ها آشنا می‌شوید:

---

1️⃣ ایجاد دیکشنری
روش‌های مختلف:
# ایجاد دیکشنری ساده
person = {"name": "Ali", "age": 30}

# ایجاد دیکشنری با استفاده از متد dict
info = dict(name="Sara", age=25, city="Tehran")

# ایجاد دیکشنری خالی
empty_dict = {}




2️⃣ اضافه کردن و تغییر مقدار
افزودن کلید-مقدار جدید:
person["gender"] = "Male"


به‌روزرسانی مقدار موجود:
person["age"] = 31




3️⃣ حذف کلید-مقدار
استفاده از del:
del person["age"]


استفاده از pop:
gender = person.pop("gender")  # مقدار حذف شده به متغیر gender اختصاص داده می‌شود.


حذف همه موارد:
person.clear()




4️⃣ دسترسی به مقدار با کلید
روش مستقیم:
print(person["name"])  # خروجی: Ali


جلوگیری از خطا با get:
print(person.get("name", "Not Found"))  # اگر کلید وجود نداشته باشد، "Not Found" چاپ می‌شود.




5️⃣ بررسی وجود کلید
if "name" in person:
print("کلید name موجود است.")




6️⃣ پیمایش روی دیکشنری
پیمایش روی کلیدها:
for key in person:
print(key)


پیمایش روی مقادیر:
for value in person.values():
print(value)


پیمایش روی کلید-مقدار:
for key, value in person.items():
print(f"{key}: {value}")




7️⃣ دریافت لیستی از کلیدها و مقادیر
کلیدها:
keys = person.keys()
print(list(keys)) # تبدیل به لیست


مقادیر:
values = person.values()
print(list(values)) # تبدیل به لیست


کلید-مقدار به صورت جفت:
items = person.items()
print(list(items)) # خروجی: [('name', 'Ali'), ('age', 30)]




8️⃣ کپی کردن دیکشنری
new_person = person.copy()




9️⃣ ادغام دو دیکشنری (از نسخه 3.9 به بعد)
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}

# ادغام دیکشنری‌ها
merged = dict1 | dict2
print(merged) # خروجی: {'a': 1, 'b': 3, 'c': 4}




🔍 نکات پیشرفته
1. دیکشنری تو در تو:
دیکشنری می‌تواند شامل دیکشنری‌های دیگر باشد:
   student = {
"name": "Ali",
"grades": {"math": 90, "science": 85}
}
print(student["grades"]["math"]) # خروجی: 90


2. استفاده از `defaultdict`:
اگر بخواهید مقادیر پیش‌فرض برای کلیدهای جدید تعیین کنید:
   from collections import defaultdict

scores = defaultdict(int) # مقدار پیش‌فرض عدد صفر است.
scores["Ali"] += 10
print(scores) # خروجی: {'Ali': 10}




🎯 تمرین برای شما
1. دیکشنری‌ای بسازید که شامل مشخصات یک محصول (نام، قیمت، تعداد موجودی) باشد.
2. تمام کلیدها و مقادیر آن را چاپ کنید.
3. یک کلید جدید با نام "دسته‌بندی" به دیکشنری اضافه کنید.
4. مقدار قیمت را دو برابر کنید و دیکشنری جدیدی بسازید که تغییرات اعمال شده باشد.


@python_with_mohammad
📚 متدهای کاربردی دیکشنری در پایتون

دیکشنری در پایتون متدهای متعددی دارد که کار با آن را ساده و مؤثر می‌کند. در ادامه لیستی از متدهای پرکاربرد همراه با مثال‌های واضح ارائه شده است:



🔑 1. متد `get`
این متد برای دسترسی به مقدار یک کلید استفاده می‌شود و اگر کلید وجود نداشته باشد، مقدار پیش‌فرض بازمی‌گرداند.

person = {"name": "Ali", "age": 30}

# دسترسی به مقدار موجود
print(person.get("name")) # خروجی: Ali

# کلید موجود نیست
print(person.get("gender", "Not Specified")) # خروجی: Not Specified



🔄 2. متد `update`
این متد برای به‌روزرسانی دیکشنری یا ادغام دو دیکشنری استفاده می‌شود.

person = {"name": "Ali", "age": 30}
update_data = {"age": 31, "city": "Tehran"}

person.update(update_data)
print(person)
# خروجی: {'name': 'Ali', 'age': 31, 'city': 'Tehran'}




🚮 3. متد `pop`
این متد یک کلید و مقدار آن را حذف کرده و مقدار حذف‌شده را بازمی‌گرداند.

person = {"name": "Ali", "age": 30}

age = person.pop("age")
print(age) # خروجی: 30
print(person) # خروجی: {'name': 'Ali'}




4. متد `popitem`
این متد آخرین کلید-مقدار اضافه‌شده را حذف کرده و به صورت یک جفت برمی‌گرداند.

person = {"name": "Ali", "age": 30}

last_item = person.popitem()
print(last_item) # خروجی: ('age', 30)
print(person) # خروجی: {'name': 'Ali'}




🔄 5. متد `clear`
تمام کلید-مقادیر موجود در دیکشنری را حذف می‌کند.

person = {"name": "Ali", "age": 30}

person.clear()
print(person) # خروجی: {}




📋 6. متد `keys`
تمام کلیدهای موجود در دیکشنری را به صورت یک شیء قابل پیمایش برمی‌گرداند.

person = {"name": "Ali", "age": 30}

keys = person.keys()
print(keys) # خروجی: dict_keys(['name', 'age'])



📋 7. متد `values`
تمام مقادیر موجود در دیکشنری را برمی‌گرداند.

person = {"name": "Ali", "age": 30}

values = person.values()
print(values) # خروجی: dict_values(['Ali', 30])


---

📋 8. متد `items`
تمام جفت‌های کلید-مقدار را به صورت یک شیء قابل پیمایش برمی‌گرداند.

person = {"name": "Ali", "age": 30}

items = person.items()
print(items) # خروجی: dict_items([('name', 'Ali'), ('age', 30)])




🔎 9. متد `copy`
یک کپی سطحی از دیکشنری ایجاد می‌کند.

person = {"name": "Ali", "age": 30}

person_copy = person.copy()
print(person_copy) # خروجی: {'name': 'Ali', 'age': 30}




10. متد `setdefault`
اگر کلید وجود نداشته باشد، مقدار پیش‌فرض را اضافه کرده و برمی‌گرداند. اگر کلید موجود باشد، مقدار آن را بازمی‌گرداند.

person = {"name": "Ali"}

# کلید موجود است
print(person.setdefault("name", "Unknown")) # خروجی: Ali

# کلید وجود ندارد
print(person.setdefault("age", 30)) # خروجی: 30
print(person) # خروجی: {'name': 'Ali', 'age': 30}



🎯 تمرین پیشنهادی
1. دیکشنری‌ای شامل اطلاعات دانشجویی (نام، سن، معدل) بسازید.
2. یک کلید جدید به آن اضافه کنید و مقدار پیش‌فرض تنظیم کنید.
3. تمام مقادیر را چاپ کنید و یک کلید خاص را حذف کنید.
4. دیکشنری را کپی کرده و آن را به‌روزرسانی کنید.

@python_with_mohammad
یک ماه گذشته به سبب درگیری های کاری و تایم زیاد بیمارستان فرصت نکردم اینجا مطلبی بذارم.

اما طی روز های اینده حدود 2 ساعت از ویدیو هایی که قبل تر ضبط کرده بودم رو یه چک می کنم و توی سایت می ذارم که دوستان بتونن استفاده کنن.

تا الان هم 30 ساعت از ویدیو های دوره توی سایت قرار گرفته که می تونید دانلود بفرمایید و ببینید.

https://moshkour.ir/?p=2929

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

هر سوال یا امری هم داشتید با این ای دی بنده در خدمتم.

@mohammad_j_p_1
📚 مفهوم مجموعه (Set) در پایتون و کاربردهای آن

🌟 مجموعه (Set) چیست؟
مجموعه (Set) در پایتون، یک ساختار داده است که:
1. شامل عناصر منحصربه‌فرد است (هیچ تکراری در مجموعه وجود ندارد).
2. عناصر آن بدون ترتیب خاصی ذخیره می‌شوند (برخلاف لیست یا تاپل).
3. می‌تواند شامل انواع داده‌های تغییرناپذیر (Immutable) باشد، مانند رشته، عدد، یا تاپل.



🛠 ایجاد مجموعه
1. ایجاد مجموعه با آکولاد {}:
my_set = {1, 2, 3, 4}
print(my_set) # خروجی: {1, 2, 3, 4}


2. ایجاد مجموعه با استفاده از set():
my_set = set([1, 2, 3, 4, 4])  # حذف مقادیر تکراری
print(my_set) # خروجی: {1, 2, 3, 4}


3. مجموعه خالی:
empty_set = set()  # استفاده از آکولاد برای مجموعه خالی ممکن نیست!




🔑 ویژگی‌های اصلی مجموعه‌ها
- بدون تکرار: اگر یک عنصر را چند بار اضافه کنید، تنها یک نسخه از آن نگهداری می‌شود.
- بدون ترتیب: نمی‌توانید به عناصر مجموعه با استفاده از ایندکس دسترسی داشته باشید.
- قابل تغییر (Mutable): می‌توانید عناصر را به مجموعه اضافه یا حذف کنید.



🔄 عملیات اصلی روی مجموعه‌ها
1. افزودن عنصر:
my_set = {1, 2, 3}
my_set.add(4) # اضافه کردن یک عنصر
print(my_set) # خروجی: {1, 2, 3, 4}


2. حذف عنصر:
my_set.remove(2)  # اگر عنصر وجود نداشته باشد، خطا می‌دهد.
my_set.discard(5) # اگر عنصر وجود نداشته باشد، خطا نمی‌دهد.
print(my_set) # خروجی: {1, 3, 4}


3. حذف همه عناصر:
my_set.clear()
print(my_set) # خروجی: set()




⚡️ عملیات ریاضی روی مجموعه‌ها
1. اجتماع (Union): ترکیب عناصر دو مجموعه.
set1 = {1, 2, 3}
set2 = {3, 4, 5}

union_set = set1 | set2 # یا از set1.union(set2) استفاده کنید
print(union_set) # خروجی: {1, 2, 3, 4, 5}


2. اشتراک (Intersection): عناصر مشترک بین دو مجموعه.
intersection_set = set1 & set2  # یا از set1.intersection(set2) استفاده کنید
print(intersection_set) # خروجی: {3}


3. تفاضل (Difference): عناصر موجود در یک مجموعه که در دیگری نیستند.
difference_set = set1 - set2  # یا از set1.difference(set2) استفاده کنید
print(difference_set) # خروجی: {1, 2}


4. تفاضل متقارن (Symmetric Difference): عناصر موجود در یکی از مجموعه‌ها (اما نه هر دو).
symmetric_diff = set1 ^ set2  # یا از set1.symmetric_difference(set2) استفاده کنید
print(symmetric_diff) # خروجی: {1, 2, 4, 5}




📋 کاربردهای مجموعه‌ها
1. حذف عناصر تکراری از لیست:
   my_list = [1, 2, 2, 3, 4, 4, 5]
unique_items = list(set(my_list))
print(unique_items) # خروجی: [1, 2, 3, 4, 5]


2. بررسی عضویت (Membership Test):
مجموعه‌ها برای بررسی سریع عضویت یک عنصر مناسب هستند:
   my_set = {1, 2, 3, 4}
print(3 in my_set) # خروجی: True
print(5 in my_set) # خروجی: False


3. عملیات ریاضی (اجتماع، اشتراک و ...):
استفاده در تحلیل داده‌ها، مانند پیدا کردن نقاط مشترک بین دو مجموعه داده.

4. فیلتر کردن داده‌ها:
مجموعه‌ها برای فیلتر کردن مقادیر تکراری از داده‌های بزرگ مناسب‌اند.

5. یافتن عناصر منحصر به فرد:
شناسایی مقادیر یکتا در یک دیتاست.



✍️ تمرین برای شما
1. دو مجموعه از اعداد بسازید: یکی شامل مضرب‌های 2 و دیگری شامل مضرب‌های 3 (تا 20).
2. اجتماع، اشتراک، و تفاضل متقارن این دو مجموعه را محاسبه کنید.
3. بررسی کنید که آیا عدد 15 در هر یک از این مجموعه‌ها وجود دارد یا خیر.

@mohammad_j_p_1
عملیات پرکاربرد بر روی مجموعه‌ها (Set) در پایتون

مجموعه‌ها در پایتون به دلیل ویژگی‌های منحصربه‌فرد خود برای انجام عملیات مختلف بسیار مناسب هستند. در اینجا، مهم‌ترین عملیات و متدهای مجموعه‌ها را بررسی می‌کنیم:



🔄 ایجاد مجموعه
ساخت یک مجموعه:
set1 = {1, 2, 3, 4}  # مجموعه‌ای با مقادیر اولیه
set2 = set([3, 4, 5, 6]) # استفاده از لیست
print(set1) # خروجی: {1, 2, 3, 4}




🛠 اضافه کردن عناصر به مجموعه
1. استفاده از add:
یک عنصر جدید به مجموعه اضافه می‌شود.
set1.add(5)
print(set1) # خروجی: {1, 2, 3, 4, 5}


2. استفاده از update:
عناصر یک لیست، تاپل یا مجموعه دیگر را به مجموعه اضافه می‌کند.
set1.update([6, 7])
print(set1) # خروجی: {1, 2, 3, 4, 5, 6, 7}




🚮 حذف عناصر از مجموعه
1. استفاده از remove:
عنصر موردنظر را حذف می‌کند. اگر عنصر وجود نداشته باشد، خطا می‌دهد.
set1.remove(7)
print(set1) # خروجی: {1, 2, 3, 4, 5, 6}


2. استفاده از discard:
عنصر را حذف می‌کند. اگر عنصر وجود نداشته باشد، خطا نمی‌دهد.
set1.discard(10)  # خطا نخواهد داد


3. استفاده از pop:
یک عنصر تصادفی را حذف و بازمی‌گرداند.
element = set1.pop()
print(element) # خروجی: 1 (ممکن است متفاوت باشد)
print(set1) # خروجی: {2, 3, 4, 5, 6}


4. پاک کردن همه عناصر با clear:
set1.clear()
print(set1) # خروجی: set()




🔗 عملیات ریاضی روی مجموعه‌ها
1. اجتماع (Union):
تمام عناصر دو مجموعه را ترکیب می‌کند.
set1 = {1, 2, 3}
set2 = {3, 4, 5}

union_set = set1 | set2 # یا: set1.union(set2)
print(union_set) # خروجی: {1, 2, 3, 4, 5}


2. اشتراک (Intersection):
عناصر مشترک بین دو مجموعه را برمی‌گرداند.
intersection_set = set1 & set2  # یا: set1.intersection(set2)
print(intersection_set) # خروجی: {3}


3. تفاضل (Difference):
عناصری که در مجموعه اول هستند اما در مجموعه دوم نیستند.
difference_set = set1 - set2  # یا: set1.difference(set2)
print(difference_set) # خروجی: {1, 2}


4. تفاضل متقارن (Symmetric Difference):
عناصری که در یکی از مجموعه‌ها وجود دارند اما نه در هر دو.
symmetric_diff = set1 ^ set2  # یا: set1.symmetric_difference(set2)
print(symmetric_diff) # خروجی: {1, 2, 4, 5}




🔍 عملیات عضویت (Membership)
برای بررسی وجود یک عنصر در مجموعه از عملگر in استفاده می‌شود:
set1 = {1, 2, 3}
print(2 in set1) # خروجی: True
print(4 in set1) # خروجی: False




🔄 مقایسه مجموعه‌ها
1. بررسی زیرمجموعه بودن:
set1 = {1, 2, 3}
set2 = {1, 2}
print(set2.issubset(set1)) # خروجی: True


2. بررسی ابرمجموعه بودن:
print(set1.issuperset(set2))  # خروجی: True


3. بررسی مجموعه‌های مجزا (Disjoint):
اگر دو مجموعه عنصر مشترک نداشته باشند:
set3 = {4, 5}
print(set1.isdisjoint(set3)) # خروجی: True



🎯 تمرین پیشنهادی
1. دو مجموعه شامل اسامی دانشجویان بسازید:
- مجموعه اول شامل دانشجویانی که دوره "پایتون" را ثبت‌نام کرده‌اند.
- مجموعه دوم شامل دانشجویانی که دوره "دیتابیس" را ثبت‌نام کرده‌اند.

حال عملیات زیر را انجام دهید:
- دانشجویانی که در هر دو دوره ثبت‌نام کرده‌اند.
- دانشجویانی که فقط در یکی از دوره‌ها ثبت‌نام کرده‌اند.
- بررسی کنید آیا مجموعه اول زیرمجموعه مجموعه دوم است یا خیر.

@mohammad_j_p_1
ممنون می شم تو نظر سنجی شرکت کنید♥️

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

احتمالا تا اخر هفته اینده ادیت می شه.

الان هم در حال تهیه جزوه مربوط به این فصل هستم که تا الان حدود 71 صفحه اون آماده شده و احتمالا همزمان با ادیت ویدیو ها تو سایت قرار می گیریه.

راستی این فصل راجع به چیه؟

از عناوین تو عکس می تونید حدس بزنید؟

نکته آخر اینکه با توجه به اضافه شدن فصل های جدید میزان درصد تخفیف کاهش پیدا خواهد کرد.
https://moshkour.ir/?p=2929
به نظرتون فصلی که توی پیام قبل راجع بهش حرف زدم راجع به چیه؟
Anonymous Quiz
35%
هوش مصنوعی
29%
طراحی وب
24%
طراحی اپلیکیشن کامپیوتری
12%
دیتابیس
اسکریپت تولید پسورد قوی در پایتون
import random
import string

def generate_password(length=12):
chars = string.ascii_letters + string.digits + string.punctuation
return ''.join(random.choice(chars) for _ in range(length))

print("Password:", generate_password())


- ایمپورت کردن کتابخانه های string و random
- ترکیب حروف، اعداد و کاراکترهای خاص
- استفاده از `random.choice()` برای تولید پسورد تصادفی

@python_with_mohammad
توی کد بالایی string.ascii_letters چه کارکتر هایی رو شامل می شه؟
Anonymous Quiz
53%
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
6%
0123456789
41%
کارکترهایی مثل : %$#@!؟><
حالا برای تمرین بیشتر این کد پایینی رو ببینیید.

یه نکته اضافه تر از اسکریپت بالا داره و اونم پارامتر K هست که تعداد کارکتر های رندوم رو مشخص می کنه.

import string
import random

# Generating a random string of length 8 using ascii_letters
random_string = ''.join(random.choices(string.ascii_letters, k=8))
print(random_string)
2025/06/15 05:58:04
Back to Top
HTML Embed Code: