در قسمتهای قبلی آموزش مقدماتی پایتون، با مفاهیم و مطالب متنوعی دربارهی این زبان برنامه نویسی آشنا شدید. در ادامهی این آموزشها، مفاهیم بیشتری را فرا خواهید گرفت که با یادگیری آنها، میتوانید خود را یک برنامه نویس پایتون بدانید. اگر از علاقمندان برنامه نویسی هستید، به شما پیشنهاد میکنیم این سری از آموزشهای مقدماتی پایتون را تا انتها دنبال کنید.
متغیرها، نامهایی هستند که برای نام گذاری موقیعتهایی در حافظه استفاده میشوند. محتویات متغیر ممکن است در طول اجرای برنامه تغییر کند. در پایتون نیازی به اعلان نوع متغیر نیست و خود این زبان بر اساس مقدار متغیر به طور خودکار، نوع متغیر را تعیین میکند. به مثالهای زیر توجه کنید:
x = 10 # نوع متغیر عدد صحیح
y = 2.4 # نوع متغیر عدد اعشاری
name = '7learn' #نوع متغیر رشته
نکته: در پایتون، اگر در ابتدای هر خط کاراکتر هشتگ # قرار داده شود، آن خط در برنامه به یک توضیح یا کامنت تبدیل میشود.
در این مثال، x و y و name متغیرهایی هستند که با علامت (=) مقادیری درون آنها ذخیره شده است. همانطور که گفتیم نوع متغیر را پایتون به صورت خودکار تشخیص میدهد. در اینجا 10 یک عدد صحیح است بنابراین نوع متغیر از نوع عدد صحیح تعیین میشود. همچنین پایتون میداند عبارت '7learn' در داخل (' ') یک رشته است و آن را به عنوان یک متغیر از نوع رشته ذخیره میکند.
برای نام گذاری متغیرها در پایتون باید قوانین خاصی را رعایت کنیم:
میتوان از ترکیبی از حروف کوچک a تا z، بزرگ A تا Z، اعداد 0 تا 9 و خط ربط (_) برای نام گذاری متغیرها استفاده کرد.
در پایتون نام متغیر با حروف کوچک و حروف بزرگ تفاوت دارد، به عنوان مثال متغیر s با متغیر S یکی نیست.
حرف اول متغیرها نباید یک عدد باشد، ولی از (_) میتوان در ابتدای متغیرها استفاده کرد. به عنوان مثال نمیتوان از 7learn برای نام متغیر استفاده کرد اما 7learn_ میتواند نام یک متغیر باشد.
از کلمات رزرو شده (Keyword Reserved) در پایتون نمیتوان برای نام گذاری متغیرها استفاده کرد.
همیشه باید از نامهای معنادار برای نامگذاری متغیرها استفاده کنیم تا کد ما خواناتر شود. توصیه میکنیم هیچگاه حروف و اسامی بیربط را در نام متغیر به کار نبرید. به عنوان مثال اگر قرار است دو عدد بگیرید، بهتر است به جای x و y، نام یکی را number_one و دیگری را number_two بگذارید.
دستورالعملهایی که پایتون میتواند انجام دهد را دستور (Statement) مینامند، برای نمونه متغیر x = 10 یک دستور تخصیص دادن است. دستورات دیگری نیز وجود دارند که میتوان از آنها در دستورات شرطی، حلقهها، توابع و... استفاده کرد.
ترکیبی از عملگرهای ریاضی، متغیرها و مقادیر را در پایتون، عبارت (Expressions) مینامند. به مثال زیر توجه کنید، متغیر x و مقدار 5 و عملگر (+) یک Expression را تشکیل میدهند، به همین سادگی!
x = x + 5
در این مثال به متغیر x مقدار 5 اضافه میشود و حاصل داخل همان متغیر x ریخته میشود.
بر خلاف بسیاری از زبانهای برنامه نویسی که از آکولاد {} برای بلوکبندی کد استفاده میکنند، پایتون با استفاده از تورفتگی، کدهای خود را بلوکبندی میکند. لذا رعایت تورفتگی در کدنویسی پایتون الزامی است. استاندارد هر تو رفتگی به اندازهی 4 فاصله (Space) یا یک Tab است، اما قانون نیست.
متغیرهای بولین نوعی از متغیرها هستند که دو مقدار منطقی درست بودن (True) و غلط بودن (False) را در خود نگه میدارند. ضمن اینکه میتوانند مقدار (None) به معنی هیچکدام را نیز داشته باشند. به مثالهای زیر توجه کنید:
name = True
family = None
برای انجام عملیات مختلف از جمله عملیات حسابی یا منطقی، از نشانههایی استفاده میشود که به آنها عملگر میگویند. به عنوان مثال برای جمع دو عدد از عملگر (+) و برای تفریق از عملگر (-) استفاده میکنند. عملگرها دارای انواع مختلف هستند که ما به سه نوع از آنها اشاره میکنیم:
از این عملگرها برای انجام عملیات ریاضی از جمله جمع، تفریق، ضرب و تقسیم استفاده میشود:
+ : برای جمع کردن دو عدد یا اتصال دو رشته به هم
- : برای تفریق عملوند سمت چپ از سمت راستی
* : برای ضرب کردن دو عدد
/ : برای تقسیم عملوند سمت چپ بر سمت راستی
% : باقیماندهی تقسیم عملوند سمت چپ بر سمت راستی را نمایش میدهد
// : حاصل قسمت صحیح تقسیم را نمایش میدهد
** : عملگر سمت چپ را به توان عملگر سمت راست میرساند
از این نوع عملگرها برای مقایسهی مقادیر نسبت به یکدیگر استفاده میگردد و حاصل خروجی این عملگرها یا درست (True) یا نادرست (False) است:
< : بزرگتر است از
> : کوچکتر است از
== : برابر است با
=! : نا مساوی
=< : بزرگتر یا مساوی است با
=> : کوچکتر یا مساوی است با
همانگونه از نام این عملگرها پیداست، بیشتر برای عبارات شرطی استفاده میشوند و خروجی True یا False میدهند:
and : در صورتی که هر دو عملوند صحیح باشند، خروجی True و در غیر این صورت خروجی False است.
or : در صورتی که یکی از عملوندها صحیح باشد، خروجی True است.
not : در صورتی که عملوند نادرست باشد، خروجی True است.
ابتدا به این مثال توجه کنید:
x = 2 + 6 / 7 * 2
اگر این عبارت را به شما بدهند، چگونه آن را محاسبه میکنید؟ همانگونه که میبینید هر شخصی میتواند، جوابی متفاوت به دست آورد، زیرا مشخص نیست کدام یک از عملگرها در ابتدا محاسبه شود. اما در پایتون، این عبارت براساس اولویتی که به عملگرها اختصاص داده شده، محاسبه میشود لذا برای آنکه جواب مورد انتظارتان را به دست آورید، باید با اولویت عملگرها آشنا شوید تا از خطاهای احتمالی جلوگیری شود. اولویت عملگرها در پایتون به ترتیب زیر است:
نکات مهم:
اگر نیاز باشد عملگری در ابتدا محاسبه شود ولی در اولویت پایینی قرار دارد، آن را در داخل پرانتز قرار میدهند.
اگر در عبارتی، چند پرانتز تودرتو وجود داشته باشد، محاسبه از داخلیترین پرانتز آغاز و با بیرونیترین پرانتز پایان میپذیرد.
محاسبهی اولویت عملگرهایی که در یک سطح قرار دارند، از سمت چپ به راست شروع میشود.
در پایتون شش نوع داده وجود دارد که شامل عدد (Integer)، رشته (String)، لیست (List)، تاپل (Tuple)، مجموعه (Set) و دیکشنری (ِDictionary) است. ما در ادامه ویژگیها و نحوهی ایجاد هر یک را به صورت مختصر توضیح خواهیم داد.
پایتون از سه نوع دادهی عددی پشتیبانی میکند، اعداد صحیح (Integers Numbers)، اعداد شناور یا ممیزی (Floating Point Numbers) و اعداد مختلط (Complex Numbers) که هر کدام در پایتون به ترتیب با int ،float و complex تعریف میشوند. در مثال زیر، نحوهی تعریف هر سه نوع دادهی عددی را میبینید:
# Integer Number
a = 8
print(type(a))
# Floating Point Numbers
b = 8.0
print(type(b))
# Complex Numbers
c = 6 + 2j
print(type(c))
<class 'int'> <class 'float'> <class 'complex'>
رشته (String) در پایتون، آرایهای از بایتها است که کاراکترهای یونیکد (Unicode) را نمایش میدهند. با این اوصاف، در پایتون نوع دادهی "کاراکتر" وجود ندارد و یک کاراکتر، رشتهای به طول 1 است.
در پایتون، میتوان رشتهها را با کوتیشن (quotes)، دابلکوتیشن (double quotes) و سهگانه کوتیشن (triple quotes) تعریف کرد.
# Python Program for Creation of String
# Creating a String with single Quotes
String1 = 'Welcome to the Geeks World'
print("String with the use of Single Quotes: ")
print(String1)
# Creating a String with double Quotes
String1 = "I'm a Geek"
print("\nString with the use of Double Quotes: ")
print(String1)
# Creating a String with triple Quotes
String1 = '''I'm a Geek and I live in a world of "Geeks"'''
print("\nString with the use of Triple Quotes: ")
print(String1)
# Creating String with triple Quotes allows multiple lines
String1 = '''Geeks
For
Life'''
print("\nCreating a multiline String: ")
print(String1)
خروجی
String with the use of Single Quotes: Welcome to the Geeks World String with the use of Double Quotes: I'm a Geek String with the use of Triple Quotes: I'm a Geek and I live in a world of "Geeks" Creating a multiline String: Geeks For Life
در پایتون دسترسی به کاراکترهای یک رشته، با استفاده از ایندکس (Index) آن کاراکتر امکانپذیر است. همانند بسیاری از زبانهای برنامه نویسی دیگر، در پایتون نیز ایندکسها از صفر شروع میشوند. استفاده از ایندکس منفی، اجازهی دسترسی به انتهای رشته را برای ما فراهم میکند. به عنوان مثال ایندکس 1- به آخرین کاراکتر رشته و 2- به کاراکتر یکی مانده به آخر اشاره دارند.
هنگامی که عددی خارج از محدودهی ایندکس وارد شود، باعث ایجاد خطای IndexError میشود. ضمن اینکه فقط عدد صحیح (Integer) را میتوان در ایندکس وارد کرد و اعداد شناور ( float) و انواع دیگر باعث ایجاد خطای TypeError میشوند.
# Python Program to Access
# characters of String
String1 = "7Learn"
print("Initial String: ")
print(String1)
# Printing First character
print("\nFirst character of String is: ")
print(String1[0])
# Printing Last character
print("\nLast character of String is: ")
print(String1[-1])
Initial String: 7Learn First character of String is: 7 Last character of String is: n
برای دسترسی به محدودهی خاصی از رشته، از روش برش استفاده میشود. برش یک رشته در پایتون، با استفاده از عملگر (:) صورت میگیرد.
# Python Program to
# demonstrate String slicing
# Creating a String
String1 = "7Learn"
print("Initial String: ")
print(String1)
# Printing 3rd to 9th character
print("\nSlicing characters from 3-9: ")
print(String1[3:9])
# Printing characters between
# 3rd and 2nd last character
print("\nSlicing characters between " +
"3rd and 2nd last character: ")
print(String1[3:-2])
Initial String: 7Learn.com Slicing characters from 3-12: arn.co Slicing characters between 3rd and 2nd last character: arn.c
در پایتون، حذف یا بهروزرسانی کاراکترها در یک رشته مجاز نیست و باعث ایجاد خطا میشود، زیرا انتساب آیتم جدید به رشته یا حذف یک آیتم از رشته در پایتون پشتیبانی نمیشود. اگر چه حذف کل رشته با کلمهی کلیدی del امکانپذیر است. این به دلیل آن است که رشتهها تغییرناپذیر (immutable) هستند، از این رو، عناصر یک رشته را نمیتوان پس از اختصاص دادن تغییر داد. فقط میتوان رشتههای جدید را به همان نام قبلی اختصاص داد.
# Python Program to Update
# character of a String
String1 = "Hello, I'm a Geek"
print("Initial String: ")
print(String1)
# Updating a character
# of the String
String1[2] = 'p'
print("\nUpdating character at 2nd Index: ")
print(String1)
Traceback (most recent call last): File “/home/360bb1830c83a918fc78aa8979195653.py”, line 10, in String1[2] = ‘p’ TypeError: ‘str’ object does not support item assignment
# Python Program to Update
# entire String
String1 = "Hello, I'm a Geek"
print("Initial String: ")
print(String1)
# Updating a String
String1 = "Welcome to the Geek World"
print("\nUpdated String: ")
print(String1)
Initial String: Hello, I'm a Geek Updated String: Welcome to the Geek World
# Python Program to Delete
# characters from a String
String1 = "Hello, I'm a Geek"
print("Initial String: ")
print(String1)
# Deleting a character
# of the String
del String1[2]
print("\nDeleting character at 2nd Index: ")
print(String1)
Traceback (most recent call last): File “/home/499e96a61e19944e7e45b7a6e1276742.py”, line 10, in del String1[2] TypeError: ‘str’ object doesn’t support item deletion
بعد از حذف کل رشته با کلمهی کلیدی del، اگر قصد چاپ رشته را داشته باشیم با خطا مواجه میشویم، زیرا رشته حذف شده است و در دسترس نیست.
# Python Program to Delete
# entire String
String1 = "Hello, I'm a Geek"
print("Initial String: ")
print(String1)
# Deleting a String
# with the use of del
del String1
print("\nDeleting entire String: ")
print(String1)
Traceback (most recent call last): File “/home/e4b8f2170f140da99d2fe57d9d8c6a94.py”, line 12, in print(String1) NameError: name ‘String1’ is not defined
برای کسب اطلاعات بیشتر درمورد رشتهها، مستندات پایتون را مطالعه نمایید.
لیستها درست همانند آرایههای پویایی هستند که در زبانهای برنامه نویسی دیگر وجود دارد (مانند vector در ++C و ArrayList در Java). لیستها نیازی ندارند که همیشه همنوع باشند و به همین جهت آنها به قدرتمندترین ابزار در پایتون تبدیل شدهاند. یک لیست میتواند انواع داده مانند اعداد صحیح، رشتهها و همچنین شیها را به طور همزمان در خود بگنجاند. لیستها قابل تغییر (mutable) هستند و از این رو، پس از ایجاد نیز میتوانند تغییر کنند.
لیست در پایتون، مرتبشده و دارای تعداد مشخصی است. عناصر موجود در یک لیست مطابق یک ترتیب مشخص ایندکس میشوند و اولین ایندکس لیست با صفر شروع میشود. هر عنصر در لیست دارای مکان مشخص خود در آن لیست است که امکان تکثیر آن عنصر در لیست را فراهم میآورد.
برای ایجاد یک لیست در پایتون فقط کافی است تا دنبالهای از دادهها را در داخل براکت [] قرار دهیم.
# Python program to demonstrate
# Creation of List
# Creating a List
List = []
print("Blank List: ")
print(List)
# Creating a List of numbers
List = [10, 20, 14]
print("\nList of numbers: ")
print(List)
# Creating a List of strings and accessing
# using index
List = ["Geeks", "For", "Geeks"]
print("\nList Items: ")
print(List[0])
print(List[2])
# Creating a Multi-Dimensional List
# (By Nesting a list inside a List)
List = [['Geeks', 'For'] , ['Geeks']]
print("\nMulti-Dimensional List: ")
print(List)
Blank List: [] List of numbers: [10, 20, 14] List Items Geeks Geeks Multi-Dimensional List: [['Geeks', 'For'], ['Geeks']]
یک لیست ممکن است دارای مقادیر تکراری در مکانهای مجزا باشد. از این رو، میتوان مقادیر تکراری یا متمایز بسیاری به عنوان یک دنباله در زمان ایجاد یک لیست در آن قرار داد.
# Creating a List with
# the use of Numbers
# (Having duplicate values)
List = [1, 2, 4, 4, 3, 3, 3, 6, 5]
print("\nList with the use of Numbers: ")
print(List)
# Creating a List with
# mixed type of values
# (Having numbers and strings)
List = [1, 2, 'Geeks', 4, 'For', 6, 'Geeks']
print("\nList with the use of Mixed Values: ")
print(List)
List with the use of Numbers: [1, 2, 4, 4, 3, 3, 3, 6, 5] List with the use of Mixed Values: [1, 2, 'Geeks', 4, 'For', 6, 'Geeks']
برای به دست آوردن اندازهی لیست، از متد ()len استفاده میشود.
# Creating a List
List1 = []
print(len(List1))
# Creating a List of numbers
List2 = [10, 20, 14]
print(len(List2))
0 3
لیست پایتون دارای متدهای متنوعی است که هر کدام عملکردهای ارزشمندی به برنامهنویسان ارائه میدهند. یکی از این متدها ()append است که با آن میتوان عضو جدیدی به لیست اضافه کنند. برای اضافه کردن چند عنصر با روش ()append از حلقهها استفاده میشود. حتی یک لیست را میتوان با ()append به لیست موجود اضافه کرد.
# Python program to demonstrate
# Addition of elements in a List
# Creating a List
List = []
print("Initial blank List: ")
print(List)
# Addition of Elements
# in the List
List.append(1)
List.append(2)
List.append(4)
print("\nList after Addition of Three elements: ")
print(List)
# Adding elements to the List
# using Iterator
for i in range(1, 4):
List.append(i)
print("\nList after Addition of elements from 1-3: ")
print(List)
# Adding Tuples to the List
List.append((5, 6))
print("\nList after Addition of a Tuple: ")
print(List)
# Addition of List to a List
List2 = ['For', 'Geeks']
List.append(List2)
print("\nList after Addition of a List: ")
print(List)
Initial blank List: [] List after Addition of Three elements: [1, 2, 4] List after Addition of elements from 1-3: [1, 2, 4, 1, 2, 3] List after Addition of a Tuple: [1, 2, 4, 1, 2, 3, (5, 6)] List after Addition of a List: [1, 2, 4, 1, 2, 3, (5, 6), ['For', 'Geeks']]
در این آموزش، مفاهیمی هم چون متغیرها (Variables)، دستورات (Statements)، عبارات (Expressions) و تورفتگی در پایتون (Indentation) را معرفی کردیم. سپس متغیرهای بولین True و False و همچنین عملگرها و انواع آن نظیر عملگر حسابی، عملگر مقایسهای و عملگر منطقی را یاد گرفتیم. از اولویت عملگرها گفتیم و در ادامه به سراغ انواع داده در پایتون رفتیم و سه نوع آن یعنی اعداد، رشتهها و لیستها را با مثال توضیح دادیم. در قسمت بعدی آموزش مقدماتی پایتون، دیگر انواع داده همچون تاپلها، دیکشنریها و مجموعه را به همراه حلقههای تکرار for و while را معرفی خواهیم کرد. منتظر آموزش بعدی ما باشید.
امیدوار هستیم که این مقاله برای شما مفید بوده باشد. شما میتوانید نظرات و پرسشهای خود را با ما در میان بگذارید.