التخطي إلى المحتوى الرئيسي

دورة لغة البايثون: الدرس الأول المقدمة

 كورس لغة الـPython

في هذه المقال سوف نبدء كورس لغة البايثون وسوف نتعرف عليها وعلى تاريخ لغة البايثون وسوف نلقي نظرة على بعض الأمثلة


المقدمة


في عالم التكنولوجيا الحديث، تبرز بايثون كلغة البرمجة الساحرة التي تبهر المبرمجين والمطورين حول العالم. إنها اللغة التي تمتزج فيها البساطة مع القوة، والقابلية للقراءة مع إمكانيات لا حدود لها. إنها لغة بايثون، وهي ليست مجرد لغة برمجة، بل هي أداة سحرية تمنحك القدرة على تطوير تطبيقات مذهلة وحلول فعالة لمجموعة متنوعة من التحديات التقنية.


دعونا نستمتع بجولة سحرية في عالم بايثون، حيث سنكتشف ما يجعلها الاختيار الأول للمطورين في مختلف المجالات. سنلقي نظرة عميقة على قوتها ومرونتها، ونتعلم كيف يمكن لبايثون أن يكون رفيقك في رحلتك نحو تحقيق الأفكار الإبداعية وبناء مستقبل تقني مشرق.

ما هي لغة البايثون


لغة البايثون هي لغة برمجة ديناميكية وعالية المستوى وسهلة في التعلم ولكن سهولتها لا تجعلها لغة ضعيفة بالعكس هي لغة من اقوى لغات البرمجة في العالم ولا ننسى انها تحتل أولا المراكز في تصنيفات لغات البرمجة

 ما المميز في بايثون او لماذا بايثون


بايثون هي لغة برمجة سهلة التعلم وهاذ يجعل الكثير من الناس يتجهون اليها وأيضا كثرة الطلب عليها تجعلها مرغوبة كثيرا وعدد المجالات التي تدخل فيها وانظمة التشغيل التي تعمل عليها كثيرة وهي تدعم جميع انظمة التشغيل مثل Windows بجميع اصداراته و macOS و Linux مثل Kali Linux او Ubuntu او Parrot او Debian او Linux Mint او حتى Unix وبايثون تمتاز ايضن بسهولة القراءة بسبب كثرة الدوال التي تشير الى معناها مثل دالة print او import او حتى as و open وهاذ شيء لا يوجد في الكثير من لغات البرمجة وبايثون تمتاز ايضن بأنها تحتوي على الكثير من المكاتب والمكاتب التي تحتويها لغة البايثون حيث انها تحتوي على اكثر من 100,000 مكتبة وهذه العدد الهائل من المكاتب يجعل بايثون تدخل في العديد العديد من المجالات ولغة بايثون لغة مفتوحة المصدر حيث انك تستطيع التعديل عليها ولغة بايثون لغة تم برمجتها بأستخدام اللغة الشهيرة C++ واذا انت كنت محترف في لغة C,C++ يمكنك التعديل على لغة البايثون او حتى اضافة اشياء لها ولا ننسى انها تدعم البرمجة كائنية التوجه او OOP وهذه الشيء يجعلها افضل واقوى ومن اللغات التي لا تكرر الكود حيث يمكنك كتابته مره واستخدامه 100 الف مره وأكثر

بماذا يمكن استخدام او الأستفادة من لغة بايثون


لغة بايثون تدخل في العديد العديد من المجالات ومن ضمنها برمجة الذكاء الأصطناعي (Artificial intelligence programming) او برمجة تطبيقات سطح المكتب (Desktop application programming) او برمجة تطبيقات الهواتف (Programming mobile applications) ان كان لنظام تشغيل اندرويد(Android) او لنظام تشغيل الأيفون (IOS,MacOS) او حتى لأنظمة تشغيل ويندوز (Windows) بجميع انواعه مثل Windows 7, Windows 8, Windows 8.1, Windows 10, Windows 11 وايضا يمكن برمجة تطبيقات الويب او بما يسما (web applications) وذالك لكثرة المكاتب التي فيها ويمكن ايضن التعامل مع صفحات الويب وعمل جميع لبيانات معينة بأستخدام الـScraping وهذه ايضن يمعود بالفضل الى المكاتب التي فيها وأيضن يمكن برمجة الذكاء الأصطناعي باستخدام بايثون ومن ضمن المكاتب المشهورة في بايثون لبرمجة الذكاء الأصطناعي هي مكتبة TensorFlow و مكتبة Keras


