آموزش زبان برنامه نویسی پایتون

آموزش جامع زبان برنامه نویسی پایتون (3)

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

خاطرتون هست که توی کامپیوتر دو نوع حافظه برای دخیره‌سازی اطلاعات داشتیم: هارد دیسک و RAM.

یه فرق اساسی بین این دو نوع حافظه، سرعت خوندن و نوشتن اطلاعات روشون هست. به طوری که سرعت خوندن (همچنین نوشتن) اطلاعات از RAM خیلی سریع‌تر از هارد دیسک هست.

آموزش جامع زبان برنامه نویسی پایتون

متغیرها در پایتون

برگردیم به بحث متغیرها توی پایتون. موقعی که به یه متغیر یه مقدار رو اختصاص میدیم دقیقا چه اتفاقی میفته؟

زبان‌های برنامه نویسی برای اینکه مقدار متغیرها/ثوابت/لیترال‌ها رو در طول برنامه نگه دارن، باید این مقادیر رو جایی ذخیره کنن. بین دوتا گزینه‌ای که برای ذخیره سازی وجود داره (هارد دیسک و RAM) طبیعتا RAM رو انتخاب میکنن چون خیلی سریعتر هست.

هر RAM از تعداد بسیار زیادی خونه تشکیل شده که هر کدوم از این خونه ها واسه خودشون یه آدرس نسبتا طولانی و مشخص دارن (مثلا 0276GGHBC00 یک نمونه از این ادرس‌هاست). با داشتن آدرس هر خونه، این امکان رو داریم که اطلاعات موجود در اون خونه رو بخونیم یا اطلاعات جدیدی توی اون خونه بنویسیم.

به مثال زیر که مربوطه به تعریف یک متغیر در زبان جاوا اسکریپت هست توجه کنید:

let age = 20

توی جاوا اسکریپت قبل از تعریف متغیر از کلمه کلیدی let استفاده میکنیم و بعد اسم متغیر رو میاریم. اینجا اسم متغیرمون age هست.
وقتی کد بالا رو اجرا مکینیم جاوا اسکریپت میاد و مقدار عددی 20 رو توی یکی از خونه‌های RAM ذخیره میکنه. طبق نکته ای که قبل تر گفتیم برای دسترسی به اطلاعات یه خونه از RAM به چی نیاز داشتیم؟ به آدرس اون خونه.
آیا الان میدونیم که این عدد 20 دقیقا توی کدوم خونه (آدرس) از RAM ذخیره شده؟ خیر نمی‌دونیم.
پس بدون داشتن آدرس اون خونه، چطور بهش دسترسی پیدا کنیم؟
جواب: توی زبان های برنامه نویسی اسمی که برای متغیر انتخاب میکنیم (مثلا در اینجا age) خودش به یه آدرس توی RAM اشاره میکنه. یعنی وقتی میخوایم مقدار متغیر age رو بدونیم، جاوا اسکریپت پشت پرده میدونه که مقدار اختصاص داده شده به این متغیر رو توی کدوم خونه از RAM ذخیره کرده.

آموزش جامع زبان برنامه نویسی پایتون

توی مثالی که بالاتر زدیم نشون دادیم که زبان جاوا اسکریپت چطور یه متغیر (age) رو توی RAM ذخیره میکنه. بیشتر زبان های برنامه نویسی به همین روش داده ها رو توی RAM ذخیره مکینن. اما پایتون یه کوچولو متفاوت تر داده ها رو توی رم دخیره میکنه.
فرض کنید توی پایتون داشته باشیم:

age = 20

توی این حالت پایتون میدونه که متغیر age دقیقا به کدوم آدرس توی RAM اشاره میکنه. فرض کنید ما خودمون میریم توی RAM و به همون ادرس مورد نظر سری میزنیم. انتظار داریم که توی اون خونه مقدار عددی 20 ذخیره شده باشه. اما در نهایت تعجب میبینیم که بجای عدد 20، یه عدد عجیب غریب مثل 0138GGHBC00 ذخیره شده! این عدد قطعا ربطی به عدد 20 نداره و کلا یه چیز دیگه‌است. این عدد شما رو یاد چیزی نمیندازه؟ سعی کنید یه حدسی بزنید🙂

این عدد آدرس یه خونه دیگه از رم هستش!
حالا به این ادرس جدید اشاره شده میریم تا ببینم اونجا چه خبره، به این آدرس جدید که میریم میبنیم که جناب عدد 20 توی این ادرس جدید اتراق دارن.
وقتی که توی پایتون از علامت مساوی برای اختصاص دادن یه مقدار به یه متغیر استفاده میکنیم، پایتون ابتدا خود اون مقدار رو توی یه آدرس متفاوت از آدرس متغیر ذخیره میکنه. بعدش ادرس خونه ای که اون مقدار رو ذخیره کرده رو توی خونه‌ای که متعلق به متغیر هست میزاره.

اگه بخوایم داستان بالا رو به صورت یه جمله آکادمیک بگیم این‌طور میشه:

توی پایتون، ما مقادیر رو به متغیرها تخصیص نمیدیم بلکه ارجاع اون شی (مقدار) رو به متغیر میدیم!

نکته: همونطور که گفتیم، توی رم، مقادیر توی خونه‌ای متفاوت از خونه متغیر ذخیره میشن. توی پایتون به این مقادیر میگن لیترال. یعنی لیترال مقداری هستش که داخل متغیر ریخته میشه. مثلا توی دستور age=20، عدد 20 یه لیترال هست.

اگه بخوایم تا اینجای آموزش جامع زبان برنامه نویسی پایتون رو جمع بندی کنیم:

متغیر یه محل نام گذرای شده توی حافظه (RAM) است برای ذخیره سازی اطلاعات.

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

number = 10
number = 1.1

توی مثال بالا، مقدار اولیه متغیر number اول 10 بوده، توی خط بعدی بنا به نیازمون به 1.1 تغییرش دادیم.

تخصیص مقدار به متغیر در پایتون

همانطور که از مثال بالا میتونید ببینید، برای تخصیص یه مقدار به یک متغیر از عملگر انتساب (assignment operator) استفده میکنیم:

مثال 1: اعلان متغیر و تخصیص مقدار به آن

website = "apple.com"
print(website)

وقتی که برنامه رو اجرا کنید، خروجی به شکل زیر خواهد بود:

apple.com

در برنامه بالا ما مقدار apple.com رو به متغیر website اختصاص دادیم. بعدش مقدار اختصاص داده شده به متغیر website رو در نمایشگر چاپ کردیم.

نکته: توی برخی از زبان های برنامه نویسی  (Java , C , …) موقعی که هر متغیری رو برای اولین بار قراره معرفی یا مقداردهی کنیم باید نوع اون متعیر رو هم مشخص کنیم. مثلا توی زبان جاوا برای اینکه سن یه فرد رو توی یه متغیر نگه داریم مینویسیم int age = 20 یعنی مشخص میکنیم که این متغیر فقط میتونه مقادیر از نوع اعداد صحیح رو قبول کنه و اگه بعدا بهش مقادیر از نوع غیرصحیح بدیم (مثل رشته یا عدد اعشاری) با خطا موجه میشیم.

توی برخی زبان های برنامه نویسی دیگه (Python، PHP و…) موقع تعریف یه متغیر نیازی نیست که نوع داده ای که اون متغیر قراره ذخیره کنه رو هم مشخص کنیم. یعنی کامپایلر اون زبان براساس مقداری که به متغیر داده شده بصورت خودکار نوع متغیر رو تشخص میده (به این زبان های برنامه نویسی اصطلاحا میگن Type inference language.یعنی نوع داده رو خودشون تشخیص میدن).
جالبتر اینکه لزومی نداره نوع متغیر هم در طول برنامه حتما ثبات باقی یعنی توی پایتون میتونیم بنویسم age =20 و بعدش در صورت نیاز حتی مقادیر غیر صحیح (مثل رشته) رو هم به متعیر age نسبت بدیم.(مثلا age = “twenty”)

مثال 2: تغییر مقدار یک متغیر در پایتون

website = "apple.com"
print(website)
# assigning a new variable to website
website = "rastava.com"
print(website)

وقتی که برنامه رو اجرا کنید خروجی به صورت زیر خواهد بود:

apple.com
rastava.com

توی مثال بالا، در ابتدا ما مقدار apple.com رو به متغیر website اختصاص دادیم. بعدش مقدار این متغیر رو به rastava.com تغییر دادیم.

مثال 3: تخصیص چند مقدار به چند متغیر در پایتون

a, b, c = 5, 3.2, "Hello"
print (a)
print (b)
print (c)

اگه بخوایم یک مقدار رو به طور همزمان به چندین متغیر اختصاص بدیم، میتونیم به روش زیر این کار رو انجام بدیم:

x = y = z = "same"
print (x)
print (y)
print (z)

در برنامه بالا، ما مقدار same رو بطور همزمان به هر 3 متغیر x , y , x اختصاص دادیم.

ثابت ها

در این قسمت از آموزش جامع زبان برنامه نویسی پایتون نوبت به معرفی ثابت ها می رسه. توی زبان‌های برنامه نویسی یک ثابت یه نوع متغیر محسوب میشه که مقدارش نمیتونه تغییر پیدا کنه. میتونید ثابت ها رو مثل یه جعبه در نظر بگیرید که محتویات داخلش بعدا نمیتونه تغییر کنه.
مثلا به ثابتها به چشم یه کیف نگاه کنید که وقتی کتاب هاتون رو توی این کیف گذاشتید بعدش دیگه نمیتونید کتابهای داخل کیف رو عوض کنید.

تخصیص مقدار به ثابت ها در پایتون

