كورس لغة الـ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 الرائع. لا تتردد في المضي قدمًا وتطوير مهاراتك في هذه اللغة الرائعة واستكشاف المزيد من إمكانياتها
والى هنا وقد وصلنا الى نهاية درس اليوم واراكم في الدرس القادم

تعليقات
إرسال تعليق