fa
Feedback
Learn Python

Learn Python

رفتن به کانال در Telegram
4 726
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+257 روز
+9330 روز
آرشیو پست ها
📎 #Python 3 cheat sheet ملخص اوامر Python3 @sudevelopers

+9
مجموعة كتب #Python @sudevelopers

كتاب تعلم البرمجة بلغة #بايثون #بالعربي، يشرح الكتاب اللغة بالكامل و يشمل المواضيع لكافة المستويات مبتدىء حتى متقدم #Python ح
كتاب تعلم البرمجة بلغة #بايثون #بالعربي، يشرح الكتاب اللغة بالكامل و يشمل المواضيع لكافة المستويات مبتدىء حتى متقدم #Python حمل الكتاب من هنا

هل تساءلت يومًا عن كيفية الحصول على بياناتك المفضلة من الإنترنت، مثل أسعار المنتجات، أو أخبار معينة، أو حتى قوائم المقالات من المواقع المختلفة؟ إذاً، فأنت في المكان الصحيح! في هذا المقال، سنستعرض تقنية Web Scraping، وهي أداة قوية تتيح لنا سحب البيانات من الويب بسهولة ويسر باستخدام لغة بايثون. من خلال تقنيات Web Scraping، يمكننا استخراج البيانات من أي موقع واستغلالها في أبحاثنا، أو تحليل البيانات، أو حتى مشاريعنا الشخصية. فلنبدأ سويًا في رحلة ممتعة إلى عالم Web Scraping، وسنكون معك في كل خطوة باستخدام أمثلة عملية! ### ما هو Web Scraping؟ هو عملية استخراج المعلومات من مواقع الويب بشكل تلقائي. من خلال استخدام أكواد برمجية، يمكنك قراءة صفحات الإنترنت واستخلاص المعلومات المهمة منها، فهذا يشبه تجميع قطع الألغاز لتكوين صورة كاملة. ولكن كيف نفعل ذلك؟ دعونا نستعرض الخطوات الأساسية. ### الأدوات المطلوبة لنتبع هذه التقنية، سنحتاج إلى بعض المكتبات الأساسية في بايثون: 1. Requests: لإرسال الطلبات إلى المواقع واستلام المحتوى. 2. BeautifulSoup: لتحليل المحتوى ورؤية ما يجري تحت الغطاء. 3. Pandas: لتنظيم البيانات في شكل جداول. قبل أن نبدأ، تأكد من تثبيت المكتبات:
pip install requests beautifulsoup4 pandas
### الخطوة 1: إرسال طلب إلى الموقع دعنا نبدأ بإرسال طلب إلى موقع معين. لنجرب ذلك مع موقع example.com:
import requests

# إرسال طلب إلى الموقع
url = 'https://example.com'
response = requests.get(url)

# التأكد من نجاح الطلب
if response.status_code == 200:
    print("تمت العملية بنجاح!")
else:
    print("فشل الطلب: ", response.status_code)
### الخطوة 2: تحليل الصفحة واستخراج البيانات الآن بعد أن حصلنا على صفحة الويب، حان الوقت لتحليل المحتوى باستخدام BeautifulSoup:
from bs4 import BeautifulSoup

# تحليل المحتوى
soup = BeautifulSoup(response.content, 'html.parser')

# الحصول على جميع عناصر العناوين
titles = soup.find_all('h1')  # لنفترض أننا نبحث عن العناوين الرئيسية

# طباعة العناوين
for title in titles:
    print(title.text)
### الخطوة 3: مثال عملي - جمع البيانات من موقع بيع المنتجات لنأخذ مثالاً عمليًا. لنفترض أنك تريد جمع بيانات الأسعار من موقع بيع إلكتروني، مثل موقع المتاجر الشهيرة. إليك كيف يمكنك القيام بذلك: #### اكتب الكود الخاص بك:
import requests
from bs4 import BeautifulSoup
import pandas as pd

# عنوان الموقع الذي نريد جمع البيانات منه
url = 'https://www.example-ecommerce-website.com'

# إرسال طلب GET
response = requests.get(url)

# تحليل المحتوى
soup = BeautifulSoup(response.content, 'html.parser')

# إنشاء قوائم لتخزين البيانات
products = []
prices = []

# نحصل على كل المنتجين والأسعار من الصفحة
for item in soup.find_all('div', class_='product-item'):
    product_name = item.find('h2', class_='product-title').text
    product_price = item.find('span', class_='product-price').text
    products.append(product_name)
    prices.append(product_price)

# إنشاء DataFrame وتنظيم البيانات
data = pd.DataFrame({
    'Product Name': products,
    'Price': prices
})

# حفظ البيانات في ملف CSV
data.to_csv('products.csv', index=False)
print("تم حفظ البيانات في ملف products.csv")
### الخطوة 4: استكشاف البيانات بعد جمع البيانات، يمكنك فتح ملف products.csv واستخدام مكتبة Pandas لتحليل البيانات بشكل أفضل:
# قراءة البيانات من ملف CSV
data = pd.read_csv('products.csv')

