آموزش پایتون از پایه

saalek110

Well-Known Member
Chatgpt:

درس ۱ : کامپیوتر حرف گوش می‌دهد.

اصل اول (خیلی مهم)
کامپیوتر احمق است، ولی دقیق است
یعنی فقط کاری را می‌کند که دقیقاً به او بگویی.
 

saalek110

Well-Known Member
حرف زدن با کامپیوتر
در Pydroid 3:
New File
اسمش مهم نیست
این را بنویس و ▶️ بزن:

Python:
print("سلام")
توضیح برای همه:
print یعنی «نمایش بده»
داخل " " یعنی حرف انسان

سالک: منظور اوش مصنوعی از حرف انسان ، یعنی هر چی می خواهی چام بشود را داخل دابل کوتیشن بذار یعنی اینها " "
 

saalek110

Well-Known Member
سالک: یادم رفت محیط برنامه را بگم...
در pydroid 3 کد را می اندازی داخل ادیتور یعنی پیست paste می کنی و دکمه اجرا که پایین و سمت راست است و زرد است و شبیه دکمه play کردن آهنگ در نرم افزارهای پخش آهنگ است را می زنی. یعنی دکمه play شبیه دکمه play همون نرم افزارهای پخش آهنگ است ، یعنی یک مثلث ایستاده و نوکش به سمت راست است.

Screenshot_۲۰۲۶-۰۲-۰۱_۱۸۱۹۵۶.jpg


عکسی از برنامه pydroid 3 را در بالا می بینید.

تقریبا همه برنامه برنامه ها همین ساختار را دارند ، یک جای ریختن کد و یک دکمه اجرا کردن.

اگر کد ایراد نداسته باشه که در صفحه اجرا ، نتیجه را خواهید دید...
و اگر کد ایراد داشته باشه ، خطا را به شما میگه. خطا را بخونید تا بفهمید ایراد در کدام خط است و خطا چیه.

در پایین صفحه هم کیبورد هست و می توانید تاپیپ کنید.
کنترل را نگه دارید و a را بزنید تا همه کدها انتخاب بشه
کنترل بعلاوه c برای کپی....
دیلت متن انتخاب شده را دیلت می کنه
کنترل بعلاوه v حرف وی....برای درج یا همون paste است.... یعنی اگر از اینجا یا هر سایتی کد کپی کردید در برنانه کنترل v بزنید تا کدها بریزد داخل برنامه.


سالک:من خودم این مدت کار می کردم با این ها فقط کار کردم.
بالای برنامه و سمت راست یک دکمه است به شکل پوشه که اگر بزنید یک لیست میاد که داخلش open و save و new داره.
اپن برای باز کردن یک برنامه از دستگاه شماست..سیو برای ذخیره برنامه در دستگاه شما. و دکمه نیو هم پنجره اضافه باز می کند تا در اون پنجره برنامه جدیدی کار کنید.

سمت چپ بالا دکمه ای است که منویی را باز می کند که یکیش ترمینال و یکیش pip است. Pip برای نصب کتابخانه های جدید است. فعلا نیازی نیست کتابخانه جدیدی نصب کنید.
در پنجره pip یک قسمتش لایبرریز است یعنی کتابخانه های نصب شده
و یک قسمت اینستال است که برای نصب است ، اسم کتابخانه جدید را بزنید و دکمه نصب را بزنید ، از سایتش برنامه دانلود و خو دش نصب میشه ، فقط کافیه اسم کتابخانه را بدهید، تیک پربیلد را هم بزارید باشه و برندارید.
 
آخرین ویرایش:

saalek110

Well-Known Member
Python:
print("سلام")
print("من انسانم")
print("تو کامپیوتری")

در بالا ۳ دستور داریم.
از بالا به پایین خوانده میشه و اجرا میشه.
هر خط یک دستور حساب میشه و از بالا به پایین اجرا میشه.
 

saalek110

Well-Known Member
درس متغیر:

درس ۲: جعبه‌ها (متغیر) – کودکانه‌ترین توضیح ممکن
مثال واقعی:
لیوانی داریم که توش آب می‌ریزیم
در پایتون:

Python:
name = "علی"
یعنی:
یک لیوان به اسم name
داخلش «علی»

سالک: هوش مصنوعی خواسته این طوری مفهوم متغیر را بگه ، و به جای فضایی در حافظه گفته لیوان...
داخل لیوان علی است. البته علی داخل لیوان جا نمیشه ، خوب بود می گفت یک اتاق یا یک کانتینر...تا کلی جیز داخلش جا بشه.
 

