برنامه‌نویسی comma.code | computer| کاما کد|
2.67K subscribers
23 photos
64 videos
9 files
93 links
به ⭐️کانال کاما کد⭐️ خوش اومدی؛ جایی که کدها زنده میشن و ایدهها به واقعیت تبدیل میشدن! 🚀 چه تازهکار باشی و چه حرفه ای، اینجا کلی چیز منتظرته

حرفی سخنی انتقادی: @ir_379
Download Telegram
سلام دوستان
قسمت ۱۲ از دوره مبانی کامپیوتر و برنامه‌نویسی از کانال آپارات منتشر شد و میتونید از طریق لینک زیر تماشا کنید
https://www.aparat.com/v/oiui85c
در این قسمت عملگرهای انتساب، منطقی، هویت و عضویت رو برسی میکنیم
🔥2
سلام
قسمت ۱۵ از دوره مبانی کامپیوتر و برنامه‌نویسی هم منتشر شد از طریق لینک زیر تماشا و حمایت کنید
https://www.aparat.com/v/wlkcej3
در این قسمت حلقه ها در برنامه نویسی برسی کردیم و گفتیم که چطور میتونیم تکه کد ها رو تکرار کنیم.
❤1
بنظرتون خروجی این لاین چیه؟
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/idd0ol0
در این قسمت در مفهوم شی گرایی رو یاد میگیریم و میفهمیم منظور از برنامه نویسی شی گرا یعنی چی
سلام دوستان قسمت ۱۸ از دوره مبانی کامپیوتر و برنامه‌نویسی منتشر شد و میتونید از طریق لینک زیر تماشا کنید
https://www.aparat.com/v/pfj5337
در این قسمت انواع خطاها در برنامه نویسی رو میشناسیم و یکبار دیگه کل این فصل رو مرور میکنیم و در آخر یکی از رفتار های str رو بازنویسی میکنیم.
❤3
دوره ۲۵ قسمت هستش و اگر ری اکشن ها و لایک ها خوب باشن بعدش یه چالش میلیونی برگزار می‌کنیم
❤1
🐍 یه ترفند کاربردی در پایتون که باید بلد باشی!
تا حالا خواستی داخل یک حلقه ی 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
در این قسمت راجب نحوه کار شبکه های کامپیوتری صحبت میکنیم
👍4
🐍 دیکشنری در پایتون و یک نکته ی مهم

دیکشنری برای ذخیره اطلاعات به صورت کلید و مقدار (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
🐍 توابع در پایتون؛ یک‌بار بنویس، هرچند بار استفاده کن!

فرض کن قرار باشه یک کار مشخص رو چندین بار انجام بدی. به‌جای تکرار کد، می‌تونی اون رو داخل یک 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
در این قسمت راجب اهمیت امنیت سایبری صحبت کردیم و گفتیم اگر لایه های امنیتی و تنظیمات امنیتی به درستی پیاده نشن چه آسیب پذیری هایی ایجاد میشن و چند مثال رو در شبکه های کامپیوتر برسی کردیم
❤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 = 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
سلام رفقا قسمت ۲۲ دوره مبانی کامپیوتر و برنامه‌نویسی منتشر شد و میتونید از طریق لینک زیر تماشا کنید
https://www.aparat.com/v/jtu0650
در این قسمت گفتیم که برای تولید یک محصول باید چه مراحلی رو طی کنیم و برای تبدیل نیاز به محصول باید چکار کنیم.
روز برنامه نویس رو به همتون تبریک میگم
❤4