# عرض البيانات
print(data.head())
### الخاتمة: لماذا تعتبر تقنية Web Scraping مهمة؟ لقد استعرضنا الآن كيفية استخدام Web Scraping لجمع البيانات من الإنترنت باستخدام بايثون. تتعدد استخدامات هذه التقنية، من تحليل السوق إلى البحث العلمي، ولديها إمكانيات لا حصر لها. تذكر أنه يجب دائمًا احترام شروط الخدمة للمواقع التي تقوم بجمع البيانات منها، وأن بعض المواقع قد تضع قيودًا على استخدام هذه التقنية. - #تقنية - #برمجة - #بيانات - #استخراج_البيانات - #بايثون - #تحليل_البيانات - #Web_Scraping - #تطوير_البرمجيات - #مشاريع - #معلومات - #Technology - #Programming - #Data - #Data_Extraction - #Python - #Data_Analysis - #Web_Scraping - #Software_Development - #Projects - #Information - #SuDevelopers
🎯فضلا شارك المنشور مع اصدقاءك المهتمين.
@SuDevelopers | SUBSCRIBE

### ما هي واجهة برمجة التطبيقات (API)؟ واجهة برمجة التطبيقات (API) هي مجموعة من القواعد والبروتوكولات التي تسمح للتطبيقات بالتواصل مع بعضها البعض. ببساطة، هي طريقة تتيح لنظام ما التفاعل مع نظام آخر دون الحاجة لفهم التفاصيل الداخلية لكل منهما. تعتبر API كوسيط بين التطبيقات، مما يسمح لها بتبادل البيانات والوظائف. ### حالات الاستخدام لواجهات برمجة التطبيقات إليك بعض حالات الاستخدام الشائعة لـ APIs: 1. تفاعل التطبيقات مع الخوادم:    - يمكن للتطبيقات استخدام APIs للحصول على بيانات من الخادم، مثل معلومات الطقس أو الأخبار. 2. دمج الخدمات الخارجية:    - يمكنك استخدام APIs من خدمات مثل Google Maps أو Stripe لدمج خرائط أو خيارات دفع في التطبيق الخاص بك. 3. إدارة البيانات:    - تسمح APIs بإجراء عمليات CRUD (إنشاء، قراءة، تحديث، حذف) على البيانات. 4. الاتصال بالأنظمة الأخرى:    - مثل RESTful APIs المستخدمة لتبادل البيانات بين مواقع الويب والتطبيقات المختلفة. ### مثال بسيط باستخدام بايثون: سنستخدم API مفتوحة تقدم مواقيت الصلاة، مثل [Aladhan](https://aladhan.com/prayer-times-api). ### مثال بسيط باستخدام بايثون لجلب مواقيت الصلاة #### الخطوات اللازمة: 1. زيارة موقع Aladhan للحصول على تفاصيل الـ API. 2. استخدام مكتبة requests لإجراء استعلامات للـ API. #### كود بايثون لجلب مواقيت الصلاة: import requests # تحديد المدينة والدولة CITY = 'Cairo' COUNTRY = 'Egypt' URL = f'http://api.aladhan.com/v1/timingsByCity?city={CITY}&country={COUNTRY}' def get_prayer_times():     response = requests.get(URL)     if response.status_code == 200:         data = response.json()         timings = data['data']['timings']                 print(f"مواقيت الصلاة في {CITY}, {COUNTRY}:")         print(f"الفجر: {timings['Fajr']}")         print(f"الشروق: {timings['Sunrise']}")         print(f"الظهر: {timings['Dhuhr']}")         print(f"العصر: {timings['Asr']}")         print(f"المغرب: {timings['Maghrib']}")         print(f"العشاء: {timings['Isha']}")     else:         print("حدث خطأ أثناء جلب البيانات من API") if __name__ == '__main__':     get_prayer_times() ### كيف يعمل هذا الكود؟ 1. استيراد مكتبة Requests: نستخدم هذه المكتبة لإجراء طلبات HTTP إلى API. 2. تحديد المدينة والدولة: قمنا بتحديد مدينة "القاهرة" والدولة "مصر" كمثال، يمكنك تغييرها حسب الحاجة. 3. تكوين URL الطلب: نقوم بإنشاء URL الذي يتضمن اسم المدينة والدولة. 4. القيام بطلب GET: نقوم بإجراء طلب GET إلى API لجلب مواقيت الصلاة. 5. تحليل الرد: إذا كان الطلب ناجحًا (رمز الحالة 200)، نقوم بتحليل البيانات لاسترداد مواقيت الصلاة. 6. عرض النتيجة: نقوم بطباعة مواقيت الصلاة في المدينة والدولة المحددتين. ### ملاحظة يمكنك استبدال اسم المدينة والدولة في الكود للحصول على مواقيت الصلاة في أماكن أخرى. ### خلاصة توفر واجهات برمجة التطبيقات (APIs) وسيلة فعالة لبناء تطبيقات تفاعلية ومتطورة. من خلال استخدام APIs، يمكنك الحصول على بيانات من مصادر خارجية، دمج خدمات جديدة، وتحسين تجربة المستخدم. باستخدام المثال السابق، يمكنك بسهولة الاستفادة من APIs في بايثون لطلب المعلومات وتقديمها بطريقة مفيدة. ### الوسوم بالعربية: - #مواقيت_الصلاة - #API - #بايثون - #القاهرة - #مصر - #البرمجة - #التقنية - #الخدمات_الرقمية ### الوسوم بالإنجليزية: - #PrayerTimes - #API - #Python - #Cairo - #Egypt - #Programming - #Technology - #DigitalServices 🎯فضلا شارك المنشور مع اصدقاءك المهتمين. @SuDevelopers | SUBSCRIBE

