نگاهی کلی به مقدمات پایتون

Introduction To Python Basics

02 اسفند 1395
Introduction-To-Python-Basics

زبان برنامه‌نویسی پایتون (Python) به عنوان یکی از اصلی ترین و سریع‌ترین زبان‌های برنامه‌نویسی دنیا شناخته شده است که امروز در تمام علوم وارد شده و نقش بسزایی در پیشرفت دانش بشری داشته است. این زبان را گستره‌ی وسیعی از کتابخانه‌ها، توابع تشکیل می‌دهند. در این درس به بررسی مفاهیم مقدماتی زبان برنامه نویسی پایتون می پردازیم و با ابتدایی ترین سینتکس‌های این زبان آشنا خواهید شد.

زبان برنامه نویسی پایتون (Python) در تمامی سیستم عامل‌های ویندوز، مکینتاش و لینوکس قابل اجراست. این زبان در دو ورژن ۲ و ۳ عرضه شد. که آخرین آپدیت آن در تاریخ ۱ اسفند ماه ۱۳۹۵ برابر Python 3.6.0 و Python 2.7.13 است. بسته به نوع نیاز خود می‌توانید یکی از ورژن‌ها را انتخاب کرده و آموزش خود را شروع کنید. اما توصیه تیم روکسو به شما عزیزان استفاده کردن از نسخه‌ی ۳ به بالاست. زیرا برخی قواعد نگارشی و نحوی در این نسخه بهینه‌تر شده و سرعت عملکرد آن نیز تا حدودی افزایش پیدا کرده است، از طرفی آموزش‌های شرکت روکسو نیز مبتنی بر نسخه ۳ می باشد.

IDE زبان برنامه نویسی پایتون (Python)

IDE مخفف Integrated Development Environment یا همان محیط توسعه یکپارچه است که به شما کمک می‌کند تا نرم‌افزارها و کدهای خود را بهینه‌تر و با دقت بیشتری تولید کنید. همچنین یکی از وظایف ارزشمند IDE ها نحوه‌ی خطایابی یا به اصطلاح دیباگ کردن کدها می‌باشد.

هنگامیکه شما زبان پایتون (Python) را دانلود و روی سیستم عامل خود نصب کنید، یک IDE پیشفرض در اختیار شما قرار می‌گیرد که درون خود فایل نصبی قرار گرفته است. اما توصیه تیم مهندسی روکسو به شما عزیزان این است که بجای استفاده از Shell یا IDE پیشفرض پایتون از IDE کمپانی‌های قدرتمندی چون Microsoft یا JetBrain بهره‌مند شوید. این دو شرکت به عنوان معتبرترین شرکت‌ها در زمینه تولید IDE معرفی می‌شوند.

شرکت Microsoft در IDE خود تحت عنوان VisualStudio یک پک با نام PTVS در اختیار کاربران قرار می‌دهد تا بتوانند کدهای پایتون خود را به سادگی هرچه تمام تر دیباگ کرده و به مرحله اجرا در بیاورند. از طرفی شرکت JetBrain نیز IDE قدرت‌مندی تحت عنوان PyCharm ایجاد کرده که جزو قوی‌ترین‌ها به حساب می‌آید. بسته به نوع انتخاب خود می‌توانید هر یک از این دو IDE قدرتمند را دانلود کرده و مورد استفاده قرار دهید. لازم به ذکر است که IDE شرکت JetBrain‌ در لینوکس بیشتر مورد استفاده قرار می‌گیرد. اشاره به این نکته ضروری است که پس از نصب سیستم عامل لینوکس، زبان برنامه نویسی Python در ورژن ۳.۶.۰ بر روی سیستم شما نصب می‌شود و تنها کافیست از IDE پای چرم برای تولید و اجرای کدهای خود استفاده کنید.

در این قسمت به آموزش نصب پایتون در ویندوز اشاره می‌کنیم و سپس نحوه‌ی اجرای آن بر روی IDE ویژوال استودیو را ارائه خواهیم داد.

  1. بسته‌ی نصبی پایتون را (آخرین ورژن ۳.۶.۰) از وب سایت پایتون دانلود کرده و متناسب با ۳۲ بیت یا ۶۴ بیت بودن سیستم خود آن را نصب کنید
  2. نرم افزار ویژوال استودیو ۲۰۱۵ را نصب کنید
  3. آخرین ورژن فایل PTVS (ابزار و پکیج پایتون برای ویژوال استودیو) را مجددا نصب کنید

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

