آموزش پایتون | ترفند | تکنولوژی |پایتک | Pytech
2.07K subscribers
50 links
🐍 اینجا پایتون رو لقمه‌لقمه یاد می‌گیریم!
💻 ترکیبی از دنیای برنامه نویسی و تکنولوژی

🧠 ویدئو کمتر، نکته و فکت بیشتر

اینجوری بیشتر یادت میمونه!

چنلامون در تلگرام و بله:

🔗 Telegram: https://t.me/pytechnoo 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅
Download Telegram
💡 چرا با
append()

یک لیست کامل به‌عنوان یک عضو اضافه می‌شه؟ 🤔
به این مثال دقت کن:
numbers = [1, 2]
numbers.append([3, 4])

print(numbers)

📤 خروجی:
[1, 2, [3, 4]]

اما با
extend()

نتیجه فرق می‌کنه:
numbers = [1, 2]
numbers.extend([3, 4])

print(numbers)

📤 خروجی:
[1, 2, 3, 4]

✅
append()

کل لیست رو به‌عنوان یک عضو اضافه می‌کنه؛ اما
extend()

اعضای اون رو به لیست اصلی اضافه می‌کنه.
📌 این تفاوت توی پروژه‌های واقعی خیلی به کارت میاد!

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #اشتباهات_برنامه_نویسی #ترفند_پایتون
❤3
💡 چطور یک عضو رو از لیست پایتون حذف کنیم؟ 🐍
دو متد کاربردی برای این کار وجود داره:
courses = ["Python", "Java", "C++"]

courses.remove("Java")
print(courses)

removed = courses.pop()
print(removed)
print(courses)

📤 خروجی:
['Python', 'C++']
C++
['Python']

✅
remove()

اولین عضو مطابق با مقدار موردنظر رو حذف می‌کنه.
✅
pop()

به‌صورت پیش‌فرض آخرین عضو رو حذف می‌کنه و مقدار حذف‌شده رو برمی‌گردونه.
📌 اگر مقدار موردنظر در لیست نباشه،
remove()

خطای
ValueError

می‌ده.

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #آموزش_پایتون #ترفند_پایتون
❤3
💡 می‌خوای لیست رو مرتب کنی، ولی نسخه‌ی اصلی دست‌نخورده بمونه؟ 🚀
🐍 تفاوت
sort()

و
sorted()

رو ببین:
numbers = [4, 1, 3, 2]

new_numbers = sorted(numbers)

print(numbers)
print(new_numbers)

📤 خروجی:
[4, 1, 3, 2]
[1, 2, 3, 4]

✅
sorted()

یک لیست مرتب‌شده‌ی جدید برمی‌گردونه.
اما
sort()

خود لیست رو تغییر می‌ده و در نهایت
None

برمی‌گردونه.
برای مرتب‌سازی نزولی هم می‌تونی از
reverse=True

استفاده کنی.
📌 قبل از انتخاب روش مرتب‌سازی، ببین به لیست اصلی نیاز داری یا نه!

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #کدنویسی #ترفند_پایتون
❤3
💡 برای محاسبه‌ی مجموع و پیدا کردن بزرگ‌ترین عدد، نیازی به حلقه‌ی دستی نداری! 🐍
numbers = [10, 5, 20, 3]

print(min(numbers))
print(max(numbers))
print(sum(numbers))

📤 خروجی:
3
20
38

✅
min()

کوچک‌ترین مقدار رو برمی‌گردونه.
✅
max()

بزرگ‌ترین مقدار رو پیدا می‌کنه.
✅
sum()

مجموع اعداد رو محاسبه می‌کنه.
📌 این توابع برای تحلیل داده‌ها، محاسبات روزمره و حل مسئله‌های برنامه‌نویسی خیلی کاربردی‌ان.

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #ترفند_پایتون #آموزش_برنامه_نویسی
❤3
💡 چطور بفهمیم یک مقدار داخل لیست وجود داره یا نه؟ 👀
🐍 از عملگر
in

استفاده کن:
courses = ["Python", "Java", "C++"]

print("Python" in courses)
print("HTML" in courses)

📤 خروجی:
True
False

✅ اگر مقدار وجود داشته باشه،
True

و اگر وجود نداشته باشه،
False

برمی‌گرده.
اگر بخوای اندیس یک مقدار رو پیدا کنی، می‌تونی از
index()

استفاده کنی؛ اما اگر مقدار وجود نداشته باشه، این متد خطای
ValueError

می‌ده.
📌 برای بررسی ساده‌ی وجود یک عضو،
in

