Jannah Theme License is not validated, Go to the theme options page to validate the license, You need a single license for each domain name.

أهم نصوص Python التي تحتاجها لتبدأ البرمجة بسهولة

6 نصوص Python أساسية ولكنها مفيدة لمساعدتك على البدء

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

52848278425_0515827579_o أهم نصوص Python التي تحتاجها لتبدأ البرمجة بسهولة

بايثون من أسهل لغات البرمجة تعلمًا، بفضل نهجها الكائني التوجه وقواعدها النحوية البسيطة. تتضمن المكتبة القياسية العديد من الوحدات المفيدة التي يمكنك استخدامها لكتابة جميع أنواع البرامج، الكبيرة والصغيرة.

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

1. إعادة تسمية الملفات الدفعية

قد تكون إعادة تسمية مجموعة من الملفات مهمة صعبة. إذا كنت تتذكر قواعد لغة shell، يمكنك كتابة أمر لحظي، أو يمكنك الاعتماد على برنامج خارجي مثل rename.

يعيد هذا البرنامج البسيط من بايثون تسمية جميع الملفات في مجلدك الحالي التي تحتوي على نص معين، مستبدلًا ذلك النص بنمط معين. يمكنك استخدامه، على سبيل المثال، لتغيير مجموعة من الامتدادات من “.htm” إلى “.html”.

import os, sys

if len(sys.argv) < 3:
    sys.exit("usage: " + sys.argv[0] + " search replace")

for filename in os.listdir("."):
    new_filename = filename.replace(sys.argv[1], sys.argv[2])

    if new_filename != filename:
        os.rename(
            os.path.join(".", filename),
            os.path.join(".", new_filename),
        )

يستورد البرنامج النصي وحدتين مفيدتين منخفضتي المستوى: os وsys. يستخدم الأخير فورًا للتحقق من عدد الوسائط (sys.argv) ويخرج إذا كان عدد الوسائط المُعطاة أقل من اللازم.

تتكرر حلقة for الرئيسية بعد ذلك عبر جميع أسماء الملفات في الدليل الحالي (.). تحاول دالة الاستبدال لفئة السلسلة استبدال الوسيطة الأولى بالثانية.

اقرأ أيضا:  أفضل ألعاب متعددة اللاعبين يمكنك الاستمتاع بها بمفردك عبر الإنترنت

يتبع التحقق الأخير لمعرفة ما إذا كان اسم الملف قد تغير استدعاء دالة os.rename() التي تُحدّث الملف إذا لزم الأمر.

تحذير
يفتقر هذا البرنامج النصي إلى معالجة شاملة للأخطاء، لذا يُنصح بحصر استخدامه في البحث والاستبدال البسيطين للسلاسل النصية. توخَّ الحذر دائمًا عند استخدام عمليات الدفعات التي قد تؤثر على العديد من الملفات.

2. مُنشئ الصور المُصغّرة

يُظهر البرنامج النصي التالي المكون من أربعة أسطر قوة مكتبة سهلة الاستخدام، وهي في هذه الحالة Pillow. يحتوي هذا الفرع من مكتبة Python Imaging Library على العديد من وظائف معالجة الصور، لدعم أي شيء من البرامج النصية البسيطة إلى برامج تحرير الرسومات المُتكاملة.

نصيحة

ستحتاج إلى تثبيت مكتبة Pillow قبل تشغيل هذا البرنامج النصي. نجح الأمر brew install pillow معي على نظام macOS، ولكن يمكنك أيضًا تجربة pip الذي توصي به صفحة التثبيت.

يستخدم البرنامج النصي ثلاث طرق من وحدة Image لفتح ملف، وإنشاء صورة مصغرة، وحفظه في ملف ثانٍ:

from PIL import Image
image = Image.open("image.jpg")
image.thumbnail((500, 500))
image.save("image_thumb.jpg")

لاحظ كيف تأخذ دالة المصغرات مُعاملًا واحدًا، وهو مجموعة. ستُنشئ صورةً بنفس نسبة الصورة الأصلية، مع حد أقصى للعرض والارتفاع وفقًا للأبعاد التي تُحددها.

هذه الدالة، في حد ذاتها، محدودة الفائدة، لأن اسم الملف والأبعاد مُبرمجة مسبقًا. يمكنك توسيع وظائفها عن طريق تمرير هذه القيم كمعاملات سطر أوامر، باستخدام إصدار ثانٍ من البرنامج النصي ليس أكبر بكثير:

from PIL import Image
import sys

if len(sys.argv) < 4:
    sys.exit("usage: " + sys.argv[0] + " image width height")

image = Image.open(sys.argv[1])
image.thumbnail((int(sys.argv[2]), int(sys.argv[3])))
image.save("thumb.jpg")

لاحظ أن اسم ملف الصورة المصغرة النهائي لا يزال مُبرمجًا مسبقًا. كإضافة إضافية، يمكنك إنشاء اسم ملف بناءً على الاسم الأصلي، أو قبول مُعامل سطر أوامر رابع.

اقرأ أيضا:  كيف تبني موقعًا رائعًا لعملك في عام 2025؟

3. خادم ويب بسيط

يُمكن أن يكون خادم الويب البسيط مفيدًا جدًا؛ فأنا أستخدمه لتصفح الملفات والوصول إليها بسرعة على جهازي المحلي. كما يُمكن أن يكون أداةً مفيدةً لتطوير الويب.

قليلٌ من خوادم الويب تكون بهذه البساطة:

import http.server, socketserver

