رفقا قسمت ۹ از دوره مبانی کامپیوتر و برنامهنویسی منتشر شد و میتونید به کمک لینک زیر در آپارات تماشا کنید
https://www.aparat.com/v/pdb1m12
در این قسمت با مفهوم متغیر آشنا میشیم و انواع داده ها رو میشناسیم و تغییر پذیر بودن اونها رو برسی میکنیم
https://www.aparat.com/v/pdb1m12
در این قسمت با مفهوم متغیر آشنا میشیم و انواع داده ها رو میشناسیم و تغییر پذیر بودن اونها رو برسی میکنیم
آپارات - سرویس اشتراک ویدیو
مبانی کامپیوتر و برنامه نویسی | قسمت 9
در این قسمت با مفهوم متغیر آشنا میشیم و انواع داده ها رو میشناسیم و تغییر پذیر بودن اونها رو برسی میکنیم
لایک ، کامنت ، فالو فراموش نشه
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
لایک ، کامنت ، فالو فراموش نشه
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
سلام رفقا قسمت ۱۰ از دوره مبانی کامپیوتر و برنامهنویسی منتشر شد و میتونید از طریق لینک زیر تماشا کنید
https://www.aparat.com/v/twp362o
در این قسمت راجب عملگرهای حسابی در برنامه نویسی صحبت کردیم
حمایت ها کم شده ها!؟ انرژیمون نیوفته🙏
https://www.aparat.com/v/twp362o
در این قسمت راجب عملگرهای حسابی در برنامه نویسی صحبت کردیم
حمایت ها کم شده ها!؟ انرژیمون نیوفته🙏
آپارات - سرویس اشتراک ویدیو
مبانی کامپیوتر و برنامه نویسی | قسمت 10
در این قسمت راجب عملگرهای حسابی در برنامه نویسی صحبت کردیم
لایک ، کامنت ، فالو فراموش نشه
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
لایک ، کامنت ، فالو فراموش نشه
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
❤3🔥1
قسمت ۱۱ از دوره مبانی کامپیوتر و برنامهنویسی منتشر شد و از لینک زیر میتونید تماشا کنید
https://www.aparat.com/v/ags79e8
در این قسمت راجب عملگر های مقایسه ای صحبت میکنیم
https://www.aparat.com/v/ags79e8
در این قسمت راجب عملگر های مقایسه ای صحبت میکنیم
آپارات - سرویس اشتراک ویدیو
مبانی کامپیوتر و برنامه نویسی | قسمت 11
در این قسمت راجب عملگر های مقایسه ای صحبت میکنیم
لایک ، کامنت ، فالو فراموش نشه
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
لایک ، کامنت ، فالو فراموش نشه
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
❤2
سلام دوستان
قسمت ۱۲ از دوره مبانی کامپیوتر و برنامهنویسی از کانال آپارات منتشر شد و میتونید از طریق لینک زیر تماشا کنید
https://www.aparat.com/v/oiui85c
در این قسمت عملگرهای انتساب، منطقی، هویت و عضویت رو برسی میکنیم
قسمت ۱۲ از دوره مبانی کامپیوتر و برنامهنویسی از کانال آپارات منتشر شد و میتونید از طریق لینک زیر تماشا کنید
https://www.aparat.com/v/oiui85c
در این قسمت عملگرهای انتساب، منطقی، هویت و عضویت رو برسی میکنیم
آپارات - سرویس اشتراک ویدیو
مبانی کامپیوتر و برنامه نویسی | قسمت 12
در این قسمت عملگرهای انتساب، منطقی، هویت و عضویت رو برسی میکنیم
لایک ، کامنت ، فالو فراموش نشه
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
لایک ، کامنت ، فالو فراموش نشه
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
🔥2
قسمت ۱۳ دوره مبانی کامپیوتر و برنامهنویسی رو میتونید از لینک زیر تماشا کنید
https://www.aparat.com/v/mupx071
https://www.aparat.com/v/mupx071
آپارات - سرویس اشتراک ویدیو
مبانی کامپیوتر و برنامه نویسی | قسمت 13
در این قسمت در خصوص عملگرهای بیتی حرف میزنیم .
لایک ، کامنت ، فالو فراموش نشه
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
لایک ، کامنت ، فالو فراموش نشه
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
🔥1
رفقا برای تماشای قسمت ۱۴ دوره مبانی کامپیوتر و برنامهنویسی روی لینک زیر کلیک کنید
https://www.aparat.com/v/yud9a1c
https://www.aparat.com/v/yud9a1c
آپارات - سرویس اشتراک ویدیو
مبانی کامپیوتر و برنامه نویسی | قسمت 14
در این قسمت راجب دستوراتی که باهاشون میتونیم روند اجرای برنامه رو کنترل کنیم صحبت میکنیم و میگیم که چطور میتونیم از شرط ها استفاده کنیم.
لایک ، کامنت ، فالو فراموش نشه
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
لایک ، کامنت ، فالو فراموش نشه
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
🔥1
سلام
قسمت ۱۵ از دوره مبانی کامپیوتر و برنامهنویسی هم منتشر شد از طریق لینک زیر تماشا و حمایت کنید
https://www.aparat.com/v/wlkcej3
در این قسمت حلقه ها در برنامه نویسی برسی کردیم و گفتیم که چطور میتونیم تکه کد ها رو تکرار کنیم.
قسمت ۱۵ از دوره مبانی کامپیوتر و برنامهنویسی هم منتشر شد از طریق لینک زیر تماشا و حمایت کنید
https://www.aparat.com/v/wlkcej3
در این قسمت حلقه ها در برنامه نویسی برسی کردیم و گفتیم که چطور میتونیم تکه کد ها رو تکرار کنیم.
❤1
بنظرتون خروجی این لاین چیه؟
این چطور؟
چرا پس اینجوری میشه؟
مسئله اینه که فکر میکنیم خروجی این عملگر حتما باید بولین باشه.
درحالی که باید قبلش بدونیم این دوتا عملگر منطقی دقیقا چطور کار میکنن
برای همین،یه جدول از خروجی این دوتا عملگر براتون میزارم تا کاملا جا بیوفته
and
or
لایک فراموش نشه
@comma_code1 @comma_code
print(1 and 2)
این چطور؟
print(0 or 2)
چرا پس اینجوری میشه؟
مسئله اینه که فکر میکنیم خروجی این عملگر حتما باید بولین باشه.
درحالی که باید قبلش بدونیم این دوتا عملگر منطقی دقیقا چطور کار میکنن
برای همین،یه جدول از خروجی این دوتا عملگر براتون میزارم تا کاملا جا بیوفته
and
L op | R op | out
---------+------+------
Truthy | any | R op
--------------‐-----------
Falsy | any | L op
or
L op | R op | out
---------+------+------
Truthy | any | L op
--------------‐-----------
Falsy | any | R op
لایک فراموش نشه
@comma_code1 @comma_code
❤5
قسمت ۱۶ دوره مبانی کامپیوتر و برنامهنویسی هم منتشر شد
و میتونید از لینک زیر تماشا کنید
https://www.aparat.com/v/dmz659d
و میتونید از لینک زیر تماشا کنید
https://www.aparat.com/v/dmz659d
آپارات - سرویس اشتراک ویدیو
مبانی کامپیوتر و برنامه نویسی | قسمت 16
در این قسمت راجب فانکشن ها در برنامه نویسی صحبت کردیم.
لایک ، کامنت ، فالو فراموش نشه
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
لایک ، کامنت ، فالو فراموش نشه
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
❤5
سلام رفقا قسمت ۱۷ از دوره مبانی کامپیوتر و برنامهنویسی منتشر شد و میتونید از طریق لینک زیر تماشا کنید
https://www.aparat.com/v/idd0ol0
در این قسمت در مفهوم شی گرایی رو یاد میگیریم و میفهمیم منظور از برنامه نویسی شی گرا یعنی چی
https://www.aparat.com/v/idd0ol0
در این قسمت در مفهوم شی گرایی رو یاد میگیریم و میفهمیم منظور از برنامه نویسی شی گرا یعنی چی
سلام دوستان قسمت ۱۸ از دوره مبانی کامپیوتر و برنامهنویسی منتشر شد و میتونید از طریق لینک زیر تماشا کنید
https://www.aparat.com/v/pfj5337
در این قسمت انواع خطاها در برنامه نویسی رو میشناسیم و یکبار دیگه کل این فصل رو مرور میکنیم و در آخر یکی از رفتار های str رو بازنویسی میکنیم.
https://www.aparat.com/v/pfj5337
در این قسمت انواع خطاها در برنامه نویسی رو میشناسیم و یکبار دیگه کل این فصل رو مرور میکنیم و در آخر یکی از رفتار های str رو بازنویسی میکنیم.
آپارات - سرویس اشتراک ویدیو
مبانی کامپیوتر و برنامه نویسی | قسمت 18
در این قسمت انواع خطاها در برنامه نویسی رو میشناسیم و یکبار دیگه کل این فصل رو مرور میکنیم و در آخر یکی از رفتار های str رو بازنویسی میکنیم.
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
❤3
دوره ۲۵ قسمت هستش و اگر ری اکشن ها و لایک ها خوب باشن بعدش یه چالش میلیونی برگزار میکنیم
❤1
🐍 یه ترفند کاربردی در پایتون که باید بلد باشی!
تا حالا خواستی داخل یک حلقه ی For هم شمارهی آیتم رو داشته باشی، هم خود آیتم؟
به لیست زیر دقت کنید :
❌ روش معمولی:
اما در پایتون یک روش تمیز و اصولی برای این کار موجود است :
🔥
خروجی:
یعنی
💡 حتی میتوان شمارهگذاری را از 1 شروع کرد:
خروجی:
🎯 این روش برای ساختن منوها، نمایش لیست محصولات، شمارهگذاری دانشآموزها و ... کاربرد دارد
مثلاً:
خروجی:
#Python
#پایتون
#برنامه_نویسی
تا حالا خواستی داخل یک حلقه ی For هم شمارهی آیتم رو داشته باشی، هم خود آیتم؟
به لیست زیر دقت کنید :
names = ["Ali", "Sara", "Reza", "Mina"]
❌ روش معمولی:
for i in range(len(names)):
print(i, names[i])
اما در پایتون یک روش تمیز و اصولی برای این کار موجود است :
🔥
enumerate()for index, name in enumerate(names):
print(index, name)
خروجی:
0 Ali
1 Sara
2 Reza
3 Mina
یعنی
enumerate() همزمان شماره (index) و مقدار (value) ر در اختیار برنامه نویس قرار می دهد. 💡 حتی میتوان شمارهگذاری را از 1 شروع کرد:
for index, name in enumerate(names, start=1):
print(index, name)
خروجی:
1 Ali
2 Sara
3 Reza
4 Mina
🎯 این روش برای ساختن منوها، نمایش لیست محصولات، شمارهگذاری دانشآموزها و ... کاربرد دارد
مثلاً:
students = ["محمد", "علی", "سارا"]
for number, student in enumerate(students, start=1):
print(f"{number}. {student}")
خروجی:
1. محمد
2. علی
3. سارا
#Python
#پایتون
#برنامه_نویسی
👍6
سلام دوستان قسمت ۱۹ از دوره مبانی کامپیوتر و برنامهنویسی هم منتشر شد و شما میتونید از طریق لینک زیر تماشا کنید
https://www.aparat.com/v/lvpjq6m
در این قسمت راجب نحوه کار شبکه های کامپیوتری صحبت میکنیم
https://www.aparat.com/v/lvpjq6m
در این قسمت راجب نحوه کار شبکه های کامپیوتری صحبت میکنیم
آپارات - سرویس اشتراک ویدیو
مبانی کامپیوتر و برنامه نویسی | قسمت 19
در این قسمت راجب نحوه کار شبکه های کامپیوتری صحبت میکنیم
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
👍4
🐍 دیکشنری در پایتون و یک نکته ی مهم
دیکشنری برای ذخیره اطلاعات به صورت کلید و مقدار (Key & Value) استفاده میشه.
مثلاً:
اینجا:
🔑 "name" → کلید
📦 "Ali" → مقدار
برای دسترسی به اطلاعات:
خروجی:
Ali
💡 دیکشنری یکی از مهمترین ساختارهای داده در پایتونه و در پروژههای واقعی، مخصوصاً کار با API و JSON، خیلی زیاد استفاده میشه.
📌 یک نکته بسیار مهم در دیکشنری های پایتون 🐍
فرض کن:
اگر بنویسی:
💥 برنامه با KeyError متوقف میشه، چون email وجود نداره.
اما میتوانی از get() استفاده کنی:
خروجی:
None
حتی میتونی مقدار پیشفرض تعیین کنی:
خروجی:
ثبت نشده
🔥 کاربرد واقعی
مثلاً در APIها:
اینطوری اگر کلید وجود نداشته باشه، برنامهات بیدلیل با خطا متوقف نمیشود.
✅ البته سعی کن فقط جایی که لازمه از این دستور استفاده کنی
#Python
#dictionary
دیکشنری برای ذخیره اطلاعات به صورت کلید و مقدار (Key & Value) استفاده میشه.
مثلاً:
user = {
"name": "Ali",
"age": 20,
"city": "Tehran"
}اینجا:
🔑 "name" → کلید
📦 "Ali" → مقدار
برای دسترسی به اطلاعات:
print(user["name"])
خروجی:
Ali
💡 دیکشنری یکی از مهمترین ساختارهای داده در پایتونه و در پروژههای واقعی، مخصوصاً کار با API و JSON، خیلی زیاد استفاده میشه.
📌 یک نکته بسیار مهم در دیکشنری های پایتون 🐍
فرض کن:
user = {
"name": "Ali",
"age": 20
}اگر بنویسی:
print(user["email"])
💥 برنامه با KeyError متوقف میشه، چون email وجود نداره.
اما میتوانی از get() استفاده کنی:
print(user.get("email"))خروجی:
None
حتی میتونی مقدار پیشفرض تعیین کنی:
print(user.get("email", "ثبت نشده"))خروجی:
ثبت نشده
🔥 کاربرد واقعی
مثلاً در APIها:
name = data.get("name", "Unknown")
email = data.get("email", "No Email")اینطوری اگر کلید وجود نداشته باشه، برنامهات بیدلیل با خطا متوقف نمیشود.
✅ البته سعی کن فقط جایی که لازمه از این دستور استفاده کنی
#Python
#dictionary
سلام دوستان قسمت ۲۰ از دوره مبانی کامپیوتر و برنامهنویسی منتشر شد و میتونید از طریق لینک زیر تماشا کنید
https://www.aparat.com/v/ygr2690
در این قسمت راجب اهمیت رمزنگاری در ارتباطات صحبت میکنیم
https://www.aparat.com/v/ygr2690
در این قسمت راجب اهمیت رمزنگاری در ارتباطات صحبت میکنیم
آپارات - سرویس اشتراک ویدیو
مبانی کامپیوتر و برنامه نویسی | قسمت 20
در این قسمت راجب اهمیت رمزنگاری در ارتباطات صحبت میکنیم
لایک ، کامنت و فالو فراموش نشه
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
لایک ، کامنت و فالو فراموش نشه
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: https://t.me/comma_code
❤4
🐍 توابع در پایتون؛ یکبار بنویس، هرچند بار استفاده کن!
فرض کن قرار باشه یک کار مشخص رو چندین بار انجام بدی. بهجای تکرار کد، میتونی اون رو داخل یک Function قرار بدی.
🔹 ساخت یک تابع
حالا هر وقت بخوای اجراش کنی:
🔹 تابع با ورودی
میتونی اطلاعاتی رو به تابع بدی:
خروجی:
Hello Ali!
Hello Sara!
🔹 "return"
اگر بخوای تابع یک نتیجه بهت برگردونه:
خروجی:
30
📌 تفاوت مهم:
"print()" → فقط نتیجه را نمایش میدهد.
"return" → نتیجه را از تابع برمیگرداند تا بتوانی دوباره از آن استفاده کنی.
---
🔥 یک نکته حرفهای
تابع میتونه مقدار پیشفرض داشته باشه:
خروجی:
Hello Guest
Hello Ali
یعنی اگر ورودی ندی، مقدار ""Guest"" استفاده میشه.
🧠 خلاصه:
"def" → ساخت تابع
"()" → دریافت ورودی
"return" → برگرداندن نتیجه
"print()" → نمایش نتیجه
اگر میخوای Python رو اصولی یاد بگیری، توابع یکی از مهمترین مفاهیمیه که باید کاملاً مسلط بشی. 🐍🔥
#Python
#پایتون
#آموزش_پایتون
#برنامه_نویسی
فرض کن قرار باشه یک کار مشخص رو چندین بار انجام بدی. بهجای تکرار کد، میتونی اون رو داخل یک Function قرار بدی.
🔹 ساخت یک تابع
def say_hello():
print("Hello!")
حالا هر وقت بخوای اجراش کنی:
say_hello()
🔹 تابع با ورودی
میتونی اطلاعاتی رو به تابع بدی:
def greet(name):
print(f"Hello {name}!")
greet("Ali")
greet("Sara")
خروجی:
Hello Ali!
Hello Sara!
🔹 "return"
اگر بخوای تابع یک نتیجه بهت برگردونه:
def add(a, b):
return a + b
result = add(10, 20)
print(result)
خروجی:
30
📌 تفاوت مهم:
"print()" → فقط نتیجه را نمایش میدهد.
"return" → نتیجه را از تابع برمیگرداند تا بتوانی دوباره از آن استفاده کنی.
---
🔥 یک نکته حرفهای
تابع میتونه مقدار پیشفرض داشته باشه:
def greet(name="Guest"):
print(f"Hello {name}")
greet()
greet("Ali")
خروجی:
Hello Guest
Hello Ali
یعنی اگر ورودی ندی، مقدار ""Guest"" استفاده میشه.
🧠 خلاصه:
"def" → ساخت تابع
"()" → دریافت ورودی
"return" → برگرداندن نتیجه
"print()" → نمایش نتیجه
اگر میخوای Python رو اصولی یاد بگیری، توابع یکی از مهمترین مفاهیمیه که باید کاملاً مسلط بشی. 🐍🔥
#Python
#پایتون
#آموزش_پایتون
#برنامه_نویسی
سلام دوستان قسمت ۲۱ دوره مبانی کامپیوتر و برنامهنویسی منتشر شد و میتونید از طریق لینک زیر تماشا کنید
https://www.aparat.com/v/mwn764s
در این قسمت راجب اهمیت امنیت سایبری صحبت کردیم و گفتیم اگر لایه های امنیتی و تنظیمات امنیتی به درستی پیاده نشن چه آسیب پذیری هایی ایجاد میشن و چند مثال رو در شبکه های کامپیوتر برسی کردیم
https://www.aparat.com/v/mwn764s
در این قسمت راجب اهمیت امنیت سایبری صحبت کردیم و گفتیم اگر لایه های امنیتی و تنظیمات امنیتی به درستی پیاده نشن چه آسیب پذیری هایی ایجاد میشن و چند مثال رو در شبکه های کامپیوتر برسی کردیم
آپارات - سرویس اشتراک ویدیو
مبانی کامپیوتر و برنامه نویسی | قسمت 21
در این قسمت راجب اهمیت امنیت سایبری صحبت کردیم و گفتیمم اگر لایه های امنیتی و تنظیمات امنیتی اگر به درستی پیاده نشن چه آسیب پذیری هایی ایجاد میشن و چند مثال رو در شببکه های کامپیوتر برسی کردیم
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: htt…
کانال تلگرام ما: https://t.me/comma_code1
گروه تلگرام ما: htt…
❤4
This media is not supported in your browser
VIEW IN TELEGRAM
این ویدئو کوتاه میتونه خیلی خوب تفاوت های الگوریتم های bfs و dfs رو نشون بده
👍2
این پیام هیچ ارتباطی به محتوای کانال نداره ولی
رفقا هر چیزی که دارید محکم بچسبیدش(حتی یه استکان چایی خوری) و هیچ وقت فکر فروشش رو نکنید . اونجوری که اخبار رو خوندم داریم وارد ابر تورم میشیم و حداقل ۵ سال باید در این وضعیت باشیم در وضعیتی که قیمت ها هر ساعت فرق میکنه و عملا نمیتونیم چیزی بخریم . و متاسفانه باید بگم که خیلی از ایرانی ها واقعا وضعیت بدی رو در این ۵ سال تحمل خواهند کرد
#موقت
رفقا هر چیزی که دارید محکم بچسبیدش(حتی یه استکان چایی خوری) و هیچ وقت فکر فروشش رو نکنید . اونجوری که اخبار رو خوندم داریم وارد ابر تورم میشیم و حداقل ۵ سال باید در این وضعیت باشیم در وضعیتی که قیمت ها هر ساعت فرق میکنه و عملا نمیتونیم چیزی بخریم . و متاسفانه باید بگم که خیلی از ایرانی ها واقعا وضعیت بدی رو در این ۵ سال تحمل خواهند کرد
#موقت
💔6❤1
🔥 متغیرها در پایتون؛ چیزی فراتر از "x = 10"
وقتی میگوییم:
x = 10
در واقع پایتون یک «جعبه» به نام "x" نمیسازد که عدد ۱۰ داخل آن قرار گرفته باشد؛ بلکه نام "x" را به یک شیء (Object) در حافظه متصل میکند.
1.متغیر در پایتون واقعاً چیست؟
در زبانهایی مانند C، معمولاً متغیر را بهعنوان یک محل مشخص در حافظه در نظر میگیریم؛ اما در پایتون:
متغیر بیشتر شبیه یک نام (Name) است که به یک شیء اشاره میکند.
در اینجا "x" و "y" هر دو به یک شیء اشاره میکنند.
ممکن است خروجی:
True
باشد؛ چون هر دو نام به همان شیء اشاره دارند.
━━━━━━━━━━━━━━━━━━
2. تفاوت "==" و "is"؛ نکتهای بسیار مهم!
🔹 "==" بررسی میکند که آیا مقدار دو شیء برابر است یا نه.
🔹 "is" بررسی میکند که آیا دو نام دقیقاً به یک شیء اشاره میکنند یا نه.
چرا؟
چون محتوا یکسان است، اما دو لیست مستقل در حافظه ساخته شدهاند.
از "is" برای مقایسهٔ مقادیر معمولی استفاده نکنید؛ کاربرد اصلی آن بررسی هویت شیء است.
━━━━━━━━━━━━━━━━━━
3.متغیرها Type ندارند؛ Objectها Type دارند!
این جمله یکی از مهمترین نکات پایتون است:
«در پایتون، متغیر نوع ثابت ندارد؛ این شیء است که نوع دارد.»
نام "x" تغییر نکرده است؛ اما هر بار به شیئی با نوع متفاوت اشاره میکند.
به این ویژگی میگوییم:
Dynamic Typing
━━━━━━━━━━━━━━━━━━
4. Mutable و Immutable
یکی از کلیدیترین مفاهیم پایتون
Immutable (تغییرناپذیر):
Mutable (تغییرپذیر):
━━━━━━━━━━━━━━━━━━
5.Scope
متغیرها کجا قابل دسترسی هستند؟
پایتون از قانون معروف LEGB استفاده میکند:
- L → Local
- E → Enclosing
- G → Global
- B → Built-in
مثال:
خروجی:
local
پایتون ابتدا در محدودهٔ Local جستوجو میکند، سپس Enclosing، بعد Global و در نهایت Built-in.
━━━━━━━━━━━━━━━━━━
6.چند انتسابی (Multiple Assignment)
پایتون اجازه میدهد چند متغیر را همزمان مقداردهی کنید:
حتی جابهجایی بدون متغیر کمکی:
در واقع پایتون ابتدا مقادیر سمت راست را آماده کرده و سپس آنها را به نامهای سمت چپ اختصاص میدهد.
━━━━━━━━━━━━━━━━━━
7.حذف متغیر با "del"
بعد از این دستور، نام "x" دیگر در آن Scope وجود ندارد.
⚠️ "del"
لزوماً به معنای نابودی فوری شیء نیست؛ فقط یک Reference را حذف میکند. اگر شیء مرجع دیگری نداشته باشد، ممکن است توسط Garbage Collector مدیریت شود.
━━━━━━━━━━━━━━━━━━
8. نامگذاری حرفهای متغیرها
نام خوب باید:
✔️ معنیدار باشد.
✔️ کوتاه اما واضح باشد.
✔️ از "snake_case" استفاده کند.
✔️ با کلمات رزروشده تداخل نداشته باشد.
نام بد:
نام بهتر:
نامگذاری مناسب، خوانایی کد را بهشدت افزایش میدهد.
━━━━━━━━━━━━━━━━━━
جمعبندی نهایی
متغیر در پایتون فقط یک نام برای نگهداری مقدار نیست؛ بلکه بخشی از یک سیستم مبتنی بر Object، Reference، Scope و مدیریت حافظه است.
پایتون را فقط با حفظ سینتکس یاد نگیرید؛ مدل ذهنی پشت زبان را یاد بگیرید. 🐍
#پایتون
#آموزش_متغیرها
@comma_code1
وقتی میگوییم:
x = 10
در واقع پایتون یک «جعبه» به نام "x" نمیسازد که عدد ۱۰ داخل آن قرار گرفته باشد؛ بلکه نام "x" را به یک شیء (Object) در حافظه متصل میکند.
1.متغیر در پایتون واقعاً چیست؟
در زبانهایی مانند C، معمولاً متغیر را بهعنوان یک محل مشخص در حافظه در نظر میگیریم؛ اما در پایتون:
متغیر بیشتر شبیه یک نام (Name) است که به یک شیء اشاره میکند.
x = 10
y = x
print(x) # 10
print(y) # 10
در اینجا "x" و "y" هر دو به یک شیء اشاره میکنند.
print(x is y)
ممکن است خروجی:
True
باشد؛ چون هر دو نام به همان شیء اشاره دارند.
━━━━━━━━━━━━━━━━━━
2. تفاوت "==" و "is"؛ نکتهای بسیار مهم!
🔹 "==" بررسی میکند که آیا مقدار دو شیء برابر است یا نه.
🔹 "is" بررسی میکند که آیا دو نام دقیقاً به یک شیء اشاره میکنند یا نه.
a = [1, 2, 3]
b = [1, 2, 3]
print(a == b) # True
print(a is b) # False
چرا؟
چون محتوا یکسان است، اما دو لیست مستقل در حافظه ساخته شدهاند.
از "is" برای مقایسهٔ مقادیر معمولی استفاده نکنید؛ کاربرد اصلی آن بررسی هویت شیء است.
━━━━━━━━━━━━━━━━━━
3.متغیرها Type ندارند؛ Objectها Type دارند!
این جمله یکی از مهمترین نکات پایتون است:
«در پایتون، متغیر نوع ثابت ندارد؛ این شیء است که نوع دارد.»
x = 10
print(type(x)) # int
x = "Python"
print(type(x)) # str
x = [1, 2, 3]
print(type(x)) # list
نام "x" تغییر نکرده است؛ اما هر بار به شیئی با نوع متفاوت اشاره میکند.
به این ویژگی میگوییم:
Dynamic Typing
━━━━━━━━━━━━━━━━━━
4. Mutable و Immutable
یکی از کلیدیترین مفاهیم پایتون
Immutable (تغییرناپذیر):
- "int"
- "float"
- "str"
- "tuple"
- "bool"
- "frozenset"
Mutable (تغییرپذیر):
- "list"
- "dict"
- "set"
━━━━━━━━━━━━━━━━━━
5.Scope
متغیرها کجا قابل دسترسی هستند؟
پایتون از قانون معروف LEGB استفاده میکند:
- L → Local
- E → Enclosing
- G → Global
- B → Built-in
مثال:
x = "global"
def outer():
x = "enclosing"
def inner():
x = "local"
print(x)
inner()
outer()
خروجی:
local
پایتون ابتدا در محدودهٔ Local جستوجو میکند، سپس Enclosing، بعد Global و در نهایت Built-in.
━━━━━━━━━━━━━━━━━━
6.چند انتسابی (Multiple Assignment)
پایتون اجازه میدهد چند متغیر را همزمان مقداردهی کنید:
a, b, c = 10, 20, 30
حتی جابهجایی بدون متغیر کمکی:
a, b = b, a
در واقع پایتون ابتدا مقادیر سمت راست را آماده کرده و سپس آنها را به نامهای سمت چپ اختصاص میدهد.
━━━━━━━━━━━━━━━━━━
7.حذف متغیر با "del"
x = 10
del x
بعد از این دستور، نام "x" دیگر در آن Scope وجود ندارد.
⚠️ "del"
لزوماً به معنای نابودی فوری شیء نیست؛ فقط یک Reference را حذف میکند. اگر شیء مرجع دیگری نداشته باشد، ممکن است توسط Garbage Collector مدیریت شود.
━━━━━━━━━━━━━━━━━━
8. نامگذاری حرفهای متغیرها
نام خوب باید:
✔️ معنیدار باشد.
✔️ کوتاه اما واضح باشد.
✔️ از "snake_case" استفاده کند.
✔️ با کلمات رزروشده تداخل نداشته باشد.
نام بد:
x = 86400
نام بهتر:
SECONDS_PER_DAY = 86400
نامگذاری مناسب، خوانایی کد را بهشدت افزایش میدهد.
━━━━━━━━━━━━━━━━━━
جمعبندی نهایی
متغیر در پایتون فقط یک نام برای نگهداری مقدار نیست؛ بلکه بخشی از یک سیستم مبتنی بر Object، Reference، Scope و مدیریت حافظه است.
پایتون را فقط با حفظ سینتکس یاد نگیرید؛ مدل ذهنی پشت زبان را یاد بگیرید. 🐍
#پایتون
#آموزش_متغیرها
@comma_code1
❤5🔥1