انتخاب مناسبیه!

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #ترفند_پایتون #برنامه_نویسی
❤3
💡 می‌خوای هم‌زمان به شماره و مقدار هر عضو لیست دسترسی داشته باشی؟ 🐍
به‌جای مدیریت دستی شمارنده، از
enumerate()

استفاده کن:
courses = ["Python", "Java", "C++"]

for index, course in enumerate(courses, start=1):
    print(index, course)

📤 خروجی:
1 Python
2 Java
3 C++

✅ با
enumerate()

هم اندیس و هم مقدار هر عضو رو دریافت می‌کنی.
با
start=1

هم شماره‌گذاری از یک شروع می‌شه؛ در غیر این صورت، مقدار شروع پیش‌فرض صفره.
📌 این روش برای ساخت منوها و نمایش شماره‌دار اطلاعات خیلی کاربردیه!

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #ترفند_پایتون #آموزش_پایتون
❤3
💡 با دو متد کاربردی، متن رو به لیست تبدیل کن و دوباره به هم بچسبون! 🚀
🐍 اول لیست رو به رشته تبدیل می‌کنیم:
courses = ["Python", "Java", "C++"]

text = ", ".join(courses)
print(text)

📤 خروجی:
Python, Java, C++

حالا برعکس:
courses = text.split(", ")
print(courses)

📤 خروجی:
['Python', 'Java', 'C++']

✅
join()

اعضای رشته‌ای رو با جداکننده‌ی مشخص به هم وصل می‌کنه.
✅
split()

رشته رو بر اساس جداکننده به لیست تبدیل می‌کنه.
📌 نکته:
join()

برای اعضای رشته‌ای طراحی شده؛ اگر لیستت شامل عدد باشه، باید ابتدا اون‌ها رو به رشته تبدیل کنی.

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #Strings #ترفند_پایتون
❤3
💡 چه زمانی از List استفاده کنیم و چه زمانی Tuple؟ 🤔
🐍 تفاوت مهم این دو ساختار، قابلیت تغییر اعضاست:
my_list = ["Python", "Java"]
my_tuple = ("Python", "Java")

my_list[0] = "C++"

print(my_list)
print(my_tuple)

📤 خروجی:

['C++', 'Java']
('Python', 'Java')

✅ اعضای لیست رو می‌تونی تغییر بدی؛ اما تاپل از تغییر مستقیم اعضاش پشتیبانی نمی‌کنه.
برای داده‌هایی که نمی‌خوای اعضاشون رو مستقیماً تغییر بدی،
tuple
می‌تونه انتخاب مناسبی باشه.
📌 لیست با
[]
و تاپل معمولاً با
()
ساخته می‌شه.

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #List #Tuple
❤3
💡 چطور تکراری‌های یک مجموعه داده رو حذف کنیم؟ 😎
🐍 در پایتون،
set

فقط اعضای یکتا رو نگه می‌داره:
courses = ["Python", "Java", "Python", "C++"]

unique_courses = set(courses)

print(unique_courses)
print(len(unique_courses))

📤 خروجی نمونه:
{'Python', 'Java', 'C++'}
3

✅ ترتیب نمایش اعضای
set

تضمین‌شده نیست؛ بنابراین ممکنه خروجی با نمونه‌ی بالا از نظر ترتیب متفاوت باشه.
📌
set

برای حذف تکراری‌ها و بررسی سریع وجود یک مقدار کاربردیه

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #Set #ترفند_پایتون
❤3
💡 می‌خوای اعضای مشترک دو مجموعه رو پیدا کنی؟ 🐍
با
set

می‌تونی به‌راحتی اشتراک، اجتماع و تفاوت دو مجموعه رو محاسبه کنی:
a = {"Python", "Java", "C++"}
b = {"Python", "JavaScript"}

print(a.intersection(b))
print(a.union(b))
print(a.difference(b))

📤 خروجی نمونه:
{'Python'}
{'Python', 'Java', 'C++', 'JavaScript'}
{'Java', 'C++'}

✅
intersection()

اعضای مشترک رو پیدا می‌کنه.
✅
union()

اعضای هر دو مجموعه رو ترکیب می‌کنه.
✅
difference()

اعضای موجود در مجموعه‌ی اول و غایب در مجموعه‌ی دوم رو برمی‌گردونه.
📌 این قابلیت‌ها برای مقایسه‌ی داده‌ها بسیار کاربردی‌ان!

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #Set #آموزش_پایتون
❤3
💡 می‌خوای اعضای مشترک دو مجموعه رو پیدا کنی؟ 🐍
با
set