توی پایتون ثابتها معمولا داخل یه ماژول (module) اعلان و مقداردهی میشن. میدونم الان دارین میپرسین ماژول چیه و آیا ماژول ها فقط مختص زبان پایتون هستن؟
ماژول ها کدهایی هستن که توی یک فایل دیگه نوشته میشن و به شما کمک میکنن با ایمپورت کردنشون در برنامه خودتون به متغیرها، ثابت ها، توابع و … که درون اون ماژول قبلا نوشته شده دسترسی پیدا کنید. یکی از اصلی ترین اهداف ماژول ها اینه که به جای اینکه همه کدهامون رو توی یه فایل عریض و طویل بخوایم نگه داری کنیم، بتونیم اونارو توی فایل های مختلفی سازماندهی کنیم.
معمولا ثابت ها رو با حروف بزرگ نام گذاری میکنیم و اگه چند کلمه ای باشن از _ برای جدا کردن کلمات از هم استفاده میکنیم.

آموزش جامع زبان برنامه نویسی پایتون

مثال 3: اعلان و تخیص یک مقدار به یک ثابت

یک فایل بنام constant.py بسازید و کد زیر را در اون قرار بدید:

PI = 3.14
GRAVITY = 9.8

یه فایل بنام main.py بسازید و کد زیر را در اون قرار دهید:

import constant
print(constant.PI)
print(constant.GRAVITY)

برنامه رو اجرا کنید (فایل main.py)، باید خروجی زیر رو ببینید:

3.14
9.8

در برنامه بالا، ما یه  ماژول بنام constant.py ساختیم. بعدش به ثابت های PI و GRAVITY مقادیری رو نسبت دادیم. سپس یه فایل با نام main.py ساختیم و ماژول constant رو توی این فایل ایمپورت کردیم. در نهایت، مقادیر ثابت ها رو توی صفحه چاپ کریم.

نکته: در پایتون در واقعیت چیزی به اسم ثابت وجود نداره! 😎
یا خدا! چی شد! من کجام!
خون سری خودتون رو حفظ کنید، برید یه چایی برا خودتون بریزید و دوباره بگردید پای میز کامپیوترتون. من اینجا منتظرتون میمونم 😀

تعریف متغیرها و ثابت ها در جاوا اسکریپت

خوب بزارید الان وقتشه که با تعریف متغیرها و ثابت ها توی یه زبان دیگه (مثلا جاوا اسکریپت) آشنا بشیم. توی کد زیر که به زبان جاوا اسکریپت هست میخوایم یه متغیر بنام country و یه ثابت بنام gravity تعریف کنیم:

let country = "iran"
const gravity = 9.8

توی کد بالا، country یه متغیر هست، یعنی میتونیم مقدارش رو مثلا چند خط بعد تغییر بدیم. gravity هم به معنی واقعی کلمه ثابت هست و نمیتونیم gravity رو دوباره مقداردهی کنیم، یعنی اگه بخوایم مقدار gravity رو تغییر بدیم مفسر زبان جاوا اسکریپت خطا میده.
در واقع جاوا اسکریپت توی سینتکس خودش یه روشی برای تشخیص متغیر از ثابت داره (با استفاده از اون کلملات let و const میفهمه که کلمه بعدی یه متغیر هست یا یه ثابت).

توی پایتون داستان مثل جاوا اسکریپت نیست. یعنی توی پایتون ما فقط میتونیم متغیر تعریف کنیم و روشی برای تعریف ثابت نداریم. واسه همین مجبوریم با یه ترفندی از متغیرها هم به عنوان ثابت استفاده کنیم: “هر جایی از برنامه که نیاز به یک ثابت داریم، متغیرمون رو با حروف تماما بزرگ نام‌گذاری می‌کنیم”
با این کار وقتی با متغیرهایی روبرو میشیم که همه حروفشون بزرگ هست یادمون میاد که در واقع این متغیر از نظر ما یه ثابت هست و قرار نیست مقدارش رو بعدا عوض کنیم.
این کاری که می‌کنیم صرفا یه قاعده نام‌گذاری (Naming Convention) هستش که توی کامیونیتی پایتون ازش استفاده میشه و به این معنی نیست که با این روش نام‌گذاری، ماهیتش از متغیر تبدیل به یک ثابت میشه. یعنی اون متغیر همچنان متغیر باقی میمونه و اگه حواسمون نباشه ممکنه مقدارش رو تغییر بدیم (حتی بدون اینکه پایتون هم بهمون خطایی بده).

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

پاسخ‌ها

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

پل ورود به بازار تکنولوژی

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

با کمک مشاورهای رستاوا آکادمی مسیر کارآموزی مناسب برای خودت رو برای ورود به بازار کار تکنولوژی انتخاب کن

توسعه فردی برای حرفه‌ای شدن

منتورهای رستاوا و دوره‌های ما شما رو برای کارآموزی و در نهایت جذب و استخدام آماده میکنن

مدرک بین المللی و استانداردهای جهانی

یادگیری با استاندار های بین المللی و دریافت مدرک از Credx Academy کانادا

اگر در مسیرهای کارآموزی ما پذیرش بگیری موقعیت‌های کارآموزی و استخدام در پروژه‌ها و شرکت های بین المللی از طریق مجموعه رستاوا به روت باز می شه.

۲ هفته رایگان

همین حالا با منتورها

ارتباط آنی بگیر!