تاريخ لغة البايثون


لغة البرمجة بايثون تم اصدارها في عام 1991 على يد العالم المبرمج الهولندي جيدو فان روسم  ( Guido van Rossum) وسألنا بعض الناس من اقدم لغة البرمجة بايثون او لغة البرمجة جافا والأفضلية كانت لي لغة جافا حيث ان الكثير منهم قال لغة جافا ولكن العكس حيث ان بايثون اقدم من جافا بايثون اصدرة لأول مرة في عام 1991 كما قلنا و لغة جافا اصدرة لأول مرة في عام 1995 يعني ان بايثون اكبر من جافا بأربع سنوات وتسيمة لغة بايثون تم استلهامها من المسرحية الكوميدية مونتي بايثون (Monty Python)  حيث ان جيدو كان جالس على الأريكة يأكل الشيبس ويشاهد مسرحيته المفضلة مونتي بايثون وبعدها ذهب الى حاسوبه واكمل كتابة لغة بايثون وعندها ومن حبه للمسرحية اطلق عليها اسم بايثون (قصة من خيالي لطريقة التسمية)  

 

 مكاتب لغة البايثون

كما قلنا ان بايثون تمتاز في العدد الكبير من المكاتب التي فيها وقلنا ان بايثون تحتوي على اكثر من 100 الف مكتبة واشهر المكاتب في بايثون من حيث استخدامها

 cyber security مكاتب 

‎1. Scapy
‎2. Requests
‎3. Beautiful Soup
‎4. Socket
‎5. Impacket
‎6. Paramiko
‎7. Pexpect
‎8. Yara
‎9. NLTK
‎10. Twisted
‎11. Pymetasploit3
‎12. Cryptography
‎13. Nmap
‎14. Scikit
‎15. Mechanize

 مكاتب GUI
1. PyQt5
2. Tkinter
3. PySide
4. Kivy
5. wxPython
6. PySimpleGUI
7. Libavg
8. PyForms
9. Wax
10. PyGUI
 
  مكاتب Maching Learning & AI:
1. NumPy
2. SciPy
3. Theano
4. Pandas
5. TensorFlow
6. Keras
7. PyTorch
8. Scikit-Learn
9. Matplotlib
10. Plotly

  امثلة في بايثون

 

سكربت بايثون يأخذ صفحة الموقع ويحفظها في ملف بأسم الصفحة


import requests
from bs4 import BeautifulSoup
import re

# تحديد عنوان URL الذي يتم تنفيذ الطلب إليه
url = 'https://example.com'

# إرسال طلب GET إلى العنوان المحدد لاسترداد صفحة HTML
response = requests.get(url)

# التحقق من حالة الاستجابة (إذا كانت القيمة تساوي 200 فهذا يعني أن الصفحة تم الوصول إليها بنجاح)
if response.status_code == 200:
    # استخدام مكتبة BeautifulSoup لتحليل الصفحة HTML
    soup = BeautifulSoup(response.content, 'html.parser')
    # استخراج عنوان الصفحة من عنصر العنوان في الصفحة
    page_title = re.sub(r'[^A-Za-z0-9]+', '_', soup.title.string.strip())
    # إنشاء ملف HTML باسم عنوان الصفحة
    with open(f'{page_title}.html', 'w', encoding='utf-8') as f:
        # كتابة كود HTML إلى الملف
        f.write(str(soup))
else:
    print('Failed to retrieve page')

the description

يتم استخراج عنوان الصفحة من عنصر العنوان في الصفحة باستخدام تعبير منتظم (regex) لإزالة أي رموز غير صالحة في اسم الصفحة. يتم حفظ الملف HTML الناتج في نفس دليل السكربت. 

 

سكربت بايثون يقوم بتحميل الفيديوهات من اليوتيوب 

from pytube import YouTube

# تحديد وصلة URL لمقطع الفيديو المطلوب
video_url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'

# إنشاء كائن YouTube من وصلة URL
yt_video = YouTube(video_url)

# اختيار دقة الفيديو المطلوبة
stream = yt_video.streams.get_highest_resolution()

# تحديد مسار الحفظ
file_path = '/path/to/save/directory/'

# تحضير اسم الملف
video_title = yt_video.title.replace(' ', '_') + '.mp4'