می‌تونی به‌راحتی اشتراک، اجتماع و تفاوت دو مجموعه رو محاسبه کنی:
a = {"Python", "Java", "C++"}
b = {"Python", "JavaScript"}

print(a.intersection(b))
print(a.union(b))
print(a.difference(b))

📤 خروجی نمونه:
{'Python'}
{'Python', 'Java', 'C++', 'JavaScript'}
{'Java', 'C++'}

✅
intersection()

اعضای مشترک رو پیدا می‌کنه.
✅
union()

اعضای هر دو مجموعه رو ترکیب می‌کنه.
✅
difference()

اعضای موجود در مجموعه‌ی اول و غایب در مجموعه‌ی دوم رو برمی‌گردونه.
📌 این قابلیت‌ها برای مقایسه‌ی داده‌ها بسیار کاربردی‌ان!

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #Set #آموزش_پایتون
❤3
💡 فکر می‌کنی
{}

یک Set خالی می‌سازه؟ این نکته رو فراموش نکن! ⚠️
🐍 در پایتون، آکولاد خالی یک دیکشنری می‌سازه:
a = {}
b = set()

print(type(a))
print(type(b))

📤 خروجی:
<class 'dict'>
<class 'set'>

✅ برای ساخت Set خالی از
set()

استفاده کن.
برای ساخت یک لیست خالی هم می‌تونی از
[]

و برای ساخت تاپل خالی از
()

استفاده کنی.
📌 این تفاوت کوچیک، جلوی اشتباه‌های رایج رو می‌گیره!

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #ترفند_پایتون #آموزش_برنامه_نویسی
❤3
💡 می‌خوای اطلاعات مختلف رو با اسم مشخص ذخیره کنی؟ دیکشنری دقیقاً برای همینه! 🐍
در پایتون،
dict

داده‌ها رو به شکل کلید و مقدار (Key-Value) نگه می‌داره.
student = {
    "name": "John",
    "age": 25,
    "courses": ["Math", "Python"]
}

print(student["name"])
print(student["age"])

📤 خروجی:
John
25

✅ کلید مشخص می‌کنه دنبال کدوم داده هستی و مقدار، اطلاعات مربوط به اون کلیده.
📌 دیکشنری برای ذخیره‌ی مشخصات کاربر، اطلاعات محصول و داده‌های پروژه‌ها خیلی کاربردیه!

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #آموزش_پایتون #برنامه_نویسی
❤3
💡 چطور بدون خطا مقدار یک کلید رو از دیکشنری بگیری؟ 🤔
🐍 اگر کلید وجود نداشته باشه، دسترسی مستقیم می‌تونه خطای
KeyError

ایجاد کنه.
student = {"name": "Sara"}

print(student.get("age"))
print(student.get("age", 18))

📤 خروجی:
None
18

✅ متد
get()

اگر کلید پیدا نشه، به‌صورت پیش‌فرض
None

برمی‌گردونه.
با آرگومان دوم هم می‌تونی یک مقدار پیش‌فرض مشخص کنی.
📌 این روش برای کار با اطلاعات اختیاری خیلی کاربردیه!

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #ترفند_پایتون #آموزش_برنامه_نویسی
❤3
💡 برای اضافه کردن اطلاعات جدید به دیکشنری، لازم نیست دیکشنری جدید بسازی! 🚀
🐍 با مشخص کردن کلید و مقدار می‌تونی اطلاعات رو اضافه یا ویرایش کنی:
student = {"name": "John", "age": 25}

student["phone"] = "09120000000"
student["name"] = "Sara"

print(student)

📤 خروجی:
{'name': 'Sara', 'age': 25, 'phone': '09120000000'}

✅ اگر کلید وجود نداشته باشه، یک ورودی جدید ساخته می‌شه؛ اگر وجود داشته باشه، مقدارش تغییر می‌کنه.
برای به‌روزرسانی چند مقدار هم می‌تونی از
update()

استفاده کنی.
📌 این ترفند برای مدیریت اطلاعات کاربران خیلی کاربردیه!

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #دیکشنری #ترفند_پایتون
❤3
💡 می‌خوای چند مقدار دیکشنری رو هم‌زمان تغییر بدی؟ از
update()

استفاده کن! 🐍
student = {
    "name": "John",
    "age": 25
}

student.update({
    "name": "Sara",
    "age": 26,
    "city": "Tehran"
})

print(student)

📤 خروجی:
{'name': 'Sara', 'age': 26, 'city': 'Tehran'}

✅
update()