كود Python لعرض عدد مرات تشغيل الحاسوب:
import winreg
import datetime

def get_boot_count():
    """
    يحصل على عدد مرات تشغيل الحاسوب من سجل التشغيل.
    """
    try:
        # فتح مفتاح السجل للحصول على معلومات التشغيل
        key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement")
        
        # الحصول على قيمة عدد مرات التشغيل
        boot_count = winreg.QueryValueEx(key, "BootCount")[0]
        
        # إغلاق المفتاح
        winreg.CloseKey(key)
        
        return boot_count
    except:
        return -1

def main():
    """
    الدالة الرئيسية للبرنامج.
    """
    boot_count = get_boot_count()
    if boot_count == -1:
        print("لا يمكن الحصول على عدد مرات التشغيل")
    else:
        print(f"عدد مرات تشغيل الحاسوب: {boot_count}")

if __name__ == "__main__":
    main()
هذا البرنامج يستخدم مكتبة winreg في Python للوصول إلى مفتاح السجل الذي يحتوي على معلومات عدد مرات تشغيل الحاسوب. الدالة get_boot_count() هي المسؤولة عن قراءة هذه المعلومات من السجل وإرجاعها. إذا واجهت أي مشاكل في الوصول إلى السجل، سيتم إرجاع القيمة -1. الدالة main() ببساطة تطبع عدد مرات التشغيل على وحدة الإخراج. عند تشغيل هذا البرنامج، سيتم عرض عدد مرات تشغيل الحاسوب، على سبيل المثال: عدد مرات تشغيل الحاسوب: 123 يرجى ملاحظة أن هذا الكود يعمل على نظام التشغيل Windows فقط، لأنه يستخدم مكتبة winreg التي هي خاصة بنظام Windows.
🎯فضلا شارك المنشور مع اصدقاءك المهتمين.
@SuDevelopers | SUBSCRIBE

لإنشاء برنامج لعرض مواصفات الحاسوب باستخدام لغة Python، يمكنك استخدام المكتبات المتاحة مثل psutil. فيما يلي مثال على كود يقوم بذلك:
import psutil

def get_system_info():
    """
    يقوم هذا الدالة بجمع معلومات عن مواصفات الحاسوب
    وإرجاعها في شكل قاموس.
    """
    info = {}
    
    # الحصول على معلومات النظام
    info['platform'] = psutil.system()
    info['architecture'] = psutil.architecture()[0]
    
    # الحصول على معلومات المعالج
    cpu_freq = psutil.cpu_freq()
    info['cpu_count'] = psutil.cpu_count()
    info['cpu_freq'] = f"{cpu_freq.current:.2f}Mhz"
    
    # الحصول على معلومات الذاكرة
    memory = psutil.virtual_memory()
    info['total_memory'] = f"{memory.total / (1024.0 ** 2):.2f} MB"
    
    # الحصول على معلومات القرص الصلب
    disk = psutil.disk_usage('/')
    info['total_disk'] = f"{disk.total / (1024.0 ** 3):.2f} GB"
    
    return info

def main():
    """
    الدالة الرئيسية للبرنامج.
    """
    system_info = get_system_info()
    
    print("معلومات الحاسوب:")
    for key, value in system_info.items():
        print(f"{key.capitalize()}: {value}")

if __name__ == "__main__":
    main()
هذا البرنامج يستخدم المكتبة psutil لجمع معلومات عن مواصفات الحاسوب مثل نظام التشغيل، معلومات المعالج، الذاكرة، والقرص الصلب. تقوم الدالة get_system_info() بتجميع هذه المعلومات في شكل قاموس، والذي يتم عرضه في الدالة main(). عند تشغيل هذا البرنامج، سيتم إظهار نتائج مثل:
معلومات الحاسوب: Platform: Windows Architecture: 64bit Cpu_count: 4 Cpu_freq: 2.40Mhz Total_memory: 8.00 MB Total_disk: 465.76 GB
يمكنك تعديل هذا الكود لعرض أي معلومات أخرى عن الحاسوب باستخدام المكتبة psutil.
🎯فضلا شارك المنشور مع اصدقاءك المهتمين.
@SuDevelopers | SUBSCRIBE

برنامج بلغة بايثون يقوم بكشف الملفات ذات الحجم الكبير في مجلد معين:
import os

def find_large_files(directory, min_size_mb=100):
    """
    Finds files in the given directory that are larger than the specified minimum size in megabytes.
    
    Args:
        directory (str): The directory to search for large files.
        min_size_mb (int, optional): The minimum file size in megabytes. Default is 100 MB.
    
    Returns:
        dict: A dictionary where the keys are the file paths and the values are the file sizes in bytes.
    """
    large_files = {}
    
    for root, dirs, files in os.walk(directory):
        for file in files:
            file_path = os.path.join(root, file)
            file_size = os.path.getsize(file_path)
            if file_size > min_size_mb * 1024 * 1024:
                large_files[file_path] = file_size
    
    return large_files

# Example usage
directory_to_search = "/path/to/your/directory"
large_files_dict = find_large_files(directory_to_search, min_size_mb=100)

if large_files_dict:
    print("Large files found:")
    for file_path, file_size in large_files_dict.items():
        print(f"{file_path} - {file_size / (1024 * 1024):.2f} MB")
