دیتابیس Database و مدل Model در Django
دیتابیس Database و مدل Model در جنگو از درس قبل به خاطر دارید که آطلاعات دورهها به صورت ثابت داخل
بعد از آشنایی با لیست (List)، نوبت به یکی دیگر از ساختارهای داده در پایتون یعنی تاپل (Tuple) میرسد. تاپل از نظر ظاهر بسیار شبیه لیست است و میتواند چندین مقدار را در یک متغیر نگهداری کند؛ اما یک تفاوت مهم دارد: پس از ایجاد، امکان تغییر عناصر آن وجود ندارد. همین ویژگی باعث میشود تاپل در بسیاری از برنامهها سریعتر، ایمنتر و مناسبتر از لیست باشد.
تاپل یک ساختار داده ترتیبی (Ordered) است که میتواند انواع مختلفی از دادهها را در خود ذخیره کند. هر عنصر دارای شماره (Index) است و ترتیب عناصر همیشه حفظ میشود. برخلاف لیست، بعد از ساخت تاپل دیگر نمیتوان:
به همین دلیل گفته میشود تاپل Immutable (تغییرناپذیر) است.
fruits = ("Apple", "Banana", "Orange")
print(fruits)خروجی:
('Apple', 'Banana', 'Orange')اگر مطمئن هستید که دادههای شما نباید در طول اجرای برنامه تغییر کنند، استفاده از تاپل انتخاب بهتری است. از جمله مزایای تاپل، سرعت بیشتر و مصرف حافظه کمتر نسبت به لیست و جلوگیری از تغییر ناخواسته اطلاعات است. چون بعضی اطلاعات مانند اسامی ماههای سال، مختصات جغرافیایی شهرهای مختلف، تاریخ تولد افراد و اسامی رنگها ثابت است تغییر نمیکند.
برای ساخت یک تاپل، عناصر را داخل پرانتز () قرار میدهیم و آنها را با کاما از هم جدا میکنیم.
numbers = (10, 20, 30, 40)
print(numbers)خروجی:
(10, 20, 30, 40)تاپل میتواند شامل انواع مختلف داده باشد.
person = ("Ali", 25, 178.5, True)
print(person)خروجی:
('Ali', 25, 178.5, True)همچنین میتوان داخل یک تاپل، ساختارهای داده دیگری مانند لیست یا حتی تاپلهای دیگر قرار داد.
data = ("Python", [10, 20, 30], ("A", "B"))
print(data)یکی از نکات مهم در پایتون این است که اگر تاپل فقط یک عضو داشته باشد، باید بعد از آن یک کاما قرار دهیم. در غیر این صورت، پایتون آن را یک مقدار معمولی در نظر میگیرد، نه یک تاپل.
number = (5,)
print(type(number))خروجی:
<class 'tuple'>number = (5)
print(type(number))خروجی:
<class 'int'>استفاده از پرانتز الزامی نیست. اگر چند مقدار را با کاما از هم جدا کنیم، پایتون به صورت خودکار یک تاپل ایجاد میکند.
colors = "Red", "Green", "Blue"
print(colors)
print(type(colors))خروجی:
('Red', 'Green', 'Blue')
<class 'tuple'>اگرچه این روش صحیح است، اما استفاده از پرانتز باعث خوانایی بیشتر کد میشود و در پروژههای واقعی توصیه میشود.
هر عنصر در تاپل دارای یک شماره یا اندیس (Index) است. شمارهگذاری از صفر شروع میشود.
fruits = ("Apple", "Banana", "Orange", "Mango")
print(fruits[0])
print(fruits[2])خروجی:
Apple
Orangeبرای دسترسی از انتهای تاپل نیز میتوان از اندیس منفی استفاده کرد.
print(fruits[-1])
print(fruits[-2])خروجی:
Mango
Orangeمانند لیست، میتوان بخشی از عناصر تاپل را با عملگر برش (:) استخراج کرد.
numbers = (10, 20, 30, 40, 50, 60)
print(numbers[1:4])خروجی:
(20, 30, 40)چند مثال دیگر:
print(numbers[:3])
print(numbers[2:])
print(numbers[-3:])خروجی:
(10, 20, 30)
(30, 40, 50, 60)
(40, 50, 60)عملیات برش، یک تاپل جدید ایجاد میکند و تاپل اصل بدون تغییر باقی میماند.
مانند لیست، میتوان عناصر یک تاپل را با استفاده از حلقه for پیمایش کرد.
fruits = ("Apple", "Banana", "Orange")
for fruit in fruits:
print(fruit)خروجی:
Apple
Banana
Orangeاگر علاوه بر مقدار، به شماره اندیس هر عنصر نیز نیاز داشته باشید، میتوانید از تابع enumerate() استفاده کنید.
fruits = ("Apple", "Banana", "Orange")
for index, value in enumerate(fruits):
print(index, value)خروجی:
0 Apple
1 Banana
2 Orangeبرای بررسی اینکه یک مقدار داخل تاپل وجود دارد یا خیر، از عملگر in استفاده میکنیم.
colors = ("Red", "Green", "Blue")
print("Green" in colors)
print("Black" in colors)خروجی:
True
Falseهمچنین میتوان با not in بررسی کرد که مقداری در تاپل وجود ندارد.
print("Yellow" not in colors)خروجی:
True
تابع len() تعداد عناصر موجود در تاپل را برمیگرداند.
numbers = (10, 20, 30, 40, 50)
print(len(numbers))خروجی:
5برخلاف لیست که متدهای زیادی دارد، تاپل فقط دو متد دارد. دلیل آن نیز تغییرناپذیر بودن تاپل است.
count()این متد تعداد تکرار یک مقدار را در تاپل محاسبه میکند.
numbers = (5, 3, 8, 5, 2, 5)
print(numbers.count(5))خروجی:
3index()این متد محل اولین مشاهده یک مقدار را برمیگرداند.
numbers = (10, 20, 30, 40)
print(numbers.index(30))خروجی:
2اگر مقدار موردنظر در تاپل وجود نداشته باشد، برنامه با خطای ValueError متوقف میشود.
اگرچه نمیتوان عناصر یک تاپل را تغییر داد، اما میتوان دو تاپل را به یکدیگر متصل کرد و یک تاپل جدید ساخت.
tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
result = tuple1 + tuple2
print(result)خروجی:
(1, 2, 3, 4, 5, 6)با استفاده از عملگر * میتوان عناصر یک تاپل را چندین بار تکرار کرد.
numbers = (1, 2)
print(numbers * 3)خروجی:
(1, 2, 1, 2, 1, 2)یکی از قابلیتهای بسیار کاربردی تاپل در پایتون، Packing و Unpacking است.
قرار دادن چند مقدار در یک تاپل را Packing میگویند.
person = "Ali", 25, "Tehran"
print(person)خروجی:
('Ali', 25, 'Tehran')در این مثال، سه مقدار داخل یک تاپل قرار گرفتهاند.
در Unpacking، عناصر یک تاپل را مستقیماً داخل چند متغیر قرار میدهیم.
person = ("Ali", 25, "Tehran")
name, age, city = person
print(name)
print(age)
print(city)خروجی:
Ali
25
Tehranتعداد متغیرها باید دقیقاً برابر با تعداد عناصر تاپل باشد؛ در غیر این صورت خطا ایجاد میشود.
* در Unpackingاگر تعداد عناصر زیاد باشد، میتوان از عملگر * برای دریافت چند عنصر به صورت یک لیست استفاده کرد.
numbers = (10, 20, 30, 40, 50)
first, *middle, last = numbers
print(first)
print(middle)
print(last)خروجی:
10
[20, 30, 40]
50هنگام استفاده از * در Unpacking، متغیر ستارهدار همیشه یک لیست (List) خواهد بود، نه یک تاپل.
| ویژگی | List (لیست) | Tuple (تاپل) |
|---|---|---|
| علامت | [] |
() |
| امکان تغییر عناصر | دارد | ندارد |
| افزودن و حذف عنصر | بله | خیر |
| ترتیب عناصر | حفظ میشود | حفظ میشود |
| دسترسی با اندیس (Index) | دارد | دارد |
| امکان وجود عناصر تکراری | دارد | دارد |
| سرعت اجرا | کمتر | بیشتر |
| مصرف حافظه | بیشتر | کمتر |
| متدهای قابل استفاده | زیاد (مانند append()، remove()، sort()) |
فقط count() و index() |
| کاربرد اصلی | دادههای قابل تغییر | دادههای ثابت و تغییرناپذیر |
یک تاپل شامل نام پنج شهر ایجاد کنید. سپس:
یک تاپل شامل اعداد زیر ایجاد کنید:
(18, 20, 15, 20, 17, 20)
سپس:
20 را با استفاده از count() نمایش دهید.17 را با استفاده از index() چاپ کنید.len() نمایش دهید.یک تاپل شامل اطلاعات زیر ایجاد کنید:
سپس با استفاده از Unpacking، مقادیر را در سه متغیر جداگانه قرار داده و هر کدام را در یک خط چاپ کنید.
دو تاپل زیر را ایجاد کنید:
(1, 2, 3)
و
(4, 5, 6)
سپس:
+ به یکدیگر متصل کنید.* سه بار تکرار کنید.ابتدا یک List و یک Tuple با مقادیر یکسان ایجاد کنید.
سپس:
در درس بعدی با دیکشنری (Dictionary) آشنا میشوید؛ ساختاری قدرتمند که دادهها را به صورت کلید (Key) و مقدار (Value) ذخیره میکند و یکی از پرکاربردترین ابزارهای برنامهنویسی در پایتون است.
گام بعدی : دیکشنری در پایتوندیتابیس Database و مدل Model در جنگو از درس قبل به خاطر دارید که آطلاعات دورهها به صورت ثابت داخل
طراحی قالب سایت با HTML، CSS و Tailwind CSS تا اینجا با ساختار اصلی Django، URL، View و Template آشنا
Template و رابط کاربری در Django در سه درس قبلی، با ساخت پروژه، ساختار Django، URL و View آشنا شدیم.
URL و View در جنگو در درسهای قبل با Django آشنا شدیم، محیط مجازی را ساختیم، Django را نصب کردیم
ساختار Project و App در Django در درس قبل با Django آشنا شدیم، محیط مجازی ساختیم، Django را نصب کردیم
شروع کار با Django در دوره آموزش جامع پایتون با مفاهیمی مانند متغیرها، شرطها، حلقهها، توابع، کلاسها، فایلها و کار
عملیات CRUD درSQLite در بخش قبل با مفهوم پایگاه داده، SQLite و نحوه اتصال پایتون به پایگاه داده آشنا شدیم.
اتصال به پایگاه داده (Database) در پایتون وقتی یک برنامه اطلاعاتی را از کاربر دریافت میکند، معمولاً لازم است این
مدیریت خطا (Error Handling) در پایتون در هنگام اجرای برنامه، ممکن است کاربر ورودی نامناسبی وارد کند یا برنامه با
کار با فایل، ماژول، پکیج و محیط مجازی در پایتون در پروژههای واقعی، معمولاً همهی کدها را در یک فایل
کپسولهسازی (Encapsulation) در پایتون فرض کنید کلاسی برای حساب بانکی نوشتهاید. اگر هر کسی بتواند موجودی حساب را مستقیماً تغییر
وراثت و مفاهیم پیشرفته شی گرایی تا اینجا یاد گرفتهاید که چگونه با استفاده از کلاس (Class) و شی (Object)
کلاس و شیء در پایتون (Object-Oriented Programming) تا اینجا با متغیرها، شرطها، حلقهها، توابع و ساختارهای داده در پایتون آشنا
تابع لامبدا (Lambda Function) در پایتون گاهی اوقات فقط به یک تابع خیلی کوچک نیاز داریم؛ تابعی که قرار است
توابع در پایتون اگر هنگام برنامهنویسی مجبور شوید یک قطعه کد را بارها تکرار کنید، برنامه شما طولانی، شلوغ و
مجموعه (Set) در پایتون به زبان ساده، Set مجموعهای از عناصر منحصربهفرد (Unique) است که ترتیب مشخصی ندارد و اجازه
دیکشنری در پایتون تا اینجا با لیست (List) و تاپل (Tuple) آشنا شدیم که هر دو مجموعهای از دادهها را
تاپل (Tuple) در پایتون بعد از آشنایی با لیست (List)، نوبت به یکی دیگر از ساختارهای داده در پایتون یعنی
لیست (List) در پایتون پرکاربردترین ساختار داده تا اینجا یاد گرفتید که هر متغیر فقط یک مقدار را در خود
ساختارهای داده در پایتون در برنامههای واقعی معمولاً با یک داده سروکار نداریم، بلکه باید تعداد زیادی اطلاعات را ذخیره
حلقههای تکرار در پایتون (Python Loops) فرض کنید معلم میخواهد نمرات ۳۰ دانشآموز را از کاربر دریافت کند. اگر حلقه
عملگرهای مقایسهای (Comparison Operators) تا اینجا یاد گرفتیم که با عملگرهای محاسباتی میتوانیم اعداد را با هم جمع، تفریق و…
دریافت ورودی از کاربر در پایتون (Python Input) تا اینجا یاد گرفتیم که چگونه مقدار یک متغیر را خودمان داخل
عملگرهای محاسباتی در پایتون (Arithmetic Operators) تقریباً تمام برنامهها به انجام محاسبات نیاز دارند؛ از جمع و تفریق ساده گرفته
کار با رشتهها در پایتون (Python Strings) مدیریت و پردازش متنها در برنامهها در دنیای برنامهنویسی، اطلاعات همیشه عدد و
متغیرها در پایتون (Python Variables) اولین قدم برای ذخیره و پردازش اطلاعات تصور کنید یک برنامه مینویسید که قرار است
شروع برنامه نویسی با پایتون ساخت اولین پروژه (Hello World) فهرست مطالب بعد از نصب Python چه کاری انجام دهیم؟
آموزش نصب پایتون و ابزارهای موردنیاز (راهنمای کامل برای ویندوز) اگر تصمیم گرفتهاید برنامهنویسی را یاد بگیرید، احتمالاً نام زبان
الگوهای کندل استیک پیشرفته: راهنمای جامع برای معاملهگران حرفهای الگو های کندل استیک پیشرفته (یا به بیان دیگر الگوهای شمعی
آیلتس جنرال یا آکادمیک؟ کدام را باید انتخاب کنیم؟ آیا میدانید که انتخاب اشتباه بین آیلتس آکادمیک و جنرال میتواند
دانلود رایگان نمونه سوالات آزمون PTE جنرال اگر تصمیم گرفتهاید با هدف مهاجرت به یک کشور انگلیسی زبان، در آزمون
معرفی آزمون های زبان انگلیسی معتبر در ایران| کدام یک بهتر است؟ اگه قصد ادامه تحصیل یا مهاجرت داشته باشید،
بهترین روشهای آمادگی برای آزمون تافل چگونه برای آزمون تافل آماده شویم؟ آیا شما هم قصد دارید برای کسب نمره
چگونه در خارج از کشور برای آزمون آیلتس ثبت نام کنیم؟ اگر قصد مهاجرت تحصیلی یا کاری دارید، احتمالاً نام
آزمون GRE مناسب چه رشتههایی است؟ اگر قصد ادامه تحصیل در مقاطع کارشناسی ارشد یا دکترا در دانشگاههای بینالمللی را
بهترین نمونه سوالات اسپیکینگ تافل هوم ادیشن آزمون تافل هوم ادیشن این روزها یکی از پرطرفدارترین گزینهها برای سنجش مهارت
نحوه ثبت نام در آزمون دولینگو در ایران به صورت کامل نحوه ثبت نام در آزمون دولینگو در ایران چگونه
هزینه آزمون GRE در ایران چقدر است؟ اگر قصد مهاجرت تحصیلی دارید، احتمالاً نام آزمون GRE به گوشتان خورده است.
راهنمای کامل ثبتنام و پرداخت هزینه آزمون PTE در ترکیه برای متقاضیان ایرانی آزمون PTE (Pearson Test of English) یکی از
ووچر آزمون چیست و چگونه میتوان آن را تهیه کرد؟ ثبتنام در آزمونهای بینالمللی مانند TOEFL، GRE، PTE، GMAT، IELTS
بهترین تکنیک های لیسنینگ آیلتس برای کسب نمره بالا آزمون آیلتس (IELTS) یکی از معتبرترین آزمونهای ارزیابی مهارت زبان انگلیسی
آزمون پلاس مرجع آموزش برنامهنویسی، هوش مصنوعی، شبکه، نمونه سؤالات کنکورهای کامپیوتر، آزمونهای زبان دکتری و مدارک بینالمللی فناوری اطلاعات است. با ارائه آموزشهای تخصصی، منابع آموزشی و راهنمای آزمونها، به دانشجویان و متخصصان کمک میکنیم تا مهارتهای خود را توسعه داده و در مسیر موفقیت تحصیلی و شغلی گام بردارند.