مقادیر کلیدهای موجود رو تغییر می‌ده و کلیدهای جدید رو هم اضافه می‌کنه.
📌 این روش وقتی چندین فیلد از اطلاعات یک کاربر باید به‌روز بشن، حسابی به کارت میاد!

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #آموزش_پایتون #برنامه_نویسی
❤2
💡 چطور کلید و مقدار دیکشنری رو هم‌زمان دریافت کنیم؟ 🚀
🐍 متد
items()

این کار رو برات انجام می‌ده:
student = {
    "name": "Sara",
    "age": 22,
    "city": "Tehran"
}

for key, value in student.items():
    print(key, ":", value)

📤 خروجی:
name : Sara
age : 22
city : Tehran

✅ وقتی مستقیماً روی دیکشنری حلقه می‌زنی، فقط کلیدها دریافت می‌شن.
با
items()

می‌تونی در هر تکرار، هم کلید و هم مقدار مربوط به اون رو بگیری.
📌 این روش برای نمایش اطلاعات کاربران و پردازش داده‌ها خیلی کاربردیه!

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #ترفند_پایتون #برنامه_نویسی
❤2
💡 چطور شرط مخالف یک مقدار رو بررسی کنیم؟ با
not

! 🚀
🐍 این عملگر نتیجه‌ی منطقی یک عبارت رو برعکس می‌کنه:
logged_in = False

if not logged_in:
    print("لطفاً وارد حساب شو.")
else:
    print("خوش اومدی!")

📤 خروجی:
لطفاً وارد حساب شو.

✅ چون
logged_in

برابر با
False

هست، عبارت
not logged_in

نتیجه‌ی
True

می‌ده.
📌 از
not

برای بررسی وضعیت‌هایی مثل وارد نشدن کاربر یا خالی بودن یک مجموعه استفاده می‌شه.

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #آموزش_پایتون #ترفند_پایتون
❤2
💡 می‌دونستی کلید دیکشنری پایتون همیشه نباید رشته باشه؟ 🐍
کلیدها می‌تونن از نوع‌های مختلفی باشن؛ به شرط اینکه قابل استفاده به‌عنوان کلید دیکشنری باشن.
data = {
    "name": "Sara",
    1: "اول",
    (2, 3): "مختصات"
}

print(data["name"])
print(data[1])
print(data[(2, 3)])

📤 خروجی:
Sara
اول
مختصات

✅ رشته‌ها، عددها و تاپل‌هایی که اعضای اون‌ها هم قابل هش‌کردن باشن، می‌تونن کلید باشن.
⚠️ لیست و دیکشنری رو نمی‌تونی مستقیماً به‌عنوان کلید استفاده کنی.
📌 برای خوانایی بیشتر، معمولاً از کلیدهای رشته‌ای استفاده می‌کنیم.

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #دیکشنری #آموزش_پایتون
❤1👍1
💡 چطور یک کلید رو حذف کنیم و در صورت نیاز مقدارش رو هم نگه داریم؟ 🐍
دو روش کاربردی داریم:
student = {
    "name": "John",
    "age": 25
}

age = student.pop("age")

print(age)
print(student)

📤 خروجی:
25
{'name': 'John'}

✅
pop()

کلید رو حذف می‌کنه و مقدار حذف‌شده رو برمی‌گردونه.
اما با
del student["age"]

می‌تونی کلید و مقدارش رو حذف کنی، بدون اینکه مقداری دریافت کنی.
⚠️ اگر کلید وجود نداشته باشه، هر دو روش ممکنه خطا بدن؛
pop()

امکان تعیین مقدار پیش‌فرض هم داره.

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#Python #ترفند_پایتون #آموزش_پایتون
❤1
💡 حدس بزن خروجی این کد چیه! 🧠🐍
student = {
    "name": "Ali",
    "age": 20
}

student["age"] = 21
student["city"] = "Tehran"

print(student.get("age"))
print(student.get("grade", "Unknown"))
print(len(student))

کدوم گزینه درسته؟ 👇
🔹 الف)
20

،
None

،
2

🔹 ب)
21

،
Unknown

،
3

🔹 ج)
21

،
Unknown

،
2

⏳ قبل از دیدن جواب، خودت حدس بزن!
✅ پاسخ صحیح: گزینه‌ی ب
چون سن به ۲۱ تغییر می‌کنه، شهر به دیکشنری اضافه می‌شه و کلید
grade

هم وجود نداره؛ بنابراین get() مقدار پیش‌فرض رو برمی‌گردونه.

🔗 Telegram: @pytechnoo | پایتک 🚀

🔗 Bale: https://ble.ir/pytechnoo ✅

#چالش_پایتون #Python #آموزش_برنامه_نویسی
❤2