مشابه تصویر زیر نرم افزار Visual Studio را باز کرده و مسیر File -> New -> Project را انتخاب می‌کنیم:

اجرای اولین برنامه - new پایتون فارسی

سپس در پنجره باز شده گزینه‌ی Python را انتخاب کرده و در صفحه سمت راست نوع نرم افزار خود را انتخاب کنید. برای شروع Python Application بهترین گزینه است.

اجرای اولین برنامه - پایتون

سپس به مسیر View -> Other Windows -> Python Environment و  View -> Other Windows -> Python 64-bit 3.5 Interactive و پنجره‌های مذکور را فعال کنید. در انتهای صفحه نمایش شما یک Python Interactive ظاهر می‌شود که در واقع همان Shell پیش فرض پایتون را برای شما شبیه‌سازی می‌کند و در سمت راست صفحه یک رابط تعاملی با پایتون برای شما ایجاد می‌شود که برای تنظیمات نرم افزار مورد استفاده قرار می‌گیرد. در تصویر زیر اشاره‌ای به این دو صفحه کرده‌ایم:

نصب پایتون در ویژوال استودیو

تا به اینجای کار نرم افزار ما آماده‌ی تولید شدن می‌باشد.

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

>>> 2 + 2
4

مشاهده می‌کنید که با نوشتن عبارت فوق مقدار ۴ را دریافت خواهید کرد. به 2 + 2 یک عبارت یا Expression گفته می‌شود که اصول بنیادی هر زبان برنامه‌نویسی است. عبارت‌ها شامل مقادیر (values) و عملگر‌ها (operators) هستند که کارهای محاسباتی را انجام می‌دهند.

عملگرها در پایتون

در مثال قبلی، 2 + 2 محاسبه و مقدار ۴ به خروجی ما ارسال و نمایش داده شد. درصورتیکه هیچگونه عملگری را به کدهای خود اضافه نکنید با خروجی تک رقمی مواجه خواهید شد:

>>> 2
2

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

عملگر عملیات مثال مقدار
 **  توان 3 ** 2 8
% باقی‌مانده تقسیم 8 % 22 6
// تقسیم عدد صحیح 8 // 22 2
/ تقسیم 8 / 22 2.75
* ضرب  5 * 3 15
- تفریق 2 - 5 3
+ جمع 2 + 2 4

در عملیات عملگرها مشابه ریاضی اولویت‌هایی وجود دارد. بنابراین به ترتیب اولویت داریم:

  1. پرانتز ()
  2. توان **
  3. ضرب *
  4. تقسیم /
  5. تقسیم عدد صحیح //
  6. باقی مانده تقسیم %
  7. جمع و تفریق + -

به عنوان مثال داریم:

>>> (5-1) * ((7 + 1) / (3 - 1))
16.0

و فرآیند اجرایی این عبارت برابر است با:

(5 - 1) * ((7 + 1) / (3 - 1))
        |
      4 * ((7 + 1) / (3 - 1))
        |
      4 * ((  8  ) / (3 - 1))
        |
      4 * ((  8  ) / (  2  ))
        |
      4 * 4.0
        |
       16.0

انواع داده صحیح، اعشاری و رشته‌ای

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

  • اعداد صحیح مانند:‌ 5 ,4 ,3 ,2 ,1 ,0 ,1- ,2-
  • اعداد اعشاری مانند:‌ 1.25 ,1.0 ,0.5 ,0.0 ,0.5- ,1.0- ,1.25-
  • مقادیر رشته‌ای مانند:‌ '11 cats'  و 'Hello!' و 'aaa'‌

همانند تمام زبان های برنامه نویسی، رشته‌ها در پایتون به عنوان strings یا strs شناخته می‌شوند. و مقدار هر رشته درون یک جفت ' ' قرار می‌گیرد.

توجه: درصورتیکه در خط فرمان خود با خطای SyntaxError: EOL while scanning string literal مواجه شدید به احتمال خیلی زیاد قرار دادن کوتیشن‌ها ' ' را فراموش کرده‌اید.