else:
    print("No large files found in the specified directory.")
أوضح كيفية استخدام هذا البرنامج: 1. يستخدم دالة find_large_files لتحديد الملفات ذات الحجم الكبير في مجلد محدد. 2. يأخذ هذه الدالة مدخلان:    - directory: المسار إلى المجلد الذي ترغب في البحث فيه عن الملفات الكبيرة.    - min_size_mb: الحد الأدنى للحجم الملف بالميجابايت (الافتراضي هو 100 ميجابايت). 3. الدالة تعود بقاموس حيث المفاتيح هي مسارات الملفات والقيم هي أحجام الملفات بالبايت. 4. في المثال الموجود في نهاية الكود، يتم البحث في المسار /path/to/your/directory عن الملفات التي تزيد أحجامها عن 100 ميجابايت. 5. إذا تم العثور على ملفات كبيرة، يتم طباعة مسار كل ملف وحجمه بالميجابايت. يمكنك تعديل المسار وحد الحجم الأدنى حسب احتياجاتك. كما يمكنك إضافة المزيد من الخصائص والخيارات إلى هذا البرنامج حسب ما تحتاجه. لائحة الوسوم بالعربية: #بايثون #كشف_الملفات_الكبيرة #حجم_الملفات #تحليل_الملفات #البرمجة_بلغة_بايثون لائحة الوسوم بالإنجليزية: #Python #FindLargeFiles #FileSize #FileAnalysis #PythonProgramming
🎯فضلا شارك المنشور مع اصدقاءك المهتمين.
@SuDevelopers | SUBSCRIBE

🌱 PyAutoGUI: هي مكتبة في بايثون تسمح لك بالتحكم في سطح المكتب وأداء إجراءات تلقائية. بعض الأشياء التي يمكنك القيام بها باستخدام هذه المكتبة: - التحكم في الماوس (النقر، السحب والإفلات، التمرير) - التحكم في لوحة المفاتيح (الكتابة، الضغط على مفاتيح معينة) - التقاط لقطات شاشة - تحديد موقع العناصر على الشاشة - تحديد لون البكسل في موقع معين على الشاشة إليك مثال بسيط على كيفية استخدام PyAutoGUI:
import pyautogui

# التحكم في الماوس
pyautogui.moveTo(100, 200)  # تحريك المؤشر إلى الموقع (100, 200)
pyautogui.click()  # النقر بزر الماوس الأيمن
pyautogui.dragTo(300, 400, duration=2, button='left')  # السحب والإفلات خلال ثانيتين

# التحكم في لوحة المفاتيح
pyautogui.typewrite('Hello, World!', interval=0.25)  # الكتابة ببطء
pyautogui.press('enter')  # الضغط على مفتاح Enter

# التقاط لقطة شاشة
image = pyautogui.screenshot()
image.save('screenshot.png')  # حفظ اللقطة كصورة

# البحث عن عناصر على الشاشة
button_location = pyautogui.locateOnScreen('button.png')
if button_location:
    pyautogui.click(button_location)  # النقر على الزر
في هذا المثال، استخدمنا PyAutoGUI للقيام بالعديد من الإجراءات على سطح المكتب، بما في ذلك تحريك المؤشر، النقر بالماوس، الكتابة على لوحة المفاتيح، التقاط لقطة شاشة، والنقر على زر محدد. PyAutoGUI هي مكتبة قوية وسهلة الاستخدام تمكنك من أتمتة العديد من المهام التي تتطلب التفاعل مع سطح المكتب. هي مفيدة جدًا في إنشاء إجراءات تلقائية ونظم مؤتمتة.
🎯فضلا شارك المنشور مع اصدقاءك المهتمين.
@SuDevelopers | SUBSCRIBE

🚀 Python code that can send WhatsApp messages, send emails, and send SMS messages to a number. @SuDevelopers | SUBSCRIBE
🚀 Python code that can send WhatsApp messages, send emails, and send SMS messages to a number. @SuDevelopers | SUBSCRIBE

Python® Notes for Professionals book 📄 700+ pages #Python ➖➖➖➖➖➖➖➖➖➖➖➖➖ @SuDevelopers | Subscribe

For example: python f = open("file.txt", "w") f.write("Hello, World!") f.close() In the above code, we are opening a file for writing and writing some data to it. However, we are not using a context manager. Instead, we can use the with statement: python with open("file.txt", "w") as f: f.write("Hello, World!") Conclusion In this article, we discussed ten common mistakes Python programmers make and how to avoid them. By avoiding these mistakes, we can write more reliable and efficient code. Remember to always double-check your code and use best practices when programming in Python. @SuDevelopers | Subscribe

For example:
python
f = open("file.txt", "w")
f.write("Hello, World!")
f.close()
In the above code, we are opening a file for writing and writing some data to it. However, we are not using a context manager. Instead, we can use the with statement:
python
with open("file.txt", "w") as f:
    f.write("Hello, World!")
Conclusion In this article, we discussed ten common mistakes Python programmers make and how to avoid them. By avoiding these mistakes, we can write more reliable and efficient code. Remember to always double-check your code and use best practices when programming in Python. 5403 из 4096

