Definition
بنیادی پروگرامنگ عمل میں عموماً شامل ہے: مسئلہ سمجھنا/تجزیہ کرنا، حل ڈیزائن کرنا (مثلاً ایلگورتھم یا فلو چارٹ)، کوڈ لکھنا، اسے ٹیسٹ کرنا، اور ملنے والی کسی خرابی کو ٹھیک کرنا (ڈی بگنگ) — پہلے مسئلہ سمجھے بغیر محض کوڈ کا اندازہ لگانا اس عمل کا درست مرحلہ نہیں۔
پائتھون انسٹال کرتے وقت، سیٹ اپ کے دوران 'Add Python to PATH' آپشن چیک کرنا اہم ہے، تاکہ پائتھون کمانڈ لائن سے براہ راست چلایا جا سکے (`python` ٹائپ کر کے) بغیر ہر بار اس کے مکمل انسٹالیشن فولڈر کا راستہ ٹائپ کیے۔
Definition
پائتھون میں متغیر کا نام دینے کے تین اہم قواعد: متغیر کا نام کسی حرف یا انڈر سکور سے شروع ہونا چاہیے (عدد سے نہیں)، اس میں صرف حروف، اعداد، اور انڈر سکور شامل ہو سکتے ہیں (کوئی خالی جگہ یا خاص علامات نہیں)، اور یہ پائتھون کے محفوظ کیورڈز میں سے نہیں ہو سکتا۔
محفوظ کیورڈز وہ الفاظ ہیں جو پائتھون خود اپنے نحو کے لیے استعمال کرتا ہے، اس لیے انہیں متغیر کے نام کے طور پر استعمال نہیں کیا جا سکتا — تین مثالیں ہیں `if`، `for`، اور `class`۔
پائتھون حروف کے بڑے/چھوٹے کے فرق کا خیال رکھتا ہے، اس لیے متغیر کے نام `age` اور `Age` یکساں نہیں ہیں — پائتھون انہیں دو مکمل طور پر الگ، آزاد متغیرات کے طور پر سمجھتا ہے۔
Definition
پائتھون کی بنیادی ڈیٹا اقسام: انٹیجرز (`int` — پورے عدد، مثلاً `25`)، فلوٹس (`float` — اعشاریہ والے عدد، مثلاً `3.14`)، سٹرنگز (`str` — متن، کوٹس میں لکھا، مثلاً `"hello"`)، اور بولینز (`bool` — صرف `True` یا `False`)۔
انٹیجر اور فلوٹ کا فرق: انٹیجر کا کوئی کسری/اعشاریہ حصہ نہیں ہوتا (مثلاً `10`)، جبکہ فلوٹ کسری اقدار ظاہر کر سکتا ہے (مثلاً `10.5`) — حتیٰ کہ اعشاریہ کے ساتھ لکھی گئی پوری عدد کی قدر (جیسے `10.0`) بھی فلوٹ سمجھی جاتی ہے، انٹیجر نہیں۔
Definition
`#` علامت پائتھون میں واحد لائن تبصرے کے لیے استعمال ہوتی ہے؛ تہرے کوٹس (`'''` یا `"""`، سٹرنگ لٹرل کے طور پر استعمال) عموماً کئی لائن کے تبصرے لکھنے کے لیے استعمال ہوتے ہیں۔
پروگرامنگ میں تبصرے اہم ہیں کیونکہ وہ کوڈ پڑھنے والے دوسرے پروگرامرز (یا بعد میں اسی پروگرامر) کو سادہ زبان میں بتاتے ہیں کہ کوڈ کیا کرتا ہے (یا کیوں کرتا ہے) — پائتھون خود پروگرام چلاتے وقت تبصروں کو مکمل طور پر نظرانداز کرتا ہے، اس لیے ان کا پروگرام کے رویے پر صفر اثر ہوتا ہے۔
Definition
`print()` بیان کا مقصد آؤٹ پٹ (متن، اعداد، یا متغیر اقدار) کو سکرین پر دکھانا ہے۔
`input()` فنکشن پروگرام کو روک دیتا ہے، صارف کے کچھ ٹائپ کر کے Enter دبانے کا انتظار کرتا ہے، اور جو کچھ صارف نے ٹائپ کیا وہ واپس دیتا ہے — مگر اہم بات، `input()` ہمیشہ اسے سٹرنگ کے طور پر واپس دیتا ہے، چاہے صارف نے اعداد ہی ٹائپ کیے ہوں۔
`input()` کے نتیجے کو اکثر اس سے ریاضی کرنے سے پہلے `int()` یا `float()` سے بدلنا ضروری ہے، کیونکہ `input()` کا سٹرنگ نتیجہ اس طرح براہ راست جوڑا، گھٹایا، ضرب دیا، یا تقسیم نہیں کیا جا سکتا جیسے حقیقی عدد کیا جا سکتا ہے — غیر تبدیل شدہ سٹرنگ پر حساب کرنے کی کوشش یا تو خرابی پیدا کرتی ہے یا (`+` کے لیے) اعداد جمع کرنے کی بجائے محض متن جوڑ دیتی ہے۔
مثال 1 — کوڈ آؤٹ پٹ پڑھنا اور استعمال کرنا
`age = 25` پھر `print("Age: ", age)` کا آؤٹ پٹ کیا ہے؟
- متغیر `age` کو انٹیجر تفویض کیا جاتا ہے۔
- `print()` متن `"Age: "` کے بعد `age` میں محفوظ قدر دکھاتا ہے۔
Answer: `Age: 25`
Definition
پائتھون میں حسابی آپریٹرز: `+` (جمع)، `-` (تفریق)، `*` (ضرب)، `/` (تقسیم، ہمیشہ فلوٹ نتیجہ دیتی ہے)، `//` (فرش ڈویژن، قریب ترین پورے عدد تک گول کرتی ہے)، `%` (موڈولس، باقی دیتی ہے)، اور `**` (اسی/پاور)۔
مثال 2 — فرش ڈویژن (Floor Division)
`print(10 // 3)` کا آؤٹ پٹ کیا ہے؟
- ۔
- فرش ڈویژن اسے قریب ترین پورے عدد تک نیچے گول کرتی ہے۔
Answer:
مثال 3 — موڈولس آپریٹر
`17 % 5` کا نتیجہ کیا ہے؟
- باقی (چونکہ ، اور )۔
Answer:
Definition
`//` (فرش ڈویژن) اور `/` (تقسیم) کا فرق: `/` ہمیشہ عین، درست نتیجہ فلوٹ کے طور پر دیتی ہے (مثلاً `10 / 3` `3.3333...` دیتی ہے)، جبکہ `//` کوئی بھی کسری حصہ چھوڑ دیتی اور صرف نیچے گول کیا گیا پورا عدد دیتی ہے (مثلاً `10 // 3` `3` دیتی ہے)۔
Definition
`+=` ایک مرکب تفویضی آپریٹر ہے: `a += b` کا مطلب ہے 'a میں b جمع کرو، اور نتیجہ واپس a میں محفوظ کرو' (`a = a + b` کے برابر)۔ اسی طرح، `a -= b` کا مطلب ہے 'a سے b گھٹاؤ، اور نتیجہ واپس a میں محفوظ کرو' (`a = a - b` کے برابر)۔
سٹرنگ کنکیٹینیشن آپریٹر (`+`)، جب دو سٹرنگز کے ساتھ استعمال ہو، انہیں اعداد جمع کرنے کی بجائے ایک ملی ہوئی سٹرنگ میں جوڑ دیتا ہے — مثلاً `"Hello" + "World"` `"HelloWorld"` دیتا ہے۔
Definition
آپریٹر پریسیڈنس وہ ترتیب ہے جس میں پائتھون ایک اظہار میں کئی آپریٹرز ظاہر ہونے پر انہیں جانچتا ہے، ریاضی میں عملیات کی ترتیب سے ملتا جلتا — مثلاً `2 + 3 * 4` میں، ضرب (`*`) جمع (`+`) سے زیادہ پریسیڈنس رکھتی ہے، اس لیے یہ پہلے حساب ہوتی ہے: ، پھر ، `14` دیتا ہے، `20` نہیں۔
پائتھون میں، قوسین `()` سب سے زیادہ پریسیڈنس رکھتے ہیں — ان کے اندر کی کوئی بھی چیز ہمیشہ پہلے جانچی جاتی ہے، کسی اور آپریٹر کے لاگو ہونے سے پہلے۔
Definition
موازناتی آپریٹرز (جیسے `>`، `<`، `==`، `!=`) دو اقدار کا موازنہ کرتے اور بولین (`True` یا `False`) واپس دیتے ہیں۔ منطقی آپریٹرز بولین اقدار ملاتے یا بدلتے ہیں؛ پائتھون کے تین منطقی آپریٹرز `and`، `or`، اور `not` ہیں۔
اظہار `5 > 3 and 2 < 1` پہلے ہر موازنہ الگ جانچتا ہے: `5 > 3` `True` ہے، اور `2 < 1` `False` ہے؛ پھر `and` کو پورا اظہار `True` ہونے کے لیے دونوں اطراف `True` چاہییں۔
مثال 4 — ایک مشترکہ منطقی اظہار جانچنا
`5 > 3 and 2 < 1` کا نتیجہ معلوم کیجیے۔
- `5 > 3` `True` جانچا جاتا ہے۔
- `2 < 1` `False` جانچا جاتا ہے۔
- `True and False` `False` جانچا جاتا ہے، کیونکہ `and` کو دونوں اطراف `True` چاہییں۔
Answer: `False`
Definition
`!=` آپریٹر پائتھون میں 'برابر نہیں' موازنہ درست طور پر ظاہر کرتا ہے (مثلاً `5 != 3` `True` جانچا جاتا ہے، کیونکہ اور واقعی برابر نہیں)۔
Definition
`if` بیان صرف اس وقت کوڈ کا بلاک چلاتا ہے جب اس کی شرط `True` ہو، اور اگر شرط `False` ہو تو محض کچھ نہیں کرتا (وہ بلاک چھوڑ دیتا ہے)۔ `if-else` بیان ایک متبادل شامل کرتا ہے: اگر شرط `True` ہو، `if` بلاک چلتا ہے؛ اگر `False` ہو، اس کی بجائے `else` بلاک چلتا ہے — اس لیے `if-else` ہمیشہ اپنے دو بلاکس میں سے عین ایک چلاتا ہے، جبکہ سادہ `if` شاید کچھ بھی نہ چلائے۔
Definition
سٹرنگ کو انٹیجر میں بدلنے کے لیے استعمال ہونے والا فنکشن: `int()` (مثلاً `int("25")` انٹیجر `25` دیتا ہے)۔
مثال 5 — صارف کو نام سے سلام کرنا
ایک پائتھون پروگرام لکھیے جو صارف سے نام لے اور سلامی پیغام دکھائے۔
- نام حاصل کرنے کے لیے `input()` استعمال کریں، اسے کسی متغیر میں محفوظ کریں۔
- سلامی دکھانے کے لیے `print()` کو اس متغیر کے ساتھ ملا کر استعمال کریں (کنکیٹینیشن کے ذریعے یا دوسرے دلیل کے طور پر پاس کر کے)۔
Answer: name = input("Enter your name: ") print("Hello, " + name + "!")
مثال 6 — دو اعداد جمع کرنا
ایک پائتھون پروگرام لکھیے جو صارف سے دو اعداد لے اور ان کا مجموعہ دکھائے۔
- دو اقدار جمع کرنے کے لیے `input()` دو بار استعمال کریں، ہر ایک کو `float()` (یا `int()`) سے بدلتے ہوئے چونکہ `input()` سٹرنگز واپس دیتا ہے۔
- دونوں بدلے گئے اعداد جمع کریں اور نتیجہ پرنٹ کریں۔
Answer: num1 = float(input("Enter first number: ")) num2 = float(input("Enter second number: ")) print("Sum:", num1 + num2)
مثال 7 — پانچ اعداد کا اوسط
ایک پائتھون پروگرام لکھیے جو صارف سے پانچ اعداد لے اور ان کا اوسط دکھائے۔
- `input()` کے ذریعے پانچ اعداد جمع کریں، ہر ایک کو `float()` میں بدلتے ہوئے۔
- پانچوں کو جمع کریں اور اوسط حاصل کرنے کے لیے سے تقسیم کریں، پھر پرنٹ کریں۔
Answer: n1 = float(input("Number 1: ")) n2 = float(input("Number 2: ")) n3 = float(input("Number 3: ")) n4 = float(input("Number 4: ")) n5 = float(input("Number 5: ")) average = (n1 + n2 + n3 + n4 + n5) / 5 print("Average:", average)
خلاصہ (Quick Recap)
- ●پروگرامنگ عمل: سمجھنا ڈیزائن کوڈ ٹیسٹ ڈی بگ۔ انسٹال کے دوران 'Add Python to PATH' چیک کریں
- ●متغیر نام: حرف/انڈر سکور سے شروع، صرف حروف/اعداد/انڈر سکور، محفوظ کیورڈ نہیں (مثلاً `if`، `for`، `class`)؛ پائتھون بڑے/چھوٹے حروف کا خیال رکھتا ہے
- ●ڈیٹا اقسام: int، float، str، bool۔ واحد لائن تبصروں کے لیے `#`، کئی لائن کے لیے تہرے کوٹس
- ●`print()` آؤٹ پٹ دکھاتا ہے؛ `input()` سٹرنگ واپس دیتا ہے (حساب سے پہلے `int()`/`float()` سے بدلیں)
- ●حسابی: `+ - * / // % **`؛ `/` عین فلوٹ دیتی، `//` نیچے گول کرتی؛ `%` باقی دیتی ہے
- ●`+=`/`-=` مرکب تفویض؛ سٹرنگ `+` جوڑتی ہے؛ پریسیڈنس: `()` سب سے زیادہ، پھر `*` `/` `+` `-` سے پہلے
- ●موازناتی آپریٹرز (`> < == !=`) بولین؛ منطقی آپریٹرز `and`/`or`/`not` بولینز ملاتے ہیں
- ●`if` صرف سچ ہونے پر بلاک چلاتا ہے؛ `if-else` ہمیشہ دو بلاکس میں سے عین ایک چلاتا ہے