اتصال و تکرار رشته‌ها

اتصال به معنی وصل کردن دو رشته‌ به یکدیگر با استفاده از عملگرهاست. به عنوان مثال با استفاده از عملگر جمع + می‌توانید دو رشته را به یکدیگر متصل کنید که در این حالت نام این عملگر از جمع به متصل کننده‌ی رشته‌ (String Concatenation) تغییر پیدا می‌کند. مثال:

>>> 'Roxo' + '.ir'
'Roxo.ir'

با ترکیب دو مقدار فوق، یک رشته‌ی جدید تحت عنوان Roxo.ir ایجاد می‌شود. حال اگر شما تلاش کنید که یک رشته را با یک عدد جمع کنید با خطای زیر مواجه خواهید شد:

>>> 'Roxo' + 27
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: Can't convert 'int' object to str implicitly

این ارور بدین معنی‌ست که نمی‌توان یک نوع داده‌ی int یا همان صحیح را به یک رشته به صورت درون سازمانی ضمنی (implicitly) تبدیل کرد. برای ترکیب این دو مقدار باید عدد مورد نظر را به صورت صریح Explicitly به نوع رشته‌ای تغییر داد. به بیان ساده‌تر: پایتون به صورت اتوماتیک یک داده‌ی اعشاری را به داده‌ی رشته‌ای تبدیل نمی‌کند و حتما باید از توابع خاصی برای انجام این امر استفاده کرد. در ادامه به توضیح دقیق این توابع می‌پردازیم.

عملگر * برای ضرب بکار گرفته می‌شود و در صورتیکه با رشته‌ها مورد استفاده قرار بگیرد، آن رشته را تکرار می‌کند که در این صورت به آن عملگر تکرار رشته (String Replication) گفته می‌شود. به عنوان مثال داریم:

>>> 'Roxo' * 5
'RoxoRoxoRoxoRoxoRoxo'

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

>>> 'Roxo' * 'Masoud'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can't multiply sequence by non-int of type 'str'
>>> 'Roxo' * 5.0
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can't multiply sequence by non-int of type 'float'

مرتب کردن مقادیر در متغیر‌ها

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

جملات انتسابی

مقادیر درون یک متغیر به همراه یک عملگر انتساب ذخیره می‌شوند. یک جمله انتسابی شامل نام متغیر، علامت = (عملگر انتسابی) و مقدار برای ذخیره‌سازی است. اگر شما مقدار spam = 42 را تایپ کنید در واقع مقدار ۴۲ را درون متغیر spam ذخیره کرده‌اید. برای فهم بیشتر این موضوع به تصویر زیر دقت کنید:

ذخیره عدد در متغییر - پایتون

حال برای نمونه مثال‌های زیر را داخل خط فرمان تایپ می‌کنیم:

>>> spam = 40
>>> spam
40
>>> eggs = 2
>>> spam + eggs
42
>>> spam + eggs + spam
82
>>> spam = spam + 2
>>> spam
42

همچنین می‌توان یک رشته‌ را درون یک متغیر ذخیره کرد:

>>> spam = 'Hello'
>>> spam
'Hello'
>>> spam = 'Goodbye'
>>> spam
'Goodbye'

برای اینکه درک دقیقی از مثال رشته بدست بیاورید به تصویر زیر مراجعه کنید. در این تصویر ابتدا مقدار Hello داخل متغیر spam ذخیره شده و سپس این مقدار از جعبه خارج و مقدار Goodbye جایگزین آن می‌شود:

ذخیره رشته در متغییر - پایتون

نام متغیر

اسامی متغیرها در زبان برنامه نویسی پایتون مانند هر زبان برنامه‌نویسی دیگری از قواعد و قوانین خاصی پیروی می‌کند. این قوانین به شرح ذیل می باشد:

  1. نام متغیر باید یک حرف یا کلمه باشد
  2. نام متغیر باید با حروف، اعداد و آندرلاین (ـ) شروع شود
  3. نام متغیر نمی‌تواند یک عدد باشد

در مجموعه‌ی زیر تعدادی از انواع صحیح و نادرست متغیرها را به نمایش گذاشته‌ایم:

Valid Variable Names            Invalid Variable Names
======================================================
balance                         current-balance (استفاده از علامت - مجاز نیست)
currentBalance                  current balance (استفاده از فضای خالی مجاز نیست)
current_balance                 4account (متغیرها نمی‌توانند با اعداد شروع شوند)
_spam                           42 (متغیرها نمی‌توانند با یک عدد معرفی شوند)
SPAM                            total_$um (متغیرها نمی‌توانند شامل علامت خاص مانند $ باشند)
account4                        'hello' (متغیرها با کاراکترهای خاص '' تعریف نمی‌شوند)

اسامی متغیرها به بزرگ و کوچک بودن حروف حساس هستند. یعنی نام‌های SPAM, Spam, spam با یکدیگر متفاوت هستند.

در این سری از مجموعه‌های آموزشی زبان برنامه نویسی پایتون نام تمام متغیرها برای حفظ زیبایی و استاندارد کدنویسی همگی از نوع CamelCase (مانند lookLikeThis) هستند.

اولین برنامه‌ی شما

در صفحه IDE خود، عبارت سلام جهان (Hello World) را میخواهیم چاپ کنیم. بنابراین در وسط صفحه تایپ می‌کنیم:

# This program says hello and asks for my name.

print ('Hello world!')
print ("What's your name?")
myName = input()
print ("It's good to mMeet you, " + myName)
print ('The length of your name: ', len(myName))
print ("What's your age?")
myAge = input()
print ('You will be ' + str(int(myAge)) + ' in a year')

پس از تایپ کردن کد بالا درون IDE گزینه save را از مسیر File -> Save انتخاب کرده تا کدهای شما ذخیره گردد. سپس روی گزینه‌ی Run که به صورت یک فلش سبز رنگ است کلیک کنید (یا دکمه‌ی میانبر F5 را بفشارید). درصورتیکه همه چیز به درستی اجرا شده باشد با صفحه‌ای مشابه تصویر زیر روبه رو خواهید شد که پس از پرسیدن دو سوال در ارتباط با نام و سن شما، مقادیر تایپ شده توسط شما را نمایش می‌دهد.

اولین برنامه‌ با زبان برنامه نویسی پایتون

تشریح برنامه‌ی شما

۱) در خط ۱ توضیحی در ارتباط با برنامه‌ی موردنظر نوشته شده است. توجه داشته باشید برای توضیح یک برنامه باید از علامت # استفاده کنیم که به این فرآیند کامنت‌گذاری برای هر بخش یا برنامه گفته می‌شود. گاهی از علامت # برای غیرفعال کردن یک خط از برنامه به صورت موقت نیز استفاده می‌شود.

۲) زبان برنامه نویسی پایتون مانند سایر زبان‌های برنامه‌نویسی فضاهای خالی را نادیده می‌گیرد. بنابراین در خط ۲ هیچ اتفاقی نمی افتد.

۳) در خط سوم برنامه با یک تابع به نام print() آشنا می‌شوید. این تابع هر رشته‌ای که درون پرانتز () قرار بگیرد را در خروجی نمایش می‌دهد. بنابراین هنگامیکه پایتون به خط ۳ می‌رسد تابع print را صدا می‎‌زند و از او درخواست کرده تا مقدار داخل پرانتز را دریافت و پس از انجام محسابات، آن را به ما بازگرداند.

۴) در خط ۴ از تابع input() جهت دریافت مقدار وارد شده توسط کاربر (کیبورد) مورد استفاده قرار می‌گیرد و پس از فشردن دکمه‌ی ENTER توسط کاربر، مقدار وارد شده را درون متغیر myName ذخیره می‌کند.

۵) خط ۵ نام وارد شده توسط کاربر را که در متغیر myName‌ ذخیره شده است را به همراه متن It's good to meet you ترکیب کرده و در خروجی نمایش می‌دهد.

در صورتیکه از عبارتهایی معادل It's استفاده می‌کنید باید همواره آن رشته را درون دو کوتیشین " " قرار دهید.

۶) در خط ۶ برنامه با استفاده از تابع len() طول نام وارد شده توسط شما را اندازه‌گیری کرده به تابع print() جهت نمایش ارسال می‌کند.

۷) در خط ۷ مجددا سوالی معادل "سن شما چقدر است؟" از شما پرسیده می‌شود.