python
a = [1, 2, 3]
b = [1, 2, 3]
print(a == b)   # Output: True
print(a is b)   # Output: False
In the above code, we are comparing two lists a and b. Using == will compare the value of the lists, which is True, while using is will compare the object identity, which is False. 6. Modifying the sequence while iterating Python has a for loop that allows us to iterate over a sequence of elements. However, it is a common mistake to modify the sequence while iterating over it. This can cause unexpected behavior and can be hard to debug. For example:
python
numbers = [1, 2, 3, 4, 5]
for i in numbers:
    if i == 3:
        numbers.remove(i)
print(numbers)
In the above code, we are removing the element 3 from the list numbers while iterating over it. This can cause unexpected behavior. Instead, we can create a new list:
python
numbers = [1, 2, 3, 4, 5]
new_numbers = []
for i in numbers:
    if i != 3:
        new_numbers.append(i)
print(new_numbers)
7. Using mutable default arguments In Python, we can define default arguments for functions. However, it is a common mistake to use mutable objects as default arguments. This can cause unexpected behavior when the function is called multiple times. For example:
python
def foo(a=[]):
    a.append(1)
    print(a)

foo()
foo()
In the above code, we are using a mutable object ([]) as a default argument. When the function is called multiple times, the object will be modified, and the output will not be what we expected. Instead, we can use an immutable object like this:
python
def foo(a=None):
    if a is None:
        a = []
    a.append(1)
    print(a)

foo()
foo()
8. Not closing files Python has a built-in function for opening files (open()). However, it is a common mistake not to close the file after using it. This can cause the file to be locked, which can cause problems when trying to access it later. For example:
python
f = open("file.txt", "w")
f.write("Hello, World!")
In the above code, we are opening a file for writing and writing some data to it. However, we are not closing the file. Instead, we can use the with statement, which automatically closes the file when we are done with it:
python
with open("file.txt", "w") as f:
    f.write("Hello, World!")
9. Not using the if __name__ == "__main__" trick When writing Python modules, it is a common mistake not to use the if __name__ == "__main__" trick. This can cause the code to be executed when it is imported, which is usually not what we want. For example:
python
# my_module.py
import random
print(random.randint(1, 10))
In the above code, we are importing random and printing a random number. However, when we import my_module, this code will be executed. Instead, we can use the if __name__ == "__main__" trick:
python
# my_module.py
import random
def main():
    print(random.randint(1, 10))

if __name__ == "__main__":
    main()
10. Not using context managers Python has a built-in feature called context managers, which allows us to manage resources such as files, sockets, and more. However, it is a common mistake not to use context managers when working with resources.

@SuDevelopers Python is a powerful and easy-to-learn programming language. It is widely used in various fields, including data science, machine learning, web development, and more. However, even experienced Python programmers can make mistakes that cost them time and effort. In this article, we'll discuss ten common mistakes Python programmers make and how to avoid them with examples. 1. Using global variables inside functions One of the most common mistakes Python programmers make is using global variables inside functions. This can cause the code to be hard to read and difficult to debug. It is recommended to use function arguments instead of global variables. For example, consider the following code: python x = 10 def foo(): global x x += 1 print(x) foo() In the above code, we are using the global variable x inside the function foo(). Instead, we can use a function argument like this: python def foo(x): x += 1 print(x) x = 10 foo(x) 2. Continuing after an exception Another common mistake Python programmers make is continuing after an exception. This can cause the program to behave unexpectedly and may even result in data loss or corruption. It is important to handle exceptions correctly and stop the program from continuing if an exception occurs. For example, consider the following code: python for i in range(10): try: result = 5/i except ZeroDivisionError: result = 0 print(result) print("Done!") In the above code, we are dividing a number by i and in case of division by zero, the result will be zero. However, the program will continue even if an exception occurs. Instead, we can use the sys.exit() function to stop the program: python import sys for i in range(10): try: result = 5/i except ZeroDivisionError: result = 0 print("Division by zero!") sys.exit(1) print(result) print("Done!") 3. Shadowing built-in names Python has many built-in names that are used by the interpreter. One common mistake is to use the same name for a variable or function. This can cause unexpected behavior and can be hard to debug. For example: python list = [1, 2, 3] print(list) In the above code, we are using list as a variable name. However, list is a built-in name in Python, and using it as a variable name can cause problems. Instead, we can use a different name for the variable: python my_list = [1, 2, 3] print(my_list) 4. Not using virtual environments Python has a tool called virtualenv, which allows you to create isolated Python environments. This can be useful when working on multiple projects or when working with dependencies that may conflict with each other. Not using virtual environments can cause conflicts between libraries and versions. To create a virtual environment, we can use the following commands: python python3 -m venv myenv source myenv/bin/activate 5. Using is instead of == In Python, we have two ways to compare two objects: is and ==. Using is compares object identity, while == compares the value of objects. One common mistake that Python programmers make is to use is instead of ==. For example:

السلام عليكم ورحمة الله و بركاته، عملية التشفير والفك التشفير بإستخدام XOR هي عملية بسيطة وفعالة في بعض الحالات، وهي تعتمد على إجراء عملية XOR (أو الجمع المقلوب للبتات) بين الرسالة الأصلية والمفتاح السري لتوليد الرسالة المشفرة، والعكس صحيح للفك التشفير. يمكن شرح العملية بالتفصيل على النحو التالي: 1- عند التشفير، تتمثل الخطوات الرئيسية في إجراء عملية "XOR" بين كل حرف في الرسالة الأصلية وحرف من المفتاح السري. على سبيل المثال، إذا كانت الرسالة الأصلية هي "Hello" والمفتاح السري هو "1234"، تنفذ الخطوة الأولى من العملية عملية XOR بين 'H' و '1' (أي بين حرف الرسالة وحرف المفتاح) وهكذا حتى يتم عمل XOR على جميع الأحرف في النص. 2- بعد الانتهاء من عملية XOR، يتم إنشاء الرسالة المشفرة والتي تكون بنفس طول الرسالة الأصلية وتحتوي على النتيجة المرجعة من عملية XOR. 3- عند الفك التشفير، يتم استخدام المفتاح السري نفسه الذي تم استخدامه في عملية التشفير لإجراء عملية XOR مرة أخرى بين الرسالة المشفرة والمفتاح السري. 4- يتم استخدام النتيجة المحسوبة لل XOR لإعادة توليد الرسالة الأصلية. على الرغم من أن عملية XOR بسيطة وفعالة في بعض الحالات إلا أنها ليست آمنة بشكل كافٍ لعمليات التشفير الحاسوبية المتطورة، والتي تنتج عن استخدام خوارزميات تشفير أكثر أمانًا ودقة لحماية البيانات الحساسة. تشفير وفك تشفير باستخدام XOR يعتمد على إجراء عملية XOR بين النص الأصلي (الواضح) ومفتاح سري لتشفيره وإذا تم عكس العملية بإجراء عملية XOR بين النص المشفر والمفتاح السري سيتم فك تشفيره. لتطبيق هذه الفكرة على النص "hello world" سنستخدم المفتاح السري "123". لتشفير الرسالة، سنطبق عملية XOR على المفتاح والنص كما يلي: h ^ 1 = i e ^ 2 = c l ^ 3 = o l ^ 1 = k o ^ 2 = m w ^ 1 = v o ^ 2 = m r ^ 3 = u l ^ 1 = k d ^ 2 = f لذلك ستكون الرسالة المشفرة: "icokm vmukf" لفك تشفير الرسالة، سنقوم بإجراء عملية XOR بين المفتاح السري والرسالة المشفرة: i ^ 1 = h c ^ 2 = e o ^ 3 = l k ^ 1 = l m ^ 2 = o v ^ 1 = w m ^ 2 = o u ^ 3 = r k ^ 1 = l f ^ 2 = d لذلك سنحصل على النص الأصلي (الواضح): "hello world". وإليك الكود بلغة البايثون لتشفير وفك تشفير باستخدام XOR: # تشفير باستخدام XOR def xor_encrypt(msg, key):     encrypted = ""     for i in range(len(msg)):         encrypted += chr(ord(msg[i]) ^ ord(key[i % len(key)]))     return encrypted # فك تشفير باستخدام XOR def xor_decrypt(encrypted, key):     decrypted = ""     for i in range(len(encrypted)):         decrypted += chr(ord(encrypted[i]) ^ ord(key[i % len(key)]))     return decrypted # مثال على تشفير وفك تشفير msg = "hello world" key = "123" encrypted = xor_encrypt(msg, key) print("النص المشفر: ", encrypted) decrypted = xor_decrypt(encrypted, key) print("النص الأصلي: ", decrypted) # Output: # النص المشفر: icokm vmukf # النص الأصلي: hello world 📥للمزيد من الموارد المفيدة شارك المنشور مع اصدقائك المهتمين @SuDevelopers 🌱انضم الى لائحة افضل القنوات التعليمية على تليجرام: https://t.me/addlist/ylazFkAmbvs4NWVk

السلام عليكم ورحمة الله و بركاته، 📌موضوع هام جدا لمستخدمي بايثون📌 يعتبر توزيع تطبيق برمجته باستخدام لغة البايثون دون نشر الكود الخاص به من المواضيع الهامة التى تمس كافة مطورى التطبيقات، ولذلك يوجد عدة طرق يمكن استخدامها لتوزيع التطبيقات بشكل امن وموثوق. سأوضح لكم في هذا المقال بعض الطرق المستخدمة لتوزيع تطبيق البايثون دون نشر الكود الأصلي. 1- تحويل التطبيق البايثون إلى ملف تنفيذي أسهل طريقة لتوزيع تطبيق البايثون هى تحويل كود البرنامج النصي إلى ملف تنفيذي يمكن تشغيله على أي جهاز دون الحاجة إلى تثبيت بيئة التنفيذ أو التبعية، و ذلك باستخدام المكتبات pyinstaller ، cx_freeze و py2exe . هذه المكتبات تأخذ الشفرة الأصلية وتحزمها كملف تنفيذي مستقل يمكن تشغيله على أي جهاز. كما تساعد هذه المكتبات كذلك في حماية التطبيق الخاص بك من التجسس و الاختراق عن طريق اخفاء الكود الأصلي. على سبيل المثال استخدامPyInstaller: - تثبيت المكتبة: يمكن تثبيت المكتبة باستخدام الأمر التالي في الطرفية (التيرمنال): pip install pyinstaller - تحويل التطبيق النصي إلى ملف تنفيذي: pyinstaller --onefile yourscript.py 2. استخدام منصات توزيع البرمجيات توجد العديد من منصات توزيع البرامج والتطبيقات الموجودة على الإنترنت مثل Anaconda, Fireflies.ai - PyPi, باطارات Django و Flask ، يمكن استخدامها لتوزيع التطبيقات الخاصة بك بطريقة آمنة وموثوقة. على سبيل المثال, يمكن استخدام PyPi  والتأكد من انشاء الرابط الخاص بك على موقع Python Package Index ونشره بالطريقة التي ترغب فيها. 3. تشفير ملفات البرنامج النصي يمكن استخدام برامج التشفير المتاحة على الإنترنت لتشفير ملفات البرنامج النصي وحمايتها من التجسس والاختراق. على سبيل المثال, يمكن استخدام برنامج pyminifier . يتيح للمستخدمين تشغيل البرنامج النصي بدون الكشف عن الكود الأصلي، مما يجعل من الصعب بشكل كبير نسخ الشفرة المصدرية. ان توزيع التطبيقات البرمجية هو عملية هامة ويجب الانتباه أثناء تنفيذها للوصول لتوزيع التطبيق الأمن. وفى حالة وجود أية استفسارات او مساعدة إضافية ما عليك سوى طرحها في التعليقات👇 🐍للمزيد انضم لقناة تعلم لغة البرمجة #Python وكل ما يخص هذه اللغة رابط القناة: https://t.me/+lUt9i0yUBWpjN2Vk او https://t.me/NoPython 🎯 فضلا شارك المنشور مع اصدقاءك المهتمين @SuDevelopers

السلام عليكم ورحمة الله و بركاته، 📌موضوع هام جدا لمستخدمي بايثون📌 يعتبر توزيع تطبيق برمجته باستخدام لغة البايثون دون نشر الكود الخاص به من المواضيع الهامة التى تمس كافة مطورى التطبيقات، ولذلك يوجد عدة طرق يمكن استخدامها لتوزيع التطبيقات بشكل امن وموثوق. سأوضح لكم في هذا المقال بعض الطرق المستخدمة لتوزيع تطبيق البايثون دون نشر الكود الأصلي. 1- تحويل التطبيق البايثون إلى ملف تنفيذي أسهل طريقة لتوزيع تطبيق البايثون هى تحويل كود البرنامج النصي إلى ملف تنفيذي يمكن تشغيله على أي جهاز دون الحاجة إلى تثبيت بيئة التنفيذ أو التبعية، و ذلك باستخدام المكتبات pyinstaller ، cx_freeze و py2exe . هذه المكتبات تأخذ الشفرة الأصلية وتحزمها كملف تنفيذي مستقل يمكن تشغيله على أي جهاز. كما تساعد هذه المكتبات كذلك في حماية التطبيق الخاص بك من التجسس و الاختراق عن طريق اخفاء الكود الأصلي. على سبيل المثال استخدامPyInstaller: - تثبيت المكتبة: يمكن تثبيت المكتبة باستخدام الأمر التالي في الطرفية (التيرمنال): pip install pyinstaller - تحويل التطبيق النصي إلى ملف تنفيذي: pyinstaller --onefile yourscript.py 2. استخدام منصات توزيع البرمجيات توجد العديد من منصات توزيع البرامج والتطبيقات الموجودة على الإنترنت مثل Anaconda, Fireflies.ai - PyPi, باطارات Django و Flask ، يمكن استخدامها لتوزيع التطبيقات الخاصة بك بطريقة آمنة وموثوقة. على سبيل المثال, يمكن استخدام PyPi  والتأكد من انشاء الرابط الخاص بك على موقع Python Package Index ونشره بالطريقة التي ترغب فيها. 3. تشفير ملفات البرنامج النصي يمكن استخدام برامج التشفير المتاحة على الإنترنت لتشفير ملفات البرنامج النصي وحمايتها من التجسس والاختراق. على سبيل المثال, يمكن استخدام برنامج pyminifier . يتيح للمستخدمين تشغيل البرنامج النصي بدون الكشف عن الكود الأصلي، مما يجعل من الصعب بشكل كبير نسخ الشفرة المصدرية. ان توزيع التطبيقات البرمجية هو عملية هامة ويجب الانتباه أثناء تنفيذها للوصول لتوزيع التطبيق الأمن. وفى حالة وجود أية استفسارات او مساعدة إضافية ما عليك سوى طرحها في التعليقات👇 🐍للمزيد انضم لقناة تعلم لغة البرمجة #Python وكل ما يخص هذه اللغة رابط القناة: https://t.me/+lUt9i0yUBWpjN2Vk او https://t.me/NoPython 🎯 فضلا شارك المنشور مع اصدقاءك المهتمين @SuDevelopers