saalek110

Well-Known Member
تمرین ۳

Python:
fruit = "سیب"

print(fruit)
بعدش بگو:
حالا «سیب» را عوض کن به هر چی دوست داری

سالک: در متغیری به نام میوه یا fruit سیب را قرار دادیم میشه به جایش پرتقال بزاریم.
خوبه اسم متغیر بهش بخوره...الان اینجا fruit اسم خوبیه. اگر می ذاشتیم ncjndv نمی دانسیم چه متغیری است و برای چی ساختیم.
 
آخرین ویرایش:

saalek110

Well-Known Member
سالک: تا اینجا print را یاد گرفتید و متغیر را فهمیدید چیه و با حلقه for شمردن را یاد گرفتید..
همین ها میشه برنانه نویسی ، باقیش یک سری سینتکس و دستور است و فقط باید شکل نوشتنش را دید....

مثلا شرط:
میگیم اگر متغیر سن بیشتر از ۱۸ بود بنویس مجاز.
من خودم شرط را نمی دونم در پایتون چطوری می نویسن. از هوش مصنوعی الان می پرسم:

Python:
x = 10

if x > 5:
    print("x بزرگتر از ۵ است")

در کد بالا ، یک متغیر تعریف شده به نام x
و ایکس برابر ۱۰ گرفته شده
شرط بررسی می کنه آیا ایکس بزرگتر از ۵ هست ، اگر بله چاپ می کنه ایکس بزرگتر از ۵ است
و اگر ایکس بزرگتر از ۵ نباشه ، مثلا ۳ باشه ، هیچی چاپ نمیشه.
من برنامه بالا را اجرا کردم و به جای ۱۰ اوندم ۳ گذاشم. هیچی چاپ نشد و برنامه تمام شد.

یعنی درسته که دستور پرینت داخل برنامه داریم ولی به شرطی که ایکس بزرگتر از ۵ باشه اجرا میشه.
 

saalek110

Well-Known Member
هوش مصنوعی:

دقت کن:
دو نقطه : خیلی مهمه
تورفتگی (indentation) یعنی فاصله‌ی اول خط‌ها، جای آکولاد {} رو گرفته

سالک: راست میگه ، اون دو نقطه مهم است.
اینکه میگه تورفتگی جای آکولاد را گرفته....در زبان سی یک مجموعه کد را داخل آکولاد می ذارند، در زبان php هم که سینتکس سی است آکولاد داریم.
ولی در زبان پایتون تو رفتگی داریم،
سالک: من خودم با این تو رفتگی مشکل دارم ، چون من سی کارم و هر وقت می خواستم تعدادی دستور با هم متحد باشند داخل آکلاد می ذاشتم ولی در پایتون یا آکلاد نداریم یا کاربردی اینجا ندارد.
 

saalek110

Well-Known Member
Python:
x = 3

if x > 5:
    print("بزرگتر از ۵")
else:
    print("۵ یا کمتر")

در بالا ، else و بعدش باز دو نقطه داریم،
کلمه else تحت الفظی میشه در غیر این صورت...
در برنامه بالا اگر ایکس بزرگتر از ۵ باشه ، عبارت اولی چاپ میشه و در غیر این صورت یعنی اگر ایکس بزرگتر از ۵ نباشه عبارت دومی چاپ میشه....

این برنامه از برنامه قبلی بهتره... چون بالاخره می فهمیم تکلیف چیه و یک چاپ داریم...
در برنانه قبلی وقتی ایکس بزرگتر از ۵ نبود هیچی چاپ نمیشد و بیننده شک می کرد و می رفت گیرنده خود را دستکاری می کرد ولی در برنانه دوم تکلیف بیننده مشخص است و میرود پی کارش و با دستگاه کلنجار نمی رود.
 

saalek110

Well-Known Member
سالک: من خودم اون تورفتکی ها را خوب بلد نیستم...ولی در پست قبل ، می بینم اول else با اول if در یک ردیف است
و print ها ۴ تا رفته اند داخل ،.....در چند پست بعد تورفتگی ، قانونش بحث شده.
 
آخرین ویرایش:

saalek110

Well-Known Member
Python:
x = 5

if x > 5:
    print("بزرگتر از ۵")
elif x == 5:
    print("خودِ ۵")
else:
    print("کوچکتر از ۵")