# التأكد من وجود المسار وإنشاءه إذا لم يكن موجودًا
import os
if not os.path.exists(file_path):
    os.makedirs(file_path)

# تحميل مقطع الفيديو
stream.download(output_path=file_path, filename=video_title)

print('تم تحميل الفيديو بنجاح!')

the description

في هذا السكربت، يتم تحديد وصلة URL للفيديو في المتغير video_url. يتم إنشاء كائن YouTube باستخدام الوصلة المعطاة في المتغير yt_video. يتم اختيار دقة الفيديو المطلوبة باستخدام get_highest_resolution() وتخزينها في المتغير stream. يتم تحديد المسار الذي سيتم حفظ الفيديو فيه في المتغير file_path، ويتم إعداد اسم الملف في المتغير video_title باستخدام title() وreplace().

يتم التأكد من وجود المسار المحدد في file_path وإنشاءه إذا لم يكن موجودًا باستخدام os.path.exists() و os.makedirs().

أخيرًا، يتم تنفيذ download() باستخدام output_path و filename لتحميل الفيديو وحفظه في المسار المحدد وباسم الملف المحدد. يتم طباعة رسالة تأكيد في نهاية التشغيل. 

 

سكربت بايثون يقوم بأرسال كلمة hello world الى السيرفرات

import socket

# تحديد عنوان IP ومنفذ السيرفر المطلوب
SERVER_ADDRESS = ('127.0.0.1', 8000)

# إنشاء كائن socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

def connect_to_server():
    """
    الاتصال بالسيرفر المحدد
    """
    print(f'Connecting to server at {SERVER_ADDRESS[0]}:{SERVER_ADDRESS[1]}...')
    client_socket.connect(SERVER_ADDRESS)
    print('Connection established!')

def send_message(message):
    """
    إرسال رسالة محددة إلى السيرفر المتصل به
    """
    print(f'Sending message "{message}"...')
    client_socket.sendall(message.encode())
    print('Message sent!')

def close_connection():
    """
    إغلاق الاتصال بالسيرفر
    """
    client_socket.close()
    print('Connection closed.')

if __name__ == '__main__':
    connect_to_server()
    send_message('Hello, World!')
    close_connection()

the description

في هذا السكربت، يتم تحديد عنوان IP ومنفذ السيرفر المطلوب في المتغير SERVER_ADDRESS، ويتم إنشاء كائن socket باستخدام AF_INET لتحديد استخدام IPv4 و SOCK_STREAM لتحديد استخدام بروتوكول TCP. يتم إنشاء ثلاث دوال لإجراء الاتصال وإرسال الرسالة وإغلاق الاتصال.



تم استخدام دالة connect_to_server() للاتصال بالسيرفر، وعند الأتصال بالسيرفر تظهر رسالة انه تم الأتصال. بعدها تم استخدام احدى الدوال المتوفرى ولتي هي send_message() لأرسال رسالة الى السيرفر تحتوي كلمة hello world  ، ويتم عرض رسالة تأكيد عند إتمام عملية الإرسال.. وأخيراً، تم استخدام دالة close_connection() لإغلاق الاتصال بالسيرفر، وتظهر رسالة تأكيد عند إغلاق الاتصال.

يتم تنفيذ الدوال الثلاثة في الدالة الرئيسية __main__ بترتيب معين. يمكن تعديل قيمة المتغير SERVER_ADDRESS بسهولة للاتصال بسيرفر آخر.

 

في هذا المقال، قدمنا لك مقدمة شاملة وسهلة الفهم حول لغة البرمجة Python. إن Python هي لغة ممتازة للمبتدئين والمحترفين على حد سواء، حيث تتيح لك إنشاء تطبيقات قوية ومتنوعة. نأمل أن تكون هذه المعلومات الأساسية قد ساعدتك في البداية وأن تجد متعة في استكشاف عالم Python الرائع. لا تتردد في المضي قدمًا وتطوير مهاراتك في هذه اللغة الرائعة واستكشاف المزيد من إمكانياتها  

والى هنا وقد وصلنا الى نهاية درس اليوم واراكم في الدرس القادم

تعليقات

المشاركات الشائعة من هذه المدونة

شرح انشاء Label في tkinter

