5. Data Types — ڈیٹا کی اقسام
Difficulty: Beginner — مبتدی
Time: ~15 minutes
Overview — جائزہ
Every value in Urdu PL has a type that determines what operations you can do with it. The basic types are:
| Urdu Name | Type | Example |
|---|---|---|
عدد |
Integer or float | 42, 3.14 |
متن |
String (text) | "اردو", 'سلام' |
بولین |
Boolean | سچ, جھوٹ |
خالی |
Null / None | خالی |
فہرست |
List (array) | [1, 2, 3] |
شے |
Object (dict) | { نام: "احمد" } |
اردو: ہر قدر کی ایک قسم ہوتی ہے جو بتاتی ہے کہ اس کے ساتھ کیا آپریشن ممکن ہیں۔ بنیادی اقسام اوپر جدول میں ہیں۔
Numbers — اعداد
Urdu PL has two numeric types: integers (whole numbers) and floats (decimal numbers):
متغیر عدد_صحیح = 42; // integer — صحیح عدد
متغیر منفی_عدد = -7; // negative integer — منفی صحیح عدد
متغیر اعشاری = 3.14; // float — اعشاری عدد
متغیر بڑا_عدد = 1_000_000; // underscores for readability
لکھو(عدد_صحیح); // 42
لکھو(منفی_عدد); // -7
لکھو(اعشاری); // 3.14
لکھو(بڑا_عدد); // 1000000
اردو: اعداد میں
_ڈال سکتے ہیں پڑھنے میں آسانی کے لیے —1_000_000کو پروگرام1000000سمجھتا ہے۔
Special numeric values — خاص عددی قدریں:
لکھو(لامحدود); // inf (positive infinity)
لکھو(-لامحدود); // -inf (negative infinity)
لکھو(نان); // nan (not a number)
لکھو(1 / 0); // inf (division by zero → infinity)
لکھو(نان_ہے(نان)); // True
اردو:
لامحدودمثبت لامحدود ہے،نان"عدد نہیں" کا مطلب ہے۔ صفر سے تقسیم غلطی نہیں دیتی — بلکہلامحدوددیتا ہے۔
Strings — متن
Strings hold text. Use double or single quotes:
متغیر اردو_متن = "السلام علیکم";
متغیر انگریزی = 'Hello World';
متغیر خالی_متن = "";
لکھو(اردو_متن); // السلام علیکم
لکھو(لمبائی(اردو_متن)); // 13
Escape sequences — خاص حروف:
لکھو("پہلی سطر\nدوسری سطر"); // newline — نئی سطر
لکھو("ٹیب\tیہاں"); // tab — ٹیب
لکھو("دہری \"قوسین\""); // escaped quote — قوسین
لکھو("پیچھے کی slash: \\"); // backslash
Output:
اردو:
\nنئی سطر،\tٹیب،\"دہری قوسین لکھنے کے لیے۔
Booleans — بولین
A boolean is either سچ (true) or جھوٹ (false):
متغیر لاگ_ان = سچ;
متغیر مہمان = جھوٹ;
لکھو(لاگ_ان); // True
لکھو(مہمان); // False
لکھو(قسم(سچ)); // بولین
Truthy and falsy values — سچ اور جھوٹ قدریں:
| Value | Boolean |
|---|---|
0, 0.0 |
جھوٹ |
"" (empty string) |
جھوٹ |
[] (empty list) |
جھوٹ |
{} (empty object) |
جھوٹ |
خالی, غیر_معرف |
جھوٹ |
| Everything else | سچ |
لکھو(بولین(0)); // False
لکھو(بولین("")); // False
لکھو(بولین([])); // False
لکھو(بولین("اردو")); // True
لکھو(بولین(42)); // True
لکھو(بولین([1, 2])); // True
اردو:
بولین()سے کسی بھی قدر کو سچ/جھوٹ میں تبدیل کریں۔ صفر، خالی متن، خالی فہرست، اورخالیسب جھوٹ ہیں — باقی سب سچ۔
Null — خالی
خالی represents the absence of a value (like Python's None or JavaScript's null):
اردو:
خالیکا مطلب "کوئی قدر نہیں"۔ جب کسی متغیر میں ابھی تک کوئی مفید قدر نہ رکھی ہو یا فنکشن کچھ واپس نہ کرے توخالیملتا ہے۔
Lists — فہرست
Lists hold an ordered collection of values (any type, even mixed):
متغیر اعداد = [1, 2, 3, 4, 5];
متغیر نام = ["احمد", "فاطمہ", "علی"];
متغیر ملی_جلی = [1, "سلام", سچ, خالی];
لکھو(اعداد); // [1, 2, 3, 4, 5]
لکھو(نام[0]); // احمد (first element, index 0)
لکھو(اعداد[4]); // 5 (fifth element, index 4)
لکھو(لمبائی(اعداد)); // 5
اردو: فہرست مربع قوسین
[...]میں لکھی جاتی ہے۔ پہلا عنصر اشاریہ0پر ہے (صفر سے شمار شروع)۔لمبائی()فہرست کے عناصر کی تعداد دیتا ہے۔
Objects — اشیاء
Objects hold key-value pairs (like Python dicts):
متغیر شخص = {
نام: "زینب",
عمر: 22,
شہر: "لاہور"
};
لکھو(شخص.نام); // زینب
لکھو(شخص["عمر"]); // 22
شخص.پیشہ = "استاد"; // add new key
لکھو(شخص.پیشہ); // استاد
اردو: شے (object) کلیدی قدر جوڑوں کا مجموعہ ہے۔
.نوٹیشن یا["کلید"]سے رسائی کریں۔
Checking the Type — قسم جاننا
قسم() returns the Urdu type name of any value:
لکھو(قسم(42)); // عدد
لکھو(قسم(3.14)); // عدد
لکھو(قسم("اردو")); // متن
لکھو(قسم(سچ)); // بولین
لکھو(قسم(خالی)); // خالی
لکھو(قسم([1, 2, 3])); // فہرست
لکھو(قسم({ ک: "ق" })); // شے
اردو:
قسم()بتاتا ہے کہ کوئی قدر کس قسم کی ہے — ڈیبگ کرتے وقت بہت مفید ہے۔
Key Points — اہم نکات
عدد— integers and floats; no separate type for eachمتن— text wrapped in"..."or'...'بولین—سچorجھوٹ; falsy values are0,"",[],{},خالیخالی— absence of valueفہرست— ordered collection[...]; zero-indexedشے— key-value pairs{...}قسم(x)returns the Urdu type name
اردو: بنیادی اقسام: عدد، متن، بولین (
سچ/جھوٹ)، خالی، فہرست ([...])، شے ({...})۔قسم()سے کسی بھی قدر کی قسم جانیں۔