كتاب تعلم البرمجة بلغة بايثون بالعربي للمبتدئين (PDF)
العلامة: تقدر
59.99 ر.س
متوفر - تحميل فورياشترِ الآنحمّل عيّنة مجانية
- التوصيل:تحميل فوري بعد الدفع، بدون رسوم توصيل. يصلك الرابط على بريدك الإلكتروني مباشرة للـ التفاصيل
- الاسترداد: ضمان استرداد كامل المبلغ خلال 14 يومًا من الشراء. سياسة الاسترداد
كتاب PDF عملي لتعلّم لغة بايثون 3.14 بالعربي من الصفر: 40 فصلًا من المتغيّرات والحلقات والدوال إلى الأصناف والملفات وasyncio، مع أكواد بايثون تجرّبها أون لاين.
رمز المنتج (SKU): TGD-EB-008
وصف المنتج
تقدر تبرمج، حتى لو لم تكتب سطرًا من قبل. كتاب «أساسيات البرمجة بلغة بايثون» يعلّمك لغة بايثون 3.14 بالعربي من أول خطوة: تثبيتها، وكتابة أول سطر، حتى الملفات والأصناف والإنترنت والبرمجة غير المتزامنة.
ماذا يغطي الكتاب؟ 40 فصلًا في 12 جزءًا: البداية وتثبيت بايثون، والمتغيّرات والأعداد والنصوص والقوائم، والقرارات والحلقات (if وmatch وfor وwhile)، والصفوف والمجموعات والقواميس، والدوال، والملفات وJSON، والتعامل مع الأخطاء، والوحدات وتثبيت المكتبات بـpip، والبرمجة الكائنية (الأصناف والوراثة وdataclasses)، والمكرِّرات والمولِّدات، والمكتبة القياسية (التواريخ والتعابير النمطية والإنترنت والاختبار)، ثم Threads وasyncio.
تتعلّم مع خالد، طالب جامعي يبدأ من الصفر مثلك، وأخته نورة التي تسأل دائمًا «وماذا لو؟»، ومرشدهما الهادئ سند. ولكل موضوع ثلاث خطوات: افهم، ثم ابنِ مشروعًا صغيرًا من حياتك اليومية، ثم تمرّن وارتقِ.
كل كود بايثون في الكتاب جُرّب على بايثون 3.14 ومخرجاته حقيقية، ويمكنك تشغيل الأمثلة أون لاين في متصفّحك بلا تثبيت على tegdar.com/python. ومعه أكثر من 100 سؤال جاهز تنسخه وتناقش به أي ذكاء اصطناعي.
الكتاب للمبتدئ تمامًا بلا أي خبرة سابقة، ولطلاب الثانوية والجامعة الذين يريدون مهارة مطلوبة، وللموظّف الذي يريد برامج صغيرة تؤدّي عمله المتكرّر. يصلك ملف PDF فور إتمام الدفع.
جرّب أكواد بايثون من الكتاب أون لاين
10 أمثلة حقيقية من فصول الكتاب، جُرِّبت على بايثون 3.14. افتح أي مثال لترى الكود ومخرجاته، أو اضغط «شغّل» لتفتحه في مترجم بايثون اون لاين وتعدّل عليه بلا تثبيت.
- ▶ شغّل
بطاقة دعوة عشاء الجمعة
الفصل 6 · المتغيّرات (Variables)تحفظ كل معلومة في متغيّر باسم واضح، ثم تطبع بطاقة الدعوة كاملة.
host = "أم خالد" dish = "كبسة لحم" day = "الجمعة" dinner_time = "8 مساءً" place = "بيت العائلة" print("دعوة عشاء") print("الداعي:", host) print("الطبق:", dish) print("اليوم:", day) print("الوقت:", dinner_time) print("المكان:", place)المخرجات:
دعوة عشاء الداعي: أم خالد الطبق: كبسة لحم اليوم: الجمعة الوقت: 8 مساءً المكان: بيت العائلة
- ▶ شغّل
حاسبة ميزانية الرحلة
الفصل 7 · الأعداد والحساب (Numbers)تحسب كلفة الفندق والوقود ونصيب كل فرد، وتحوّل دقائق القيادة إلى ساعات ودقائق بـ // و %.
fuel = 450.75 nights = 3 price_per_night = 320 travelers = 4 drive_minutes = 635 hotel_total = nights * price_per_night total = fuel + hotel_total per_person = total / travelers hours = drive_minutes // 60 minutes = drive_minutes % 60 print("الفندق:", hotel_total, "ريال") print("المجموع:", total, "ريال") print("نصيب الفرد:", round(per_person, 2), "ريال") print("ساعات القيادة:", hours) print("والدقائق:", minutes)المخرجات:
الفندق: 960 ريال المجموع: 1410.75 ريال نصيب الفرد: 352.69 ريال ساعات القيادة: 10 والدقائق: 35
- ▶ شغّل
مُنسِّق رسالة التذكير
الفصل 8 · النصوص (Strings)تنظّف الاسم ورقم الجوال، وتجمع المواد في جملة واحدة، وتكتب الرسالة بـ f-string.
raw_name = " نورة " subjects_line = "الرياضيات,مشروع الإنجليزي" phone = "055 123 4567" name = raw_name.strip() subjects = " و".join(subjects_line.split(",")) clean_phone = phone.replace(" ", "") title = " تذكير ".center(24, "=") print(title) print(f"مرحبًا {name}، بقي عليك: {subjects}.") print(f"رقم مدرّسة الرياضيات: {clean_phone}") print(f"أرقام فقط؟ {clean_phone.isdigit()}") print(f"عدد الأرقام: {len(clean_phone)}")المخرجات:
======== تذكير ========= مرحبًا نورة، بقي عليك: الرياضيات ومشروع الإنجليزي. رقم مدرّسة الرياضيات: 0551234567 أرقام فقط؟ True عدد الأرقام: 10
- ▶ شغّل
جدول الاختبارات
الفصل 13 · الحلقات (for · range())حلقة for تمرّ على الجدول وترقّم كل اختبار.
# جدول اختبارات نهاية الفصل (بعد شهر) كما أرسلته المدرسة exams = [ ["الأحد", "اللغة العربية"], ["الاثنين", "الأحياء"], ["الثلاثاء", "الفيزياء"], ["الأربعاء", "الرياضيات"], ["الخميس", "الكيمياء"], ] print("جدول الاختبارات") for number in range(len(exams)): day, subject = exams[number] print(f"{number + 1}. {day}: {subject}") print("عدد الاختبارات:", len(exams))المخرجات:
جدول الاختبارات 1. الأحد: اللغة العربية 2. الاثنين: الأحياء 3. الثلاثاء: الفيزياء 4. الأربعاء: الرياضيات 5. الخميس: الكيمياء عدد الاختبارات: 5
- ▶ شغّل
تقرير المعدّلات
الفصل 18 · الدوال (Functions)دالتان: واحدة تحسب المعدّل وأخرى تعطي التقدير، تستدعيهما لكل طالبة.
# دالة المعدّل التي وعدناك بها: تحسب معدّل أي طالبة، وتستدعيها متى شئت def average(grades): return sum(grades) / len(grades) def label(avg): if avg >= 15: return "ممتاز" elif avg >= 12: return "جيد جدًا" elif avg >= 10: return "جيد" return "يحتاج مراجعة" students = {"نورة": [18, 16.5, 19], "ريم": [15, 17, 16], "هند": [10, 12, 11]} for name, grades in students.items(): avg = average(grades) print(f"{name}: {avg:.2f} ← {label(avg)}")المخرجات:
نورة: 17.83 ← ممتاز ريم: 16.00 ← ممتاز هند: 11.00 ← جيد
- ▶ شغّل
جدول بأعمدة مرتّبة
الفصل 21 · تنسيق المخرجات (str.format())الجدول نفسه مرّتين: بنصّ تنسيق format() وبالطرق اليدوية zfill وrjust.
# جدول اختبارات نورة مرّتين: بنصّ تنسيق format()، وبالطرق اليدوية exams = [("العربي", 11, 8), ("الأحياء", 11, 9), ("الفيزياء", 11, 10), ("الرياضيات", 11, 11), ("الكيمياء", 11, 12)] today = 17 # اليوم 17 أكتوبر row = "{0:02d}/{1:02d} {2:>3} days {3}" print("DATE LEFT SUBJECT") for subject, month, day in exams: left = (31 - today) + day print(row.format(day, month, left, subject)) print() for subject, month, day in exams: left = (31 - today) + day date = str(day).zfill(2) + "/" + str(month).zfill(2) print(date, str(left).rjust(4), "days ", subject)المخرجات:
DATE LEFT SUBJECT 08/11 22 days العربي 09/11 23 days الأحياء 10/11 24 days الفيزياء 11/11 25 days الرياضيات 12/11 26 days الكيمياء 08/11 22 days العربي 09/11 23 days الأحياء 10/11 24 days الفيزياء 11/11 25 days الرياضيات 12/11 26 days الكيمياء
- ▶ شغّل
بطاقة المادة
الفصل 28 · الأصناف والكائنات (Classes)صنف Subject يجعل كل مادة كائنًا له اسم وساعات وموعد اختبار.
# بطاقة مادة: كل مادة كائن له اسم وساعات مخطّطة ومنجزة وموعد اختبار class Subject: """مادة في خطّة مذاكرة نورة.""" def __init__(self, name, planned, done=0, exam_day=None): self.name = name self.planned = planned self.done = done self.exam_day = exam_day plan = [ Subject("الأحياء", 6, 4, exam_day=9), Subject("الفيزياء", 8, 5, exam_day=10), Subject("الكيمياء", 5, 1, exam_day=12), ] for subject in plan: left = subject.planned - subject.done print(f"{subject.name}: باقي {left} ساعات، والاختبار {subject.exam_day} نوفمبر")المخرجات:
الأحياء: باقي 2 ساعات، والاختبار 9 نوفمبر الفيزياء: باقي 3 ساعات، والاختبار 10 نوفمبر الكيمياء: باقي 4 ساعات، والاختبار 12 نوفمبر
- ▶ شغّل
نصيحة حسب حالة المهمّة
الفصل 30 · Enum و match (Enum · match)تعداد Enum لحالات المهمّة، وmatch يختار النصيحة المناسبة لكل حالة.
from enum import Enum class Status(Enum): TODO = "لم تبدأ" DOING = "جارية" DONE = "انتهت" def advice(status): match status: case Status.TODO: return "ابدئي بربع ساعة" case Status.DOING: return "أكملي، أنتِ في الطريق" case Status.DONE: return "أحسنتِ، استريحي" for s in Status: print(s.value, "->", advice(s))المخرجات:
لم تبدأ -> ابدئي بربع ساعة جارية -> أكملي، أنتِ في الطريق انتهت -> أحسنتِ، استريحي
- ▶ شغّل
العدّ التنازلي للاختبارات
الفصل 31 · المولِّدات (Generators · yield)مولّد يعطي كل يوم باقٍ ومادّته بالدور، ثم نجمع الساعات بتعبير مولّد.
# عدّ تنازلي للاختبارات: مولّد يعطي كل يوم ومهمّته، حتى أول اختبار def daily_plan(days_left, subjects): """تعطي لكل يوم باقٍ مادة، بالدور.""" day = days_left turn = 0 while day > 0: yield day, subjects[turn % len(subjects)] day -= 1 turn += 1 subjects = ["الأحياء", "الفيزياء", "الكيمياء"] plan = daily_plan(12, subjects) for day, subject in plan: if day <= 6: print(f"الأيام الباقية {day}: {subject}") hours = {"الأحياء": 2, "الفيزياء": 3, "الكيمياء": 2} total = sum(hours[s] for _, s in daily_plan(12, subjects)) print("مجموع الساعات حتى الاختبار:", total)المخرجات:
الأيام الباقية 6: الأحياء الأيام الباقية 5: الفيزياء الأيام الباقية 4: الكيمياء الأيام الباقية 3: الأحياء الأيام الباقية 2: الفيزياء الأيام الباقية 1: الكيمياء مجموع الساعات حتى الاختبار: 28
- ▶ شغّل
مستخرج أرقام الجوال
الفصل 34 · التعابير النمطية (Regular expressions)نمط re واحد يجد أرقام الجوال السعودية في الرسائل، بمسافات أو بدونها.
# أرقام المجموعة من رسائلها: نستخرج كل جوّال سعودي، بمسافات أو بدونها import re messages = [ "ريم: رقمي الجديد 0551234567", "لمى: 056 765 4321 للواتساب", "سارة: اتصلي على 0509876543 أو 0112345678 للبيت", "هند: رقمي 05512 (ناقص، سأرسله لاحقًا)", ] pattern = r"05\d ?\d{3} ?\d{4}" for line in messages: name = line.split(":")[0] for phone in re.findall(pattern, line): digits = phone.replace(" ", "") print(f"{digits} {name}")المخرجات:
0551234567 ريم 0567654321 لمى 0509876543 سارة
المواصفات
| العلامة التجارية | تقدر |
|---|---|
| القسم | كتب إلكترونية |
| عنوان الكتاب | أساسيات البرمجة بلغة بايثون |
| الصيغة | |
| عدد الفصول | 40 |
| عدد الصفحات | 720 |
| نسخة بايثون | Python 3.14 |
| اللغة | العربية |
| المستوى | مبتدئ |
| الإصدار | 2027 |
| رمز المنتج (SKU) | TGD-EB-008 |











