آموزش پایتون - لیترالها
لیترالها در پایتون چیستند؟
لیترالها (Literals) یا مقادیر ثابت در پایتون، شیوه نمایشی برای نشان دادن یک مقدار ثابت در کد منبع هستند. برخلاف متغیرها، لیترالها (مانند 123، 4.3، "Hello") مقادیر ثابتی هستند که در طول اجرای برنامه یا برنامه کاربردی تغییر نمیکنند. برای مثال، در دستور انتساب زیر:
x = 10
در اینجا 10 یک لیترال است، زیرا یک مقدار عددی نشاندهنده 10 است که مستقیماً در حافظه ذخیره میشود. با این حال، در دستور زیر:
y = x*2
حتی اگر عبارت برابر با 20 ارزیابی شود، این مقدار به صورت مستقیم (لیترال) در کد منبع نیامده است. همچنین میتوانید با تابع داخلی ()int یک شیء از نوع int ایجاد کنید. با این حال، این نیز یک روش غیرمستقیم برای نمونهسازی است و استفاده مستقیم از لیترال محسوب نمیشود.
x = int(10)
انواع مختلف لیترالها در پایتون
پایتون لیترالهای زیر را ارائه میدهد که در این آموزش توضیح داده خواهند شد:
- لیترال صحیح (Integer Literal)
- لیترال اعشاری (Float Literal)
- لیترال مختلط (Complex Literal)
- لیترال رشتهای (String Literal)
- لیترال لیست (List Literal)
- لیترال تاپل (Tuple Literal)
- لیترال دیکشنری (Dictionary Literal)
لیترال صحیح در پایتون
هرگونه نمایشی که تنها شامل نمادهای ارقام (0 تا 9) باشد، یک شیء از نوع int ایجاد میکند. به شیء ایجادشده میتوان از طریق یک متغیر و با استفاده از عملگر انتساب اشاره کرد.
لیترالهای صحیح شامل سه نوع مقدار مختلف هستند: لیترالهای دهدهی (دهدهی)، هشتتایی (مبنای ۸) و شانزدهتایی (مبنای ۱۶).
۱. لیترال دهدهی (Decimal Literal)
لیترالهای دهدهی نشاندهنده اعداد علامتدار یا بدون علامت هستند. برای ایجاد یک مقدار لیترال دهدهی از ارقام 0 تا 9 استفاده میشود.
دستور زیر را که یک لیترال دهدهی را به متغیر منتسب میکند ببینید −
x = 10
y = -25
z = 0
۲. لیترال هشتتایی (Octal Literal)
پایتون اجازه میدهد یک عدد صحیح به صورت عدد هشتتایی یا شانزدهتایی نشان داده شود. یک نمایش عددی که تنها شامل هشت نماد رقمی (0 تا 7) باشد اما پیشوند 0o یا 0O داشته باشد، در پایتون یک عدد هشتتایی (اکتال) است.
دستور زیر را که یک لیترال هشتتایی را به متغیر منتسب میکند ببینید −
x = 0O34
۳. لیترال شانزدهتایی (Hexadecimal Literal)
به همین ترتیب، مجموعهای از نمادهای شانزدهتایی (0 تا 9 و a تا f) با پیشوند 0x یا 0X، نشاندهنده یک عدد صحیح در فرم شانزدهتایی (هگزادسیمال) در پایتون است.
دستور زیر را که یک لیترال شانزدهتایی را به متغیر منتسب میکند ببینید −
x = 0X1C
با این حال، لازم به ذکر است که حتی اگر از نشانهگذاری لیترال هشتتایی یا شانزدهتایی استفاده کنید، پایتون در درون خود با آنها به عنوان نوع int رفتار میکند.
مثال
# Using Octal notation
x = 0O34
print ("0O34 in octal is", x, type(x))
# Using Hexadecimal notation
x = 0X1c
print ("0X1c in Hexadecimal is", x, type(x))
هنگامی که این کد را اجرا میکنید، خروجی زیر را تولید میکند −
0O34 in octal is 28 <class 'int'>
0X1c in Hexadecimal is 28 <class 'int'>
لیترال اعشاری در پایتون
یک عدد ممیز شناور (اعشاری) از یک بخش صحیح و یک بخش اعشاری تشکیل شده است. به طور معمول، نماد نقطه اعشار (.) این دو بخش را در نمایش لیترال یک عدد اعشاری از هم جدا میکند. برای مثال،
مثالی از لیترال اعشاری
x = 25.55
y = 0.05
z = -12.2345
برای یک عدد ممیز شناور که بسیار بزرگ یا بسیار کوچک است، و تعداد ارقام قبل یا بعد از نقطه اعشار زیاد است، از نماد علمی برای نمایش فشرده لیترال استفاده میشود. نماد E یا e که بعد از آن یک عدد صحیح مثبت یا منفی میآید، پس از بخش صحیح قرار میگیرد.
مثالی از لیترال اعشاری با نماد علمی
برای مثال، عدد 1.23E05 معادل 123000.00 است. به همین ترتیب، 1.23e-2 معادل 0.0123 است.
# Using normal floating point notation
x = 1.23
print ("1.23 in normal float literal is", x, type(x))
# Using Scientific notation
x = 1.23E5
print ("1.23E5 in scientific notation is", x, type(x))
x = 1.23E-2
print ("1.23E-2 in scientific notation is", x, type(x))
در اینجا، خروجی زیر را دریافت خواهید کرد −
1.23 in normal float literal is 1.23 <class 'float'>
1.23E5 in scientific notation is 123000.0 <class 'float''>
1.23E-2 in scientific notation is 0.0123 <class 'float''>
لیترال مختلط در پایتون
یک عدد مختلط از یک مولفه حقیقی و یک مولفه موهومی تشکیل شده است. مولفه موهومی هر عددی (صحیح یا اعشاری) است که در جذر "1-" ضرب شده باشد
(√-1). در نمایش لیترال، ($\mathrm{\sqrt{−1}}$) با "j" یا "J" نشان داده میشود. بنابراین، نمایش لیترال یک عدد مختلط به صورت x+yj درمیآید.
مثالی از لیترال نوع مختلط
#Using literal notation of complex number
x = 2+3j
print ("2+3j complex literal is", x, type(x))
y = 2.5+4.6j
print ("2.5+4.6j complex literal is", x, type(x))
این کد خروجی زیر را تولید خواهد کرد −
2+3j complex literal is (2+3j) <class 'complex'>
2.5+4.6j complex literal is (2+3j) <class 'complex'>
لیترال رشتهای در پایتون
یک شیء رشتهای یکی از انواع داده دنبالهای در پایتون است. رشته یک دنباله تغییرناپذیر از کدپوینتهای یونیکد است. کدپوینت عددی است که بر اساس استاندارد یونیکد با یک کاراکتر مطابقت دارد. رشتهها اشیائی از کلاس داخلی 'str' در پایتون هستند.
لیترالهای رشتهای با قرار دادن دنبالهای از کاراکترها درون کوتیشن تکی ('hello')، کوتیشن دوگانه ("hello") یا کوتیشن سهگانه ('''hello''' یا """hello""") نوشته میشوند.
مثالی از لیترال رشتهای
var1='hello'
print ("'hello' in single quotes is:", var1, type(var1))
var2="hello"
print ('"hello" in double quotes is:', var1, type(var1))
var3='''hello'''
print ("''''hello'''' in triple quotes is:", var1, type(var1))
var4="""hello"""
print ('"""hello""" in triple quotes is:', var1, type(var1))
در اینجا، خروجی زیر را دریافت خواهید کرد −
'hello' in single quotes is: hello <class 'str'>
"hello" in double quotes is: hello <class 'str'>
''''hello'''' in triple quotes is: hello <class 'str'>
"""hello""" in triple quotes is: hello <class 'str'>
مثالی از لیترال رشتهای با کوتیشن دوگانه درون رشته
اگر لازم باشد کوتیشن دوگانه به عنوان بخشی از رشته قرار گیرد، خود رشته باید درون کوتیشن تکی قرار داده شود. از طرف دیگر، اگر قرار است متنی با کوتیشن تکی درون رشته قرار گیرد، رشته باید درون کوتیشن دوگانه نوشته شود.
var1='Welcome to "Python Tutorial" from Tut24'
print (var1)
var2="Welcome to 'Python Tutorial' from Tut24"
print (var2)
این کد خروجی زیر را تولید خواهد کرد −
Welcome to "Python Tutorial" from Tut24
Welcome to 'Python Tutorial' from Tut24
لیترال لیست در پایتون
شیء لیست در پایتون، مجموعهای از اشیاء با انواع داده دیگر است. لیست مجموعهای مرتب از عناصر است که لزوماً نباید از یک نوع باشند. به هر شیء در این مجموعه از طریق اندیسی که از صفر شروع میشود دسترسی پیدا میکنیم.
نمایش لیترال یک شیء لیست با یک یا چند عنصر انجام میشود که با ویرگول از هم جدا شده و درون قلاب [ ] قرار میگیرند.
مثالی از لیترال نوع لیست
L1=[1,"Ravi",75.50, True]
print (L1, type(L1))
این کد خروجی زیر را تولید خواهد کرد −
[1, 'Ravi', 75.5, True] <class 'list'>
لیترال تاپل در پایتون
شیء تاپل در پایتون، مجموعهای از اشیاء با انواع داده دیگر است. تاپل مجموعهای مرتب از عناصر است که لزوماً نباید از یک نوع باشند. به هر شیء در این مجموعه از طریق اندیسی که از صفر شروع میشود دسترسی پیدا میکنیم.
نمایش لیترال یک شیء تاپل با یک یا چند عنصر انجام میشود که با ویرگول از هم جدا شده و درون پرانتز ( ) قرار میگیرند.
مثالی از لیترال نوع تاپل
T1=(1,"Ravi",75.50, True)
print (T1, type(T1))
این کد خروجی زیر را تولید خواهد کرد −
[1, 'Ravi', 75.5, True] <class tuple>
مثالی از لیترال نوع تاپل بدون پرانتز
جداکننده پیشفرض برای دنبالهها در پایتون پرانتز است، به این معنی که یک دنباله جداشده با ویرگول بدون پرانتز نیز به منزله تعریف یک تاپل است.
T1=1,"Ravi",75.50, True
print (T1, type(T1))
در اینجا نیز همان خروجی را دریافت خواهید کرد −
[1, 'Ravi', 75.5, True] <class tuple>
لیترال دیکشنری در پایتون
مانند لیست یا تاپل، دیکشنری نیز یک نوع داده مجموعهای است. با این حال، یک دنباله نیست. دیکشنری مجموعهای غیرمرتب از عناصر است که هر یک از آنها یک جفت کلید-مقدار (key-value) است. مقدار با نماد ":" به کلید متصل میشود. یک یا چند جفت کلید:مقدار که با ویرگول از هم جدا شدهاند، درون آکولاد قرار میگیرند تا یک شیء دیکشنری را تشکیل دهند.
مثالی از لیترال نوع دیکشنری
capitals={"USA":"New York", "France":"Paris", "Japan":"Tokyo",
"India":"New Delhi"}
numbers={1:"one", 2:"Two", 3:"three",4:"four"}
points={"p1":(10,10), "p2":(20,20)}
print (capitals, type(capitals))
print (numbers, type(numbers))
print (points, type(points))
کلید باید یک شیء تغییرناپذیر باشد. عدد، رشته یا تاپل میتوانند به عنوان کلید استفاده شوند. کلید نمیتواند بیش از یک بار در یک مجموعه تکرار شود. اگر یک کلید بیش از یک بار ظاهر شود، فقط آخرین مقدار حفظ خواهد شد. مقادیر میتوانند از هر نوع دادهای باشند. یک مقدار را میتوان به بیش از یک کلید اختصاص داد. برای مثال،
staff={"Krishna":"Officer", "Rajesh":"Manager", "Ragini":"officer", "Anil":"Clerk", "Kavita":"Manager"}
پیشرفت مطالعه: وضعیت خواندهشدن این درس فقط در همین مرورگر ذخیره میشود؛ بدون نیاز به حساب کاربری.