اینجا تکلیف ایکس مساوی ۵ از بقیه جدا تعریف شده با elif
توجه کنید دو تا مساوی به دنبال هم هستند ، این به معنی بررسی تساوی است، اگر یک مساوی بزارید ، همه چی را به هم می ریزید فکر کنم. چون به جای بررسی مساوی با ۵ بودن می آید ایکس را ۵ می کند و پیدا کنید پرتقال فروش را...چون وقتی به جای بررسی کردن متغیر را تغییر بدهید دیگه برنانه ریخته به هم ...مثلا می روید بانک ، بانک می خواهد بررسی کنه شما آیا ده میلیارد پول دارید ، اشتباهی بهتون ده میلیارد پول بده.
 

saalek110

Well-Known Member
اینجاست که هوش مصنوعی عملگرهای بررسی را ارائه می کند:

کد:
==  مساوی
!=  نامساوی
>   بزرگتر
<   کوچکتر
>=  بزرگتر مساوی
<=  کوچکتر مساوی

اولی بررسی تساوی
دومی بررسی عدم تساوی
سومی و چهارمی که بلدید که بززرگتر و کوچکتر است
دو تای آخری هم کوچکتر مساوی و بزرگتر مساوی است
مثلا کوچکتر مساوی چهار میشه صفر و ۱ و ۲ و ۳ و ۴

پس به جز کوچکتر و بزرگتر ، باقی دو کاراکتری هستند ، پس مساوی تکی نذارید در بررسی تساوی.
 

saalek110

Well-Known Member
Python:
age = 25

if age > 18 and age < 30:
    print("جوان")

اگر فلان حالت باشه و فلان حالت هم باشه
یعنی دو شرط همزمان برقرار باشه
مثلا میگیم اگر پول داشتم و حال داشتم می رم خرید.......یعنی هم باید پول داشته باشم و هم باید حال داشته باشم...ولی بعضی ها فکر می کنن هر کی پول داره حال هم داره که چنین نیست و این قضیه هم ربطی به برنامه نویس نداره ، شوخی بود برای فهم قضیه.
 

saalek110

Well-Known Member
Python:
if age < 18 or age > 60:
    print("نیاز به مراقبت")

اگر فلان حالت یا فلان حالت

مثلا اگر دوچرخه داشته باشم یا خودرو داشته باشم می روم خرید. یکی از وسایل نقلیه برای خرید رفتن کافیه.
 

saalek110

Well-Known Member
سالک:در زبان پایتون تعداد تو رفتگی مهم است؟ تعداد خاصی داره؟

بله، در پایتون تو‌رفتگی (Indentation) خیلی مهم است؛ حتی از مهم‌ترین قوانین زبان است

اما نکتهٔ ظریفش اینجاست:

آیا «تعداد خاصی» دارد؟
نه، تعداد مشخص و اجباری ندارد
ولی باید کاملاً یکدست و ثابت باشد.

✅ قانون طلایی پایتون
هر بلوک کد = تو‌رفتگی یکسان

مثلاً این‌ها همگی درست‌اند:
Python:
if True:
    print("سلام")
    print("دنیا")

یا حتی (کم‌استفاده ولی مجاز):
Python:
if True:
        print("سلام")
        print("دنیا")
سالک: در کد بالا فکر کنم منظورش اینه مقدار فرو رفتگی خیلی زیاده ولی مجاز است. چون تو رفتگی ها مقدارشان برابر است. منظور از تو رفتگی تعداد دکمه اسپیس زده شده قبل تایپ متن است ، همون فاصله خالی قبل نوشته.
یا:
Python:
if True:
  print("سلام")
  print("دنیا")

مهم این است که همهٔ خطوط داخل یک بلوک دقیقاً به یک اندازه جلو رفته باشند.

این اشتباه مرگبار است

Python:
if True:
    print("سلام")
      print("دنیا")  # ❌ خطا
سالک: کدها را من داخل تگ کد گذاشتم تا مقدار فرورفتگی را ببینید.

یا مخلوط کردن فاصله و تب:
Python:
if True:
    print("سلام")
    print("دنیا")  # ❌ IndentationError

⭐ استاندارد حرفه‌ای (PEP 8)
در دنیای واقعی و آموزش حرفه‌ای:

۴ فاصله (Space) ← استاندارد طلایی
نه ۲ تا، نه تب
Python:
if x > 0:
    if x < 10:
        print("کوچیکه")