بدرسنا مال اليوم راح نشرح عن Label بtkinter درس اليوم سهل وبسيط وحلو بس احتاج منكم تركزون وياي بالشرح اليوم راح نتعلم شي اسمه widgets زين شنو هوا widgets الـwidgets اريدكم تتخايلونها مثل قطع Lego الي يستخدمونها الأطفال ببناء العابهم وكل widgets الها شغل مختلف عن الثانية يعني مثلا اكو widgets تكتب داخلها شي وهيه تعرضه على البرنامج( نص ) واكو widgets تضغط عليه وتسويلك شي معين ( زر ) اكو widgets تسمح للشخص الي يستخدم البرنامج انو هوا يكتب داخلها ( حقل ادخال ) واليوم راح اشرح الكم widgets الي تخلينا نعرض احنا شي على النافذة مالتنا  وهاي widget اسمها Label والها خصائص تخلي شكلها افضل او تخلينا نتحكم بالشكل مالتها مثل ( حجم الكلام, لون الكلام, خلقة الكلام, شكل الكلام ) وهواي اشياء ثانية اني شرحت شي بسيط منها بفيديو على قناتي على اليوتيوب وهاذا درسها شاهدو حتى تفهمون الي راح تقرو ورا الفيديو الفيديو   خاصة text هيا نكتب بيها الكلام الي راح يضهر على البرنامج مالتنا يعني مثل ما تكول المكان الي نكتب بيه الرسالة وهاذا مثال بسيط...

الأتصال بي MySQL

  بسم الله الرحمن الرحيم كيف حاليكم اصدقائي ان شاء الله بخير وعلى خير انا محمد و اليوم عدة لكم مقال جديد و في مقالنا لليوم سوف نتعلم كيف نقوم بالأتصال بي MySQL و سوف نقوم بحل مشاكل الأتصال كا المشكلة التي رقمها 1045 و سوف نقوم باأتصال بكل سلاسة لن اطيل عليكم و دعونا نرى الفيديو          و يا شباب يجب مراعات الأرف الصغيرة و الكبيرة حيث ان بايثون تهتم جدا في الأحرف الصغيرة و الكبير وفي حلقتنا لليوم قد استعما امر connect في مكتبة mysql.connector و قد ادخلنا في داخل امر connect قيم لي ال host و user و passwd و القيم التي ادخلناها هيا user ='root' و passwd ='' و host='localhost' و قمنا بعمل print("Done Connect ") حيث اذا تم الأتصال سوف يطبعها لنا و اذا ضهر خطاء لن يتم طبعتها و هاكذا هاذا هوى السكربت import mysql.connector as mysql mysql.connect(host='localhost',user='root',passwd='') print("Done Connect") و الى هنا وقد وصلنا الى نهاية مقالنا لليوم اتمنى انه اعجبكم وشكرا و مع السلامة

لغة البرمجة بايثون: الدرس الخامس المتغيرات

المتغيرات Variables المتغيرات هي عبارة عن صندوق نقوم بوضع داخله قيم مثل الصندوق الفلاني سوف تجد فيه الشياء الفلاني مثال ثاني الصندوق الذي اسمه حسن سوف تجد داخله معلومات تخص حسن مثل اسمه او عمره او تاريخ ميلاده او مكان سكنه او الصندوق الفلاني سوف تجد فيه الرقم الفلاني وهاكذا ولكل صندوق او متغير هناك نوع وتكلمنا عن هذه الأنواع في مقال الدرس الرابع انواع البيانات من دورة لغة البرمجة بايثون يمكنكم قراءة المقال بالضغط هنا لماذا تم تسميتها متغيرات اسمها متغيرات لأنها يمكن ان تتغير قيمتها على سبيل المثال متغير بأسم a قيمته الأن hasan يمكن تبديل قيمته وجعلها nour او حتى يمكن جعلها رقم ليس هناك فرق   ماذا نستفيد من تعلم او استعمال المتغيرات   الأستفاد من المتغيرات كثيرة ولاكن سوف اذكر بعضها 1. عدم تكرار النصوص  2. عدم ضياع بيانات في البرنامج 3. تسهيل كتابة البرامج  والأن ماذا اعني بعدم تكرار النصوص لفترض انك تريد كتابة جملة طويلة مثل جملة   Welcome to the so-and-so to learn so-and-so things وانت تريد ان تستخدم هذه الكلمة في عدة اماكن من البرنامج اذن انت سوف تطر الى كتاب...