Skip to content

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:

پہلی سطر
دوسری سطر
ٹیب    یہاں
دہری "قوسین"
پیچھے کی slash: \

اردو: \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):

متغیر نتیجہ = خالی;
لکھو(نتیجہ);           // None
لکھو(قسم(نتیجہ));      // خالی
لکھو(نتیجہ == خالی);   // True

اردو: خالی کا مطلب "کوئی قدر نہیں"۔ جب کسی متغیر میں ابھی تک کوئی مفید قدر نہ رکھی ہو یا فنکشن کچھ واپس نہ کرے تو خالی ملتا ہے۔


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 are 0, "", [], {}, خالی
  • خالی — absence of value
  • فہرست — ordered collection [...]; zero-indexed
  • شے — key-value pairs {...}
  • قسم(x) returns the Urdu type name

اردو: بنیادی اقسام: عدد، متن، بولین (سچ/جھوٹ)، خالی، فہرست ([...])، شے ({...}قسم() سے کسی بھی قدر کی قسم جانیں۔


← Previous: Variables | Next: Input & Output →