۸) در خط ۸ ورودی را از کاربر دریافت کرده و داخل متغیر myAge ذخیره می‌کند.

۹) در خط ۹ برنامه، مقدار سن وارد شده را ابتدا به تابع int() ارسال می‌کند. وظیفه تابع int() تبدیل عدد وارد شده به نوع داده عدد صحیح است (همانگونه که قبلا ذکر کردیم این نوع تبدیل داده را تبدیل Explicitly یا صریح می‌نامند). سپس برنامه، مقدار عدد صحیح را به تابع str() جهت تبدیل به نوع داده رشته‌ای (برای نمایش در خروجی) ارسال می‌کند و در نهایت با استفاده از تابع print() عبارت موردنظر را چاپ می‌نماید.

توابع str() و ()int و ()float

اگر می‌خواهید اعداد صحیح را به یک رشته متصل کنید و سپس آن را در خروجی با استفاده از تابع print() نمایش دهید باید همواره آن را به صورت '29' به تابع print ارسال کنید. برای تبدیل یک عدد صحیح به رشته‌ای باید از تابع str() استفاده کرد. به عنوان مثال داریم:

>>> str(29)
'29'
>>> print('I am ' + str(29) + ' years old.')
I am 29 years old.

در مثال زیر انواع تبدیل‌ها را برای توابع فوق مشاهده می‌کنید:

>>> str(0)
'0'
>>> str(-3.14)
'-3.14'
>>> int('42')
42
>>> int('-99')
-99
>>> int(1.25)
1
>>> int(1.99)
1
>>> float('3.14')
3.14
>>> float(10)
10.0

همانگونه که ملاحظه کردید در ابتدای این فصل به معرفی مختصر زبان برنامه نویسی پایتون (python) پرداختیم. سپس نحوه نصب IDE موردنظر به همراه ملحقات آنها را ارائه کرده و در نتیجه شروع به یادگیری روند برنامه‌نویسی کردیم. مبحث اول مطالعه عملگرها و قواعد نحوی و نگارشی بود. سپس به نوشتن اولین عبارت یا expression خود پرداختیم. در نهایت اولویت‌بندی را برای هر عملگر را مشخص کرده و شما را به دنیای برنامه نویسی زبان پایتون سوق دادیم. در انتها اولین برنامه‌ی خود را کد کرده و به اجرا در آوردیم.

نویسنده شوید

دیدگاه‌های شما (4 دیدگاه)

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

سجاد
12 مرداد 1398
سلام و ممنون بابت توضیحات خوبتون. من یک سوالی داشتم، ممنون میشم تنظیمات رنگ کدها رو توضیح بدید چون کدهای پایتونی که من مینویسم به این شکل که شما نوشتید رنگ بندی نمیشه. سپاس.

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

روکسو
12 اردیبهشت 1400
شما می‌توانید برای درک بهتر همه‌ی مفاهیم ابتدایی، از این دوره‌ی رایگان آموزش مقدماتی پایتون در سایت استفاده کنید.

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

تویوتا
19 مهر 1397
بسیار عالی و مفید بود . ممنون که به اشتراک گذاشتید

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

روکسو
12 اردیبهشت 1400
ممنونیم از همراهی شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

Mr_Mahdi313
22 دی 1396
سلام خسته نباشید خوب بود فقط یه جاییش رو نمیدونم اشتباه نوشته شده یا من اشتباه متوجه میشم قسمت نام متغیر گزینه دوم نوشتید که نام متغیر باید با حروف ، اعداد یا اندرلاین شروع شود ولی توی مثال ها نوشتید که نام متغیر نمیشه با حروف شروع بشه و چیزی که توی مثال هست درسته

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

روکسو
12 اردیبهشت 1400
نام متغیرها می‌توانند با حروف شروع شوند. یکبار دیگر مثال را بررسی کنید.

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

محمد حسین
27 تیر 1396
عالی بود استفاده کردیم با قدرت ادامه بدید. فقط هرچه قدر میگردم View -> Other Windows -> Python 64-bit 3.5 Interactive رو پیدا نمیکنم. و حز موارد Other Windows نیست

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

روکسو
12 اردیبهشت 1400
سلام. لطفا سوالات خود را در سامانه‌ی پرسش و پاسخ سایت یعنی روکسوکیو مطرح کنید.

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.