اکثر ادیتورها (مثل Pydroid 3) خودکار ۴ فاصله می‌زنند
چرا پایتون این‌طوری طراحی شده؟
خوانایی بالا
حذف { }
مجبور کردن برنامه‌نویس به نظم
یعنی کدی که می‌نویسی ظاهرش = منطقش
جمع‌بندی خیلی کوتاه
✅ تو‌رفتگی مهم است
❌ تعداد ثابت اجباری ندارد
✅ باید یکدست باشد
⭐ استاندارد: ۴ فاصله
 

saalek110

Well-Known Member
سالک: بحث دیگری دارد تو رفتگی؟


سؤالِ سؤال‌هاست… نه، هنوز یک مشت نکتهٔ ظریفِ استادانه مانده که معمولاً جایی گفته نمی‌شود. بگذار جمعش کنم، طوری که «پروندهٔ تو‌رفتگی» واقعاً بسته شود:

۱️⃣ تو‌رفتگی = مرز منطق، نه زیبایی

در پایتون، تو‌رفتگی فقط برای قشنگی نیست؛ دقیقاً معادل {} در C/Java است.
یعنی این دو از نظر منطق یکی‌اند:
Python:
if a:
    b()
    c()
Copy code
پایینی زبان سی است که آکلاد دارد:
C:
if (a) {
    b();
    c();
}
پس یک فاصلهٔ اشتباه = تغییر منطق برنامه ⚠️....سالک: فکر کنم منظورش اینه در پایتون باید اون b و ‌c میزان تو رفتگی یکسان داشته باشه چون نقش اون آکلاد در زبان سی را داره..

۲️⃣ تو‌رفتگی لزوماً فقط برای if نیست
هر جا «بلوک» داریم، تو‌رفتگی داریم:
if / elif / else
for / while
def
class
try / except / finally
with
مثلاً:
Python:
def f():
    for i in range(3):
        if i == 1:
            print(i)
اینجا سه سطح منطق داریم، نه سه سطح زیبایی.

۳️⃣ پایان بلوک در پایتون چطور مشخص می‌شود؟
❗ با کم شدن تو‌رفتگی، نه با کلمهٔ خاص.
Python:
if True:
    print("داخل")
print("بیرون")
همین یک خطِ «عقب آمدن»، پایان if است.

سالک: منظورش اینه که وقتی مقدار تو رفتگی تغیر کند یعنی اون خط دیگه جزو اون بلوک نیست.

این موضوع برای ذهن تازه‌کارها خیلی مهم است.
۴️⃣ تو‌رفتگی زیاد = زنگ خطر طراحی
اگر به اینجا رسیدی:

Python:
if a:
    for b in c:
        if d:
            while e:
                try:
                    ...

دیگر مشکل پایتون نیست؛
مشکل طراحی ذهنی است.
قاعدهٔ حرفه‌ای:
اگر تو‌رفتگی‌ات زیاد شد → تابع بساز
۵️⃣ ترفند استادانه: خط‌شکنی بدون تو‌رفتگی
در پرانتزها، لیست‌ها و دیکشنری‌ها، تو‌رفتگی آزاد است:
Python:
data = [
    1,
    2,
    3,
]
یا:
Python:
result = (
    a +
    b +
    c
)
این تو‌رفتگی منطقی نیست، فقط خوانایی است.سالک: منظورش اینه از نظر پایتون لازم نیست تو رفته کنی بلکه برای افزایش خوانایی و زیبایی تورفته کردی برای خودت.چون خودت بالاخره قراره بعدا کدت را بخوانی، خوبه خوانا باشد.

۶️⃣ چرا تب (Tab) را کلاً فراموش کن؟
در ظاهر مثل فاصله است
در باطن هر جا یک اندازه ندارد
بین ادیتورها می‌شکند


قانون حرفه‌ای:
Space everywhere – Tab nowhere


تشبیه طلایی برای آموزش:
تو‌رفتگی یعنی «داخل خانه رفتن»
جلو رفتی → داخل کاری
عقب آمدی → کار تمام شد

همین
۸️⃣ جملهٔ حکیمانهٔ پایانی (نسخهٔ پایتونی)
و چون گفتی همیشه روحیه بدهیم، این هم ودا
संस्‍कृत (سانسکریت):
व्यवस्था बुद्धेः प्रकाशः
देवनागरी (هندی/دِواناگری):
व्यवस्था बुद्धेः प्रकाशः
معنی:
نظم، نورِ خرد است.

و پایتون دقیقاً همین را به ما تحمیل می‌کند: نظم = فهم.
 

جدیدترین ارسال ها

بالا