السلام عليكم ورحمة الله و بركاته، تعتبر لغة Python واحدة من أشهر لغات البرمجة المستخدمة في الوقت الحالي، وذلك لأنها تتمتع بميزات عديدة تجعلها ملائمة لإنشاء تطبيقات ومشاريع مختلفة في مختلف المجالات التقنية والعلمية والاجتماعية، وهنا سألخص لك بعض هذه المجالات والميزات والاهمية: المجالات المختلفة لاستخدام لغة Python : - مجال علم البيانات: إذ تعتبر Python الخيار الأساسي للعديد من المؤسسات والمتخصصين في علم البيانات . فهي تتميز بامكانية العمل عليها في قواعد البيانات وتحديدا قواعد البيانات الجديدة المنظمة. - الويب وتطويرها: تستخدم لغة بايثون لتطوير تطبيقات ومواقع الويب بسهولة، ومع إضافة إطارات عمل مثل Django و Flask، يمكن لمطوري الويب بسهولة بناء تطبيقات ومواقع متكاملة. - تصميم وتطوير البرامج العلمية والهندسية: توفر لغة Python مكتبات كثيرة ومفتوحة المصدر مثل NumPy وSciPy، والتي تساعد في تطوير البرامج العلمية والهندسية. - تطوير التطبيقات المحمولة: بفضل إعدادات تطوير الصفحة الجديدة باستخدام أدوات مثل Kivy وباستخدام إطارات العمل التابعة لشركات مثل Google, Apple و Facebook، تستخدم بايثون لتطوير تطبيقات المحمول بذكاء. - وغيرها من المجالات مثل الروبوتيكا ،الألعاب ،معالجة الصوت والصورة، وغيرها. ميزات لغة Python: - سهولة التعلم والاستخدام: توفر لغة بايثون بنية برمجية بسيطة، وهذا يجعل من الممكن للمستخدمين على مختلف مستويات الخبرة استخدام اللغة. - المكتبات المتاحة: تحتوي لغة Python على مجموعة كبيرة ومتنوعة من المكتبات المفتوحة المصدر، والتي تسهل عملية البرمجة وتوفر الوقت. -تجربة حرة: باستخدام لغة Python ، يمكن للمستخدمين بسهولة تجربة أفكارهم حول تطبيقاتهم البرمجية، كما أنها تتيح رؤية نتائج الأكواد بطرق بديهية مما يجعلها تناسب جميع المستويات البرمجية. ما يجب تعلمه في لغة Python: - مفاهيم البرمجة الأساسية مثل الدوال والشروط واللوبس. - نوعيات البيانات في بايثون. - العمل مع الملفات والمكتبات. - استخدام وإنشاء إطارات العمل مثل Django و Flask. - تحليل البيانات مع NumPy و Pandas. خطة لتعلم لغة Python بالترتيب الصحيح للمبتدئين : 1- تعلم الأساسيات البرمجية. 2- تعلم نوعيات البيانات في بايثون. 3- العمل مع الملفات والمكتبات. 4- استخدام وإنشاء إطارات العمل Django و Flask. 5- تحليل البيانات مع NumPy و Pandas. لكي يتم الحصول على نتائج جيدة خلال التعلم ، يجب على المتعلمين تخصيص وقت محدد كل أسبوع لدراسة هذه المواد ومشاهدة الفيديوهات التعليمية ذات الصلة، وتطبيق المتعلمين لما تم تعلمهم ، كما يمكنهم الانضمام إلى النشاطات المجتمعية عبر الإنترنت، مثل الانضمام إلى منتديات تعلم البرمجة باستخدام بايثون أو المشاركة في المشاريع المتعلقة بالبيانات. 🐍قناة لتعلم لغة البرمجة #Python وكل ما يخص هذه اللغة رابط القناة: https://t.me/+lUt9i0yUBWpjN2Vk او https://t.me/NoPython @SuDevelopers

السلام عليكم ورحمة الله و بركاته، 🔝🏆قائمة بافضل القنوات التعليمية والتقنية على تليجرام: 👨‍💻القناة الرئيسية لتعلم البرمجة العامة: T.me/SuDevelopers 🖥 قناة لتعليم البرمجة بلغة ++c وكل ما يخص هذه اللغة: https://t.me/+4mUtC6_A2VozODRk أو https://t.me/NoCplus ☕️ قناة لتعليم لغة البرمجة #Java و كل ما يخص هذه اللغة: https://t.me/+hwjabzh_UDM2Yjlk او https://t.me/No_Java 🐍قناة لتعلم لغة البرمجة #Python وكل ما يخص هذه اللغة رابط القناة: https://t.me/+lUt9i0yUBWpjN2Vk او https://t.me/NoPython 📲📱⌚️ قناة لتعليم البرمجة بلغة #Dart واطار عمل #Flutter لعمل تطبيقات اندرويد وiOs ومواقع الويب وكل ما يتعلق بهذه اللغة رابط القناة: https://t.me/+mn-SCUOXQ3wwOWFk 🎮🕹 قناة لتعليم البرمجة بلغة سي شارب #C وكل ما يتعلق بهذه اللغة من كتب ومراجع ودورات وتطوير الالعاب باستخدام محرك #Unity رابط القناة: https://t.me/+gg3GTB6TbXIwOTA0 💻 تطوير مواقع وتطبيقات الويب وكل ما يخصه من كتب و دورات #Web #development رابط القناة: https://t.me/+EncBUDGKli02NWY0 📟⚡️قناة لتعليم #الالكترونيات و كل ما يخصها من الكتب والدورات رابط القناة: t.me/Easy4Electronics 📚 قناة الكتب البرمجية العامة : t.me/programmingOn 💎قناة التعلم الالي والتعلم العميق وعلم البيانات والذكاء الإصطناعي: https://t.me/+-vXywlSNpn00ZjNk ✍مجموعة المناقشة البرمجية Https://t.me/LearnProgrammin9 📌لإضافة قناتك الى هذه القائمة تواصل مع الإدارة عبر الرابط: @tellmy_bot ♻️فضلا شارك هذا المنشور مع الاصدقاء والمهتمين♻️