port = 8001

with socketserver.TCPServer(
    ("", port), http.server.SimpleHTTPRequestHandler
) as httpd:
    print(f"Serving at port {port}")
    httpd.serve_forever()

تقوم وحدتا http.server وsocketserver بمعظم العمل هنا. يتم تمرير منفذ وSimpleHTTPRequestHandler إلى مثيل TCPServer عام، والذي يقوم بخادم الملفات من الدليل الحالي عبر HTTP. تعالج دالة Serve_forever (الموروثة من فئة socketserver.BaseServer) الطلبات حتى يتم استدعاء دالة shutdown().

تحذير
كما تُحذر وثائق بايثون، تفتقر وحدة http.server إلى الأمان المناسب وليست للاستخدام الإنتاجي.

على الرغم من أنها مجرد خادم تجريبي، إلا أنها رائعة للاستخدام الشخصي وبساطتها لا مثيل لها.

4. مولد كلمات مرور عشوائي

سواءً لحساب مستخدم جديد، أو نموذج ويب، أو لعملك التطويري الخاص، غالبًا ما يتم طلب كلمة مرور عشوائية. يُنصح باستخدام مدير كلمات مرور للقيام بذلك، ولكن هذا ليس مناسبًا دائمًا. باستخدام البرنامج النصي الخاص بك، يمكنك التحكم في التفاصيل الدقيقة وتحسينها لتناسب احتياجاتك.

import string, random

def main(length: int) -> str:
    characters = string.ascii_letters + string.digits + string.punctuation
    return "".join(random.choice(characters) for i in range(length))

print(main(32))

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

 

python-password-gen أهم نصوص Python التي تحتاجها لتبدأ البرمجة بسهولة

5. أداة فحص أسعار العملات المشفرة

يُظهر هذا البرنامج النصي قوة واجهة برمجة التطبيقات البسيطة والنظيفة. تعمل واجهة برمجة التطبيقات التي يستخدمها – من coingecko – عبر HTTP، مما يجعلها سهلة الحمل والدعم.

قبل تشغيل هذا البرنامج النصي، تحقق من استجابة واجهة برمجة التطبيقات من نقطة النهاية التي يستخدمها، /simple/price. ستلاحظ أنه يُرجع بيانات بتنسيق JSON مع إدخالات العملات التي تم تمريرها في مُعامل ids.

import urllib.request, json

def get_crypto_prices():
    url = "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,ethereum,litecoin&vs_currencies=usd"
    ufile = urllib.request.urlopen(url)
    text = ufile.read()
    return json.loads(text)

crypto_prices = get_crypto_prices()

for coin, value in crypto_prices.items():
    print(f"{coin.capitalize()}: ${value['usd']}")

تتضمن وحدة urllib.request دالة urlopen() التي تسترجع محتوى عنوان URL وتعيد كائن HTTPResponse. يؤدي قراءة نصه وتمريره إلى دالة json.loads() إلى إنشاء كائن قاموس مكافئ.

اقرأ أيضا:  طرق فعالة لحماية نفسك من خدع بطاقات الهدايا خلال الجمعة السوداء

python-crypto-prices أهم نصوص Python التي تحتاجها لتبدأ البرمجة بسهولة

يُعدّ JSON تنسيقًا شائعًا جدًا لواجهات برمجة تطبيقات الويب، نظرًا لبساطة صياغته وسهولة قراءته، مما يُسهّل تحليله واختباره.

6. مُولّد جداول ASCII

تتكون مجموعة أحرف ASCII من 128 حرفًا شائعًا في اللغة الإنجليزية، تُستخدم في سياقات حوسبة مُختلفة. تدعم مُعظم لغات البرمجة تحويل رموز ASCII إلى أحرف مُنفصلة، ​​والعكس صحيح، ولكن من المُفيد أحيانًا عرض جميع أحرف ASCII دفعةً واحدة.

for i in range(32, 128):
    print("{:03d}".format(i) + " " + chr(i), end=" ")

    if (i - 1) % 10 == 0:
        print()

print()

يقوم هذا البرنامج النصي بطباعة جدول يحتوي على جميع أحرف ASCII من 32 إلى 127، كل منها بجانب نقطة الكود الخاصة به:

python-scripts-ascii أهم نصوص Python التي تحتاجها لتبدأ البرمجة بسهولة

أول ما يجب ملاحظته هو كيفية تعامل دالة بايثون المدمجة range() مع معاملاتها؛ فهي تتكرر بدءًا من الأولى، لكنها تتوقف قبل الوصول إلى الثانية. في لغة مثل جافا سكريبت، تبدو حلقة for المكافئة كالتالي:

for (i = 0; i < 128; i++) { … }

معظم العمل المتبقي موجود في سطر print()، ويتضمن تنسيق كل نقطة رمز بعرض ثابت بثلاثة خانات. تُرجع دالة chr() حرفًا مُعطىً رمز ASCII الخاص به.

نصيحة
إحدى خصائص ASCII المفيدة، التي يُوضحها هذا الجدول، هي أن رمز كل حرف صغير (a-z) أكبر بمقدار 32 من نظيره الكبير.

الطريقة المتبقية هي طباعة حرف سطر جديد عند النقطة المناسبة، بحيث يُقسّم الناتج إلى صفوف بشكل مُحكم. يستخدم هذا المُعامل % للتحقق من باقي فهرس النطاق عند القسمة على 10، مما يضمن وجود عشرة أحرف في كل سطر.

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

زر الذهاب إلى الأعلى