<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>بيثون python Archives - فيلم تعلم البرمجيات للطالب العربي</title>
	<atom:link href="https://arabdars.com/category/%D8%A8%D9%8A%D8%AB%D9%88%D9%86-python/feed/" rel="self" type="application/rss+xml" />
	<link>https://arabdars.com/category/بيثون-python/</link>
	<description>Arab Dars</description>
	<lastBuildDate>Thu, 18 Feb 2021 06:11:17 +0000</lastBuildDate>
	<language>ar</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1.1</generator>

<image>
	<url>https://arabdars.com/wp-content/uploads/cropped-fig2_low-32x32.png</url>
	<title>بيثون python Archives - فيلم تعلم البرمجيات للطالب العربي</title>
	<link>https://arabdars.com/category/بيثون-python/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>الذكاء الاصطناعي مع بايثون</title>
		<link>https://arabdars.com/%d8%a7%d9%84%d8%b0%d9%83%d8%a7%d8%a1-%d8%a7%d9%84%d8%a7%d8%b5%d8%b7%d9%86%d8%a7%d8%b9%d9%8a-%d9%85%d8%b9-%d8%a8%d8%a7%d9%8a%d8%ab%d9%88%d9%86/</link>
		
		<dc:creator><![CDATA[Arab Dars]]></dc:creator>
		<pubDate>Thu, 18 Feb 2021 06:11:17 +0000</pubDate>
				<category><![CDATA[بيثون python]]></category>
		<category><![CDATA[کتاب]]></category>
		<guid isPermaLink="false">https://arabdars.com/?p=1982</guid>

					<description><![CDATA[<p>دليلك الكامل لبناء تطبيقات ذكية باستخدام Python 3.x و TensorFlow 2 محتويات مقدمة لمن هذا الكتاب ما يغطي هذا الكتاب ما تحتاجه لهذا الكتاب قم بتنزيل أمثلة ملفات التعليمات البرمجية قم بتنزيل الصور الملونة الاصطلاحات المستخدمة ابقى على تواصل المراجعات مقدمة في الذكاء الاصطناعي ما هو الذكاء الاصطناعي؟ لماذا نحتاج لدراسة الذكاء الاصطناعي؟ فروع منظمة [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://arabdars.com/%d8%a7%d9%84%d8%b0%d9%83%d8%a7%d8%a1-%d8%a7%d9%84%d8%a7%d8%b5%d8%b7%d9%86%d8%a7%d8%b9%d9%8a-%d9%85%d8%b9-%d8%a8%d8%a7%d9%8a%d8%ab%d9%88%d9%86/">الذكاء الاصطناعي مع بايثون</a> appeared first on <a rel="nofollow" href="https://arabdars.com">فيلم تعلم البرمجيات للطالب العربي</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;"><span style="font-size: 16pt;">دليلك الكامل لبناء تطبيقات ذكية باستخدام <a href="https://www.python.org/downloads/" target="_blank" rel="noopener">Python 3</a>.x و <a href="https://www.tensorflow.org/tutorials/quickstart/beginner" target="_blank" rel="noopener">TensorFlow 2</a></span></p>
<p style="text-align: justify;">
<span style="font-size: 16pt;">محتويات</span><br />
<span style="font-size: 16pt;">مقدمة</span><br />
<span style="font-size: 16pt;">لمن هذا الكتاب</span><br />
<span style="font-size: 16pt;">ما يغطي هذا الكتاب</span><br />
<span style="font-size: 16pt;">ما تحتاجه لهذا الكتاب</span><br />
<span style="font-size: 16pt;">قم بتنزيل أمثلة ملفات التعليمات البرمجية</span><br />
<span style="font-size: 16pt;">قم بتنزيل الصور الملونة</span><br />
<span style="font-size: 16pt;">الاصطلاحات المستخدمة</span><br />
<span style="font-size: 16pt;">ابقى على تواصل</span><br />
<span style="font-size: 16pt;">المراجعات</span><br />
<span style="font-size: 16pt;">مقدمة في الذكاء الاصطناعي</span><br />
<span style="font-size: 16pt;">ما هو الذكاء الاصطناعي؟</span><br />
<span style="font-size: 16pt;">لماذا نحتاج لدراسة الذكاء الاصطناعي؟</span><br />
<span style="font-size: 16pt;">فروع منظمة العفو الدولية</span><br />
<span style="font-size: 16pt;">القبائل الخمس للتعلم الآلي</span><br />
<span style="font-size: 16pt;">تحديد الذكاء باستخدام اختبار تورينج</span><br />
<span style="font-size: 16pt;">صنع الآلات يفكر مثل البشر</span><br />
<span style="font-size: 16pt;">بناء وكلاء عقلانيين</span><br />
<span style="font-size: 16pt;">حل المشكلات العامة</span><br />
<span style="font-size: 16pt;">حل مشكلة مع GPS</span><br />
<span style="font-size: 16pt;">بناء وكيل ذكي</span><br />
<span style="font-size: 16pt;">أنواع النماذج</span><br />
<span style="font-size: 16pt;">تثبيت بايثون 3</span><br />
<span style="font-size: 16pt;">التثبيت على أوبونتو</span><br />
<span style="font-size: 16pt;">التثبيت على نظام التشغيل Mac OS X</span><br />
<span style="font-size: 16pt;">التثبيت على Windows</span><br />
<span style="font-size: 16pt;">تثبيت الحزم</span><br />
<span style="font-size: 16pt;">تحميل البيانات</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">حالات الاستخدام الأساسية للذكاء الاصطناعي</span><br />
<span style="font-size: 16pt;">حالات استخدام منظمة العفو الدولية التمثيلية</span><br />
<span style="font-size: 16pt;">المساعدون الشخصيون الرقميون وروبوتات المحادثة</span><br />
<span style="font-size: 16pt;">سائق شخصي</span><br />
<span style="font-size: 16pt;">إدارة الشحن والمخازن</span><br />
<span style="font-size: 16pt;">صحة الإنسان</span><br />
<span style="font-size: 16pt;">البحث عن المعرفة</span><br />
<span style="font-size: 16pt;">أنظمة التوصية</span><br />
<span style="font-size: 16pt;">المنزل الذكي</span><br />
<span style="font-size: 16pt;">الألعاب</span><br />
<span style="font-size: 16pt;">صنع الأفلام</span><br />
<span style="font-size: 16pt;">الاكتتاب وتحليل الصفقات</span><br />
<span style="font-size: 16pt;">تنقية البيانات وتحويلها</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">مراجع</span><br />
<span style="font-size: 16pt;">خطوط أنابيب التعلم الآلي</span><br />
<span style="font-size: 16pt;">ما هو خط أنابيب التعلم الآلي؟</span><br />
<span style="font-size: 16pt;">تعريف المشكلة</span><br />
<span style="font-size: 16pt;">استيعاب البيانات</span><br />
<span style="font-size: 16pt;">تحضير البيانات</span><br />
<span style="font-size: 16pt;">قيم مفقودة</span><br />
<span style="font-size: 16pt;">سجلات أو قيم مكررة</span><br />
<span style="font-size: 16pt;">ميزة التحجيم</span><br />
<span style="font-size: 16pt;">قيم غير متسقة</span><br />
<span style="font-size: 16pt;">تنسيق التاريخ غير متناسق</span><br />
<span style="font-size: 16pt;">فصل البيانات</span><br />
<span style="font-size: 16pt;">تدريب نموذجي</span><br />
<span style="font-size: 16pt;">تقييم واختيار نموذج المرشح</span><br />
<span style="font-size: 16pt;">نشر النموذج</span><br />
<span style="font-size: 16pt;">مراقبة الاداء</span><br />
<span style="font-size: 16pt;">أداء النموذج</span><br />
<span style="font-size: 16pt;">الاداء العملي</span><br />
<span style="font-size: 16pt;">التكلفة الإجمالية للملكية (TCO)</span><br />
<span style="font-size: 16pt;">أداء الخدمة</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">اختيار الميزات وهندسة الميزات</span><br />
<span style="font-size: 16pt;">اختيار ميزة</span><br />
<span style="font-size: 16pt;">أهمية الميزة</span><br />
<span style="font-size: 16pt;">اختيار وحيد المتغير</span><br />
<span style="font-size: 16pt;">خرائط الحرارة الارتباط</span><br />
<span style="font-size: 16pt;">الطرق القائمة على الغلاف</span><br />
<span style="font-size: 16pt;">الأساليب القائمة على التصفية</span><br />
<span style="font-size: 16pt;">الطرق المضمنة</span><br />
<span style="font-size: 16pt;">هندسة الميزات</span><br />
<span style="font-size: 16pt;">بتر</span><br />
<span style="font-size: 16pt;">إدارة خارجية</span><br />
<span style="font-size: 16pt;">ترميز واحد ساخن</span><br />
<span style="font-size: 16pt;">سجل التحويل</span><br />
<span style="font-size: 16pt;">تحجيم</span><br />
<span style="font-size: 16pt;">التلاعب بالتاريخ</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">التصنيف والانحدار باستخدام التعلم الخاضع للإشراف</span><br />
<span style="font-size: 16pt;">التعلم الخاضع للإشراف مقابل التعلم غير الخاضع للإشراف</span><br />
<span style="font-size: 16pt;">ما هو التصنيف؟</span><br />
<span style="font-size: 16pt;">البيانات قبل المعالجة</span><br />
<span style="font-size: 16pt;">ثنائي</span><br />
<span style="font-size: 16pt;">يعني الإزالة</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">تحجيم</span><br />
<span style="font-size: 16pt;">تطبيع</span><br />
<span style="font-size: 16pt;">ترميز التسمية</span><br />
<span style="font-size: 16pt;">مصنفات الانحدار اللوجستي</span><br />
<span style="font-size: 16pt;">مصنف Naïve Bayes</span><br />
<span style="font-size: 16pt;">مصفوفات الارتباك</span><br />
<span style="font-size: 16pt;">دعم آلات المتجهات</span><br />
<span style="font-size: 16pt;">تصنيف بيانات الدخل باستخدام أجهزة Vector Support</span><br />
<span style="font-size: 16pt;">ما هو الانحدار؟</span><br />
<span style="font-size: 16pt;">بناء الانحدار متغير واحد</span><br />
<span style="font-size: 16pt;">بناء الانحدار متعدد المتغيرات</span><br />
<span style="font-size: 16pt;">تقدير أسعار المساكن باستخدام ناقل الانحدار المتجه</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">التحليلات التنبؤية مع مجموعة التعلم</span><br />
<span style="font-size: 16pt;">ما هي أشجار القرار؟</span><br />
<span style="font-size: 16pt;">بناء مصنف شجرة القرار</span><br />
<span style="font-size: 16pt;">ما هو التعلم الجماعي؟</span><br />
<span style="font-size: 16pt;">بناء نماذج التعلم مع التعلم الجماعي</span><br />
<span style="font-size: 16pt;">ما هي الغابات العشوائية والغابات العشوائية للغاية؟</span><br />
<span style="font-size: 16pt;">بناء مصنفات غابات عشوائية وغابات عشوائية للغاية</span><br />
<span style="font-size: 16pt;">تقدير مقياس الثقة للتنبؤات</span><br />
<span style="font-size: 16pt;">التعامل مع عدم التوازن الطبقي</span><br />
<span style="font-size: 16pt;">إيجاد معلمات التدريب المثلى باستخدام بحث الشبكة</span><br />
<span style="font-size: 16pt;">أهمية ميزة الحوسبة النسبية</span><br />
<span style="font-size: 16pt;">توقع حركة المرور باستخدام عامل ارتداد غابة عشوائي للغاية</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">كشف الأنماط مع التعلم غير الخاضع للرقابة</span><br />
<span style="font-size: 16pt;">ما هو التعلم غير الخاضع للرقابة؟</span><br />
<span style="font-size: 16pt;">تجميع البيانات باستخدام خوارزمية K-Means</span><br />
<span style="font-size: 16pt;">تقدير عدد العناقيد باستخدام خوارزمية متوسط ​​التحول</span><br />
<span style="font-size: 16pt;">تقدير جودة التجميع بدرجات الصور الظلية</span><br />
<span style="font-size: 16pt;">ما هي نماذج خليط غاوسي؟</span><br />
<span style="font-size: 16pt;">بناء مصنف على أساس نماذج خليط غاوسي</span><br />
<span style="font-size: 16pt;">إيجاد مجموعات فرعية في سوق الأوراق المالية باستخدام نموذج انتشار التقارب</span><br />
<span style="font-size: 16pt;">تقسيم السوق على أساس أنماط التسوق</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">أنظمة التوصية بالبناء</span><br />
<span style="font-size: 16pt;">استخراج أقرب الجيران</span><br />
<span style="font-size: 16pt;">بناء K- أقرب مصنف جيران</span><br />
<span style="font-size: 16pt;">حساب درجات التشابه</span><br />
<span style="font-size: 16pt;">البحث عن مستخدمين مشابهين باستخدام التصفية التعاونية</span><br />
<span style="font-size: 16pt;">بناء نظام توصية فيلم</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">البرمجة المنطقية</span><br />
<span style="font-size: 16pt;">ما هي البرمجة المنطقية؟</span><br />
<span style="font-size: 16pt;">فهم اللبنات الأساسية للبرمجة المنطقية</span><br />
<span style="font-size: 16pt;">حل المشكلات باستخدام البرمجة المنطقية</span><br />
<span style="font-size: 16pt;">تثبيت حزم بايثون</span><br />
<span style="font-size: 16pt;">مطابقة التعبيرات الرياضية</span><br />
<span style="font-size: 16pt;">التحقق من صحة الأعداد الأولية</span><br />
<span style="font-size: 16pt;">تحليل شجرة العائلة</span><br />
<span style="font-size: 16pt;">تحليل الجغرافيا</span><br />
<span style="font-size: 16pt;">بناء حل اللغز</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">تقنيات البحث الارشادي</span><br />
<span style="font-size: 16pt;">هل البحث الارشادي ذكاء اصطناعي؟</span><br />
<span style="font-size: 16pt;">ما هو البحث الارشادي؟</span><br />
<span style="font-size: 16pt;">البحث غير المطلع مقابل البحث المستنير</span><br />
<span style="font-size: 16pt;">مشاكل الرضا القيد</span><br />
<span style="font-size: 16pt;">تقنيات البحث المحلية</span><br />
<span style="font-size: 16pt;">محاكاة الصلب</span><br />
<span style="font-size: 16pt;">بناء سلسلة باستخدام البحث الجشع</span><br />
<span style="font-size: 16pt;">حل مشكلة القيود</span><br />
<span style="font-size: 16pt;">حل مشكلة تلوين المنطقة</span><br />
<span style="font-size: 16pt;">بناء حل 8 لغز</span><br />
<span style="font-size: 16pt;">بناء حل متاهة</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">الخوارزميات الجينية والبرمجة الجينية</span><br />
<span style="font-size: 16pt;">قبيلة أنصار التطور</span><br />
<span style="font-size: 16pt;">فهم الخوارزميات التطورية والجينية</span><br />
<span style="font-size: 16pt;">المفاهيم الأساسية في الخوارزميات الجينية</span><br />
<span style="font-size: 16pt;">توليد نمط بت بمعلمات محددة مسبقًا</span><br />
<span style="font-size: 16pt;">تصور التطور</span><br />
<span style="font-size: 16pt;">حل مشكلة انحدار الرمز</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">تصور الشخصيات في قاعدة بيانات التعرف الضوئي على الحروف</span><br />
<span style="font-size: 16pt;">بناء محرك التعرف الضوئي على الحروف</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">التعلم العميق مع الشبكات العصبية التلافيفية</span><br />
<span style="font-size: 16pt;">أساسيات الشبكات العصبية التلافيفية</span><br />
<span style="font-size: 16pt;">هندسة CNNs</span><br />
<span style="font-size: 16pt;">CNNs مقابل الشبكات العصبية perceptron</span><br />
<span style="font-size: 16pt;">أنواع الطبقات في شبكة CNN</span><br />
<span style="font-size: 16pt;">بناء مراجع خطي قائم على الإدراك الحسي</span><br />
<span style="font-size: 16pt;">بناء مصنف للصور باستخدام شبكة عصبية أحادية الطبقة</span><br />
<span style="font-size: 16pt;">بناء مصنف صور باستخدام شبكة عصبية تلافيفية</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">المرجعي</span><br />
<span style="font-size: 16pt;">الشبكات العصبية المتكررة ونماذج التعلم العميق الأخرى</span><br />
<span style="font-size: 16pt;">أساسيات الشبكات العصبية المتكررة</span><br />
<span style="font-size: 16pt;">وظيفة الخطوة</span><br />
<span style="font-size: 16pt;">وظيفة السيني</span><br />
<span style="font-size: 16pt;">دالة تانه</span><br />
<span style="font-size: 16pt;">وظيفة ReLU</span><br />
<span style="font-size: 16pt;">هندسة RNNs</span><br />
<span style="font-size: 16pt;">حالة استخدام نمذجة اللغة</span><br />
<span style="font-size: 16pt;">تدريب RNN</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">تكوين وكلاء أذكياء مع التعلم المعزز</span><br />
<span style="font-size: 16pt;">فهم معنى التعلم</span><br />
<span style="font-size: 16pt;">التعلم المعزز مقابل التعلم تحت الإشراف</span><br />
<span style="font-size: 16pt;">أمثلة من العالم الحقيقي للتعلم المعزز</span><br />
<span style="font-size: 16pt;">اللبنات الأساسية للتعلم المعزز</span><br />
<span style="font-size: 16pt;">خلق بيئة</span><br />
<span style="font-size: 16pt;">بناء وكيل التعلم</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">الذكاء الاصطناعي والبيانات الضخمة</span><br />
<span style="font-size: 16pt;">أساسيات البيانات الضخمة</span><br />
<span style="font-size: 16pt;">زحف</span><br />
<span style="font-size: 16pt;">الفهرسة</span><br />
<span style="font-size: 16pt;">تصنيف</span><br />
<span style="font-size: 16pt;">مراكز البيانات في جميع أنحاء العالم</span><br />
<span style="font-size: 16pt;">عمليات البحث الموزعة</span><br />
<span style="font-size: 16pt;">برامج مخصصة</span><br />
<span style="font-size: 16pt;">الثلاثة الخامس للبيانات الضخمة</span><br />
<span style="font-size: 16pt;">الصوت</span><br />
<span style="font-size: 16pt;">سرعة</span><br />
<span style="font-size: 16pt;">متنوع</span><br />
<span style="font-size: 16pt;">البيانات الضخمة والتعلم الآلي</span><br />
<span style="font-size: 16pt;">اباتشي هادوب</span><br />
<span style="font-size: 16pt;">MapReduce</span><br />
<span style="font-size: 16pt;">اباتشي خلية</span><br />
<span style="font-size: 16pt;">اباتشي سبارك</span><br />
<span style="font-size: 16pt;">مجموعات البيانات الموزعة المرنة</span><br />
<span style="font-size: 16pt;">إطارات البيانات</span><br />
<span style="font-size: 16pt;">SparkSQL</span><br />
<span style="font-size: 16pt;">اباتشي امبالا</span><br />
<span style="font-size: 16pt;">قواعد بيانات NoSQL</span><br />
<span style="font-size: 16pt;">أنواع قواعد بيانات NoSQL</span><br />
<span style="font-size: 16pt;">أباتشي كاساندرا</span><br />
<span style="font-size: 16pt;">MongoDB</span><br />
<span style="font-size: 16pt;">ريديس</span><br />
<span style="font-size: 16pt;">Neo4j</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">كتب أخرى قد تستمتع بها</span><br />
<span style="font-size: 16pt;">فهرس</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">بناء جهاز تحكم روبوت ذكي</span><br />
<span style="font-size: 16pt;">حالات استخدام البرمجة الجينية</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">مراجع</span><br />
<span style="font-size: 16pt;">الذكاء الاصطناعي على السحابة</span><br />
<span style="font-size: 16pt;">لماذا تهاجر الشركات إلى السحابة؟</span><br />
<span style="font-size: 16pt;">أفضل مزودي الخدمات السحابية</span><br />
<span style="font-size: 16pt;">خدمات أمازون ويب (AWS)</span><br />
<span style="font-size: 16pt;">أمازون سيجماكر</span><br />
<span style="font-size: 16pt;">Alexa و Lex و Polly &#8211; رجال محادثة</span><br />
<span style="font-size: 16pt;">Amazon Comprehend &#8211; معالجة اللغة الطبيعية</span><br />
<span style="font-size: 16pt;">Amazon Rekognition &#8211; الصورة والفيديو</span><br />
<span style="font-size: 16pt;">ترجمة أمازون</span><br />
<span style="font-size: 16pt;">تعلم الآلة من أمازون</span><br />
<span style="font-size: 16pt;">Amazon Transcribe &#8211; النسخ</span><br />
<span style="font-size: 16pt;">Amazon Textract &#8211; تحليل المستندات</span><br />
<span style="font-size: 16pt;">مايكروسوفت أزور</span><br />
<span style="font-size: 16pt;">Microsoft Azure Machine Learning Studio</span><br />
<span style="font-size: 16pt;">خدمة التعلم الآلي في Azure</span><br />
<span style="font-size: 16pt;">خدمات Azure المعرفية</span><br />
<span style="font-size: 16pt;">Google Cloud Platform (GCP)</span><br />
<span style="font-size: 16pt;">مركز الذكاء الاصطناعي</span><br />
<span style="font-size: 16pt;">قوالب بناء جوجل كلاود AI</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">بناء الألعاب بالذكاء الاصطناعي</span><br />
<span style="font-size: 16pt;">استخدام خوارزميات البحث في الألعاب</span><br />
<span style="font-size: 16pt;">البحث التوافقي</span><br />
<span style="font-size: 16pt;">خوارزمية Minimax</span><br />
<span style="font-size: 16pt;">تقليم ألفا بيتا</span><br />
<span style="font-size: 16pt;">خوارزمية Negamax</span><br />
<span style="font-size: 16pt;">تثبيت مكتبة easyAI</span><br />
<span style="font-size: 16pt;">بناء روبوت للعب Last Coin Standing</span><br />
<span style="font-size: 16pt;">بناء روبوت للعب Tic-Tac-Toe</span><br />
<span style="font-size: 16pt;">بناء اثنين من الروبوتات للعب Connect Four ™ ضد بعضهما البعض</span><br />
<span style="font-size: 16pt;">بناء اثنين من الروبوتات للعب Hexapawn ضد بعضهما البعض</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">بناء أداة التعرف على الكلام</span><br />
<span style="font-size: 16pt;">العمل مع إشارات الكلام</span><br />
<span style="font-size: 16pt;">تصور الإشارات الصوتية</span><br />
<span style="font-size: 16pt;">تحويل الإشارات الصوتية إلى مجال التردد</span><br />
<span style="font-size: 16pt;">توليد الإشارات الصوتية</span><br />
<span style="font-size: 16pt;">توليف النغمات لتوليد الموسيقى</span><br />
<span style="font-size: 16pt;">استخراج ميزات الكلام</span><br />
<span style="font-size: 16pt;">التعرف على الكلمات المنطوقة</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">معالجة اللغة الطبيعية</span><br />
<span style="font-size: 16pt;">مقدمة وتركيب الحزم</span><br />
<span style="font-size: 16pt;">ترميز بيانات النص</span><br />
<span style="font-size: 16pt;">تحويل الكلمات إلى صيغها الأساسية باستخدام الاشتقاق</span><br />
<span style="font-size: 16pt;">تحويل الكلمات إلى أشكالها الأساسية باستخدام lemmatization</span><br />
<span style="font-size: 16pt;">تقسيم البيانات النصية إلى أجزاء</span><br />
<span style="font-size: 16pt;">استخراج تردد المصطلحات باستخدام نموذج كيس الكلمات</span><br />
<span style="font-size: 16pt;">بناء توقع الفئة</span><br />
<span style="font-size: 16pt;">بناء معرف جنس</span><br />
<span style="font-size: 16pt;">بناء محلل المشاعر</span><br />
<span style="font-size: 16pt;">نمذجة الموضوع باستخدام تخصيص Dirichlet الكامن</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">روبوتات المحادثة</span><br />
<span style="font-size: 16pt;">مستقبل روبوتات المحادثة</span><br />
<span style="font-size: 16pt;">الشات بوتس اليوم</span><br />
<span style="font-size: 16pt;">مفاهيم الشات بوت</span><br />
<span style="font-size: 16pt;">روبوت محادثة جيد التصميم</span><br />
<span style="font-size: 16pt;">منصات Chatbot</span><br />
<span style="font-size: 16pt;">إنشاء روبوت محادثة باستخدام DialogFlow</span><br />
<span style="font-size: 16pt;">إعداد DialogFlow</span><br />
<span style="font-size: 16pt;">دمج روبوت المحادثة في موقع ويب باستخدام عنصر واجهة مستخدم</span><br />
<span style="font-size: 16pt;">دمج chatbot في موقع ويب باستخدام Python</span><br />
<span style="font-size: 16pt;">كيفية إعداد webhook في DialogFlow</span><br />
<span style="font-size: 16pt;">تمكين خطافات الويب للأهداف</span><br />
<span style="font-size: 16pt;">إعداد جمل تدريبية لنية</span><br />
<span style="font-size: 16pt;">إعداد المعلمات والإجراءات لنية</span><br />
<span style="font-size: 16pt;">بناء استجابات الوفاء من الويب هوك</span><br />
<span style="font-size: 16pt;">التحقق من الردود من الويب هوك</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">البيانات المتسلسلة وتحليل السلاسل الزمنية</span><br />
<span style="font-size: 16pt;">فهم البيانات المتسلسلة</span><br />
<span style="font-size: 16pt;">التعامل مع بيانات السلاسل الزمنية مع Pandas</span><br />
<span style="font-size: 16pt;">تشريح بيانات السلاسل الزمنية</span><br />
<span style="font-size: 16pt;">العمل على بيانات السلاسل الزمنية</span><br />
<span style="font-size: 16pt;">استخراج الإحصائيات من بيانات السلاسل الزمنية</span><br />
<span style="font-size: 16pt;">توليد البيانات باستخدام نماذج ماركوف المخفية</span><br />
<span style="font-size: 16pt;">تحديد التسلسلات الأبجدية مع الحقول العشوائية الشرطية</span><br />
<span style="font-size: 16pt;">تحليل سوق الأسهم</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">التعرف على الصور</span><br />
<span style="font-size: 16pt;">أهمية التعرف على الصور</span><br />
<span style="font-size: 16pt;">OpenCV</span><br />
<span style="font-size: 16pt;">اختلاف الإطار</span><br />
<span style="font-size: 16pt;">تتبع الكائنات باستخدام مساحات الألوان</span><br />
<span style="font-size: 16pt;">تتبع الكائن باستخدام الطرح الخلفي</span><br />
<span style="font-size: 16pt;">بناء متتبع كائن تفاعلي باستخدام خوارزمية CAMShift</span><br />
<span style="font-size: 16pt;">التتبع البصري القائم على التدفق</span><br />
<span style="font-size: 16pt;">كشف الوجه وتتبعه</span><br />
<span style="font-size: 16pt;">استخدام تسلسلات Haar لاكتشاف الأشياء</span><br />
<span style="font-size: 16pt;">استخدام الصور المتكاملة لاستخراج الميزات</span><br />
<span style="font-size: 16pt;">كشف العين وتتبعها</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">الشبكات العصبية</span><br />
<span style="font-size: 16pt;">مقدمة في الشبكات العصبية</span><br />
<span style="font-size: 16pt;">بناء شبكة عصبية</span><br />
<span style="font-size: 16pt;">تدريب شبكة عصبية</span><br />
<span style="font-size: 16pt;">بناء مصنف قائم على Perceptron</span><br />
<span style="font-size: 16pt;">بناء شبكة عصبية أحادية الطبقة</span><br />
<span style="font-size: 16pt;">بناء شبكة عصبية متعددة الطبقات</span><br />
<span style="font-size: 16pt;">بناء متجهي الكمي</span><br />
<span style="font-size: 16pt;">تحليل البيانات المتسلسلة باستخدام الشبكات العصبية المتكررة</span><br />
<span style="font-size: 16pt;">تصور الشخصيات في قاعدة بيانات التعرف الضوئي على الحروف</span><br />
<span style="font-size: 16pt;">بناء محرك التعرف الضوئي على الحروف</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">التعلم العميق مع الشبكات العصبية التلافيفية</span><br />
<span style="font-size: 16pt;">أساسيات الشبكات العصبية التلافيفية</span><br />
<span style="font-size: 16pt;">هندسة CNNs</span><br />
<span style="font-size: 16pt;">CNNs مقابل الشبكات العصبية perceptron</span><br />
<span style="font-size: 16pt;">أنواع الطبقات في شبكة CNN</span><br />
<span style="font-size: 16pt;">بناء مراجع خطي قائم على الإدراك الحسي</span><br />
<span style="font-size: 16pt;">بناء مصنف للصور باستخدام شبكة عصبية أحادية الطبقة</span><br />
<span style="font-size: 16pt;">بناء مصنف صور باستخدام شبكة عصبية تلافيفية</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">المرجعي</span><br />
<span style="font-size: 16pt;">الشبكات العصبية المتكررة ونماذج التعلم العميق الأخرى</span><br />
<span style="font-size: 16pt;">أساسيات الشبكات العصبية المتكررة</span><br />
<span style="font-size: 16pt;">وظيفة الخطوة</span><br />
<span style="font-size: 16pt;">وظيفة السيني</span><br />
<span style="font-size: 16pt;">دالة تانه</span><br />
<span style="font-size: 16pt;">وظيفة ReLU</span><br />
<span style="font-size: 16pt;">هندسة RNNs</span><br />
<span style="font-size: 16pt;">حالة استخدام نمذجة اللغة</span><br />
<span style="font-size: 16pt;">تدريب RNN</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">تكوين وكلاء أذكياء مع التعلم المعزز</span><br />
<span style="font-size: 16pt;">فهم معنى التعلم</span><br />
<span style="font-size: 16pt;">التعلم المعزز مقابل التعلم تحت الإشراف</span><br />
<span style="font-size: 16pt;">أمثلة من العالم الحقيقي للتعلم المعزز</span><br />
<span style="font-size: 16pt;">اللبنات الأساسية للتعلم المعزز</span><br />
<span style="font-size: 16pt;">خلق بيئة</span><br />
<span style="font-size: 16pt;">بناء وكيل التعلم</span><br />
<span style="font-size: 16pt;">ملخص</span><br />
<span style="font-size: 16pt;">الذكاء الاصطناعي والبيانات الضخمة</span><br />
<span style="font-size: 16pt;">أساسيات البيانات الضخمة</span><br />
<span style="font-size: 16pt;">زحف</span><br />
<span style="font-size: 16pt;">الفهرسة</span><br />
<span style="font-size: 16pt;">تصنيف</span><br />
<span style="font-size: 16pt;">مراكز البيانات في جميع أنحاء العالم</span><br />
<span style="font-size: 16pt;">عمليات البحث الموزعة</span><br />
<span style="font-size: 16pt;">برامج مخصصة</span><br />
<span style="font-size: 16pt;">الثلاثة الخامس للبيانات الضخمة</span><br />
<span style="font-size: 16pt;">الصوت</span><br />
<span style="font-size: 16pt;">سرعة</span><br />
<span style="font-size: 16pt;">متنوع</span><br />
<span style="font-size: 16pt;">البيانات الضخمة والتعلم الآلي</span><br />
<span style="font-size: 16pt;">اباتشي هادوب</span><br />
<span style="font-size: 16pt;">MapReduce</span><br />
<span style="font-size: 16pt;">اباتشي خلية</span><br />
<span style="font-size: 16pt;">اباتشي سبارك</span><br />
<span style="font-size: 16pt;">مجموعات البيانات الموزعة المرنة</span><br />
<span style="font-size: 16pt;">إطارات البيانات</span><br />
<span style="font-size: 16pt;">SparkSQL</span><br />
<span style="font-size: 16pt;">اباتشي امبالا</span><br />
<span style="font-size: 16pt;">قواعد بيانات NoSQL</span><br />
<span style="font-size: 16pt;">أنواع قواعد بيانات NoSQL</span></p>
<p style="text-align: justify;">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: justify;">
<p style="text-align: center;"><span style="font-size: 26pt;"><a href="http://www.mediafire.com/file/xl1vx54ydume7iw/book064.rar/file" target="_blank" rel="noopener">رابط التحميل</a></span></p>
<p>The post <a rel="nofollow" href="https://arabdars.com/%d8%a7%d9%84%d8%b0%d9%83%d8%a7%d8%a1-%d8%a7%d9%84%d8%a7%d8%b5%d8%b7%d9%86%d8%a7%d8%b9%d9%8a-%d9%85%d8%b9-%d8%a8%d8%a7%d9%8a%d8%ab%d9%88%d9%86/">الذكاء الاصطناعي مع بايثون</a> appeared first on <a rel="nofollow" href="https://arabdars.com">فيلم تعلم البرمجيات للطالب العربي</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>برمجة Arduino + Python للروبوتات</title>
		<link>https://arabdars.com/%d8%a8%d8%b1%d9%85%d8%ac%d8%a9-arduino-python-%d9%84%d9%84%d8%b1%d9%88%d8%a8%d9%88%d8%aa%d8%a7%d8%aa/</link>
		
		<dc:creator><![CDATA[Arab Dars]]></dc:creator>
		<pubDate>Fri, 12 Feb 2021 07:22:01 +0000</pubDate>
				<category><![CDATA[arduino اردوينو]]></category>
		<category><![CDATA[بيثون python]]></category>
		<guid isPermaLink="false">https://arabdars.com/?p=1969</guid>

					<description><![CDATA[<p>محتويات حول الكتاب الأول للقراء الثاني حول المؤلفين IIi 1. بدء استخدام Arduino 1 1.1 ما هو اردوينو؟ 2 1.2 كيفية برمجة اردوينو؟ 2 1.3 كيفية تثبيت Arduino IDE؟ 2 1.4 إطلاق وفلاش برنامجك الأول 5 2. مقدمة إلى Python 8 2.1 ما هي لغة بايثون؟ 9 2.2 تثبيت Python 9 2.3 سبايدر IDE 10 [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://arabdars.com/%d8%a8%d8%b1%d9%85%d8%ac%d8%a9-arduino-python-%d9%84%d9%84%d8%b1%d9%88%d8%a8%d9%88%d8%aa%d8%a7%d8%aa/">برمجة Arduino + Python للروبوتات</a> appeared first on <a rel="nofollow" href="https://arabdars.com">فيلم تعلم البرمجيات للطالب العربي</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;"><span style="font-size: 16pt;">محتويات</span><br />
<span style="font-size: 16pt;">حول الكتاب الأول</span><br />
<span style="font-size: 16pt;">للقراء الثاني</span><br />
<span style="font-size: 16pt;">حول المؤلفين IIi</span><br />
<span style="font-size: 16pt;">1. بدء استخدام Arduino 1</span><br />
<span style="font-size: 16pt;">1.1 ما هو اردوينو؟ 2</span><br />
<span style="font-size: 16pt;">1.2 كيفية برمجة اردوينو؟ 2</span><br />
<span style="font-size: 16pt;">1.3 كيفية تثبيت Arduino IDE؟ 2</span><br />
<span style="font-size: 16pt;">1.4 إطلاق وفلاش برنامجك الأول 5</span><br />
<span style="font-size: 16pt;">2. مقدمة إلى Python 8</span><br />
<span style="font-size: 16pt;">2.1 ما هي لغة بايثون؟ 9</span><br />
<span style="font-size: 16pt;">2.2 تثبيت Python 9</span><br />
<span style="font-size: 16pt;">2.3 سبايدر IDE 10</span><br />
<span style="font-size: 16pt;">2.4 أول برنامج بيثون 10</span><br />
<span style="font-size: 16pt;">2.5 تثبيت وحدات بايثون 11</span><br />
<span style="font-size: 16pt;">2.5.1 تكينتر 11</span><br />
<span style="font-size: 16pt;">2.5.2 أدوات المعارف التقليدية 12</span><br />
<span style="font-size: 16pt;">2.5.3 PySerial 12</span><br />
<span style="font-size: 16pt;">2.5.4 TK Color Picker 13</span><br />
<span style="font-size: 16pt;">2.5.5 PyFirmata 13</span><br />
<span style="font-size: 16pt;">3. برمجة واجهة المستخدم الرسومية باستخدام Python Tkinter 14 3.1 واجهة المستخدم الرسومية 15</span><br />
<span style="font-size: 16pt;">3.2 عمل إطار واجهة المستخدم الرسومية في Python 16</span><br />
<span style="font-size: 16pt;">3.3 نافذة Tkinter 17</span><br />
<span style="font-size: 16pt;">3.4 Tkinter الحاجيات 18</span><br />
<span style="font-size: 16pt;">3.5 إضافة عناصر واجهة مستخدم Tkinter باستخدام PILLOW 30</span><br />
<span style="font-size: 16pt;">3.6 مكالمات الأحداث مع Tkinter Widgets 31</span><br />
<span style="font-size: 16pt;">3.7 إزالة الغموض عن وحدة PySerial 34</span><br />
<span style="font-size: 16pt;">4. استكشاف الحاجيات Tkinter عالية المستوى 35</span><br />
<span style="font-size: 16pt;">4.1 الحاجيات عالية المستوى مع أدوات المعارف التقليدية 36</span><br />
<span style="font-size: 16pt;">4.2 عرض سبعة مقاطع 37</span><br />
<span style="font-size: 16pt;">4.3 مقياس الروتاري 38</span><br />
<span style="font-size: 16pt;">4.4 قائمة الخيارات الذكية 39</span><br />
<span style="font-size: 16pt;">5. التحدي -1: التحكم الرقمي في الصمام 42</span><br />
<span style="font-size: 16pt;">6. التحدي -2: التحكم في الماكينات الرقمية 52</span><br />
<span style="font-size: 16pt;">7. التحدي 3: التحكم في محرك التيار المستمر 62</span><br />
<span style="font-size: 16pt;">9. التحدي -4: رسم بيانات أجهزة الاستشعار 73</span><br />
<span style="font-size: 16pt;">10. التحدي الخامس: تسجيل بيانات جهاز الاستشعار 84</span><br />
<span style="font-size: 16pt;">11. التحدي –6: التحكم في RGB LED 95</span><br />
<span style="font-size: 16pt;">12. التحدي 7: التحكم اللاسلكي في Arduino 105</span><br />
<span style="font-size: 16pt;">13. التحدي &#8211; 8: Tkinter باستخدام Firmata 113</span><br />
<span style="font-size: 16pt;">14. مشروع كابستون: بناء مركبة آلية والتحكم فيها 120</span><br />
<span style="font-size: 16pt;">15- الخلاصة 138</span><br />
<span style="font-size: 16pt;">كود المصدر: مستودع جيثب 139</span></p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: center;"><a href="http://www.mediafire.com/file/79t7lulgoipbzug/book060.rar/file" target="_blank" rel="noopener"><span style="font-size: 30pt;">رابط التحميل</span></a></p>
<p>The post <a rel="nofollow" href="https://arabdars.com/%d8%a8%d8%b1%d9%85%d8%ac%d8%a9-arduino-python-%d9%84%d9%84%d8%b1%d9%88%d8%a8%d9%88%d8%aa%d8%a7%d8%aa/">برمجة Arduino + Python للروبوتات</a> appeared first on <a rel="nofollow" href="https://arabdars.com">فيلم تعلم البرمجيات للطالب العربي</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>تعلم الآلة التطبيقية باستخدام بيثون</title>
		<link>https://arabdars.com/%d8%aa%d8%b9%d9%84%d9%85-%d8%a7%d9%84%d8%a2%d9%84%d8%a9-%d8%a7%d9%84%d8%aa%d8%b7%d8%a8%d9%8a%d9%82%d9%8a%d8%a9-%d8%a8%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d8%a7%d9%85-%d8%a8%d9%8a%d8%ab%d9%88%d9%86/</link>
		
		<dc:creator><![CDATA[Arab Dars]]></dc:creator>
		<pubDate>Fri, 12 Feb 2021 07:08:30 +0000</pubDate>
				<category><![CDATA[بيثون python]]></category>
		<category><![CDATA[کتاب]]></category>
		<guid isPermaLink="false">https://arabdars.com/?p=1965</guid>

					<description><![CDATA[<p>محتويات قائمة الأشكال التاسع مقدمة xiii 1 مقدمة في التعلم الآلي 1 1.1 نموذج بسيط خاضع للإشراف: أقرب الجار. . 2 1.1.1 ضبط المعلمات الفائقة مع التحقق المتقاطع. 9 1.2 المعالجة المسبقة. 14 1.2.1 قياس البيانات. . 15 1.2.2 إجبار البيانات على أن تكون غاوسية: مقدمة في تحويلات الطاقة. 19 1.2.3 التعامل مع المتغيرات الفئوية. [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://arabdars.com/%d8%aa%d8%b9%d9%84%d9%85-%d8%a7%d9%84%d8%a2%d9%84%d8%a9-%d8%a7%d9%84%d8%aa%d8%b7%d8%a8%d9%8a%d9%82%d9%8a%d8%a9-%d8%a8%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d8%a7%d9%85-%d8%a8%d9%8a%d8%ab%d9%88%d9%86/">تعلم الآلة التطبيقية باستخدام بيثون</a> appeared first on <a rel="nofollow" href="https://arabdars.com">فيلم تعلم البرمجيات للطالب العربي</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="font-size: 20pt;">محتويات</span><br />
<span style="font-size: 20pt;">قائمة الأشكال التاسع</span><br />
<span style="font-size: 20pt;">مقدمة xiii</span><br />
<span style="font-size: 20pt;">1 مقدمة في التعلم الآلي 1</span><br />
<span style="font-size: 20pt;">1.1 نموذج بسيط خاضع للإشراف: أقرب الجار. . 2</span><br />
<span style="font-size: 20pt;">1.1.1 ضبط المعلمات الفائقة مع التحقق المتقاطع. 9</span><br />
<span style="font-size: 20pt;">1.2 المعالجة المسبقة. 14</span><br />
<span style="font-size: 20pt;">1.2.1 قياس البيانات. . 15</span><br />
<span style="font-size: 20pt;">1.2.2 إجبار البيانات على أن تكون غاوسية: مقدمة في تحويلات الطاقة. 19</span><br />
<span style="font-size: 20pt;">1.2.3 التعامل مع المتغيرات الفئوية. 21</span><br />
<span style="font-size: 20pt;">1.2.4 التعامل مع القيم المفقودة. 24</span><br />
<span style="font-size: 20pt;">1.3 طرق التعامل مع البيانات غير المتوازنة. . 26</span><br />
<span style="font-size: 20pt;">1.3.1 أخذ عينات عشوائية من فئة الأغلبية. 28</span><br />
<span style="font-size: 20pt;">1.3.2 التقطيع العشوائي لفئة الأغلبية. . 29</span><br />
<span style="font-size: 20pt;">1.3.3 الإفراط في أخذ العينات باستخدام البيانات التركيبية: SMOTE. 30</span><br />
<span style="font-size: 20pt;">1.4 تقليل الأبعاد: تحليل المكون الرئيسي. 31</span><br />
<span style="font-size: 20pt;">1.4.1 PCA كتخفيض للأبعاد. . 32</span><br />
<span style="font-size: 20pt;">1.4.2 استخراج الميزة. 36</span><br />
<span style="font-size: 20pt;">1.4.3 خوارزمية المنوع غير الخطي: t-SNE. 37</span><br />
<span style="font-size: 20pt;">2 النماذج الخطية للتعلم الآلي 41</span><br />
<span style="font-size: 20pt;">2.1 الانحدار الخطي. 42</span><br />
<span style="font-size: 20pt;">2.2 طرق الانكماش. . 44</span><br />
<span style="font-size: 20pt;">2.2.1 انحدار ريدج. 44</span><br />
<span style="font-size: 20pt;">2.2.2 انحدار اللاسو. 49</span><br />
<span style="font-size: 20pt;">2.2.3 شبكة مرنة. 51</span><br />
<span style="font-size: 20pt;">2.3 الانحدار القوي. 52</span><br />
<span style="font-size: 20pt;">2.3.1 انحدار هوبر. 53</span><br />
<span style="font-size: 20pt;">2.3.2 RANSAC. 56</span><br />
<span style="font-size: 20pt;">2.4 الانحدار اللوجستي. . 58</span><br />
<span style="font-size: 20pt;">2.4.1 لماذا يعتبر الانحدار اللوجستي خطيًا؟ . 59</span><br />
<span style="font-size: 20pt;">2.4.2 تنبؤات الانحدار اللوجستي (إخراج النموذج الأولي) مقابل الاحتمالات (الإخراج السيني). . 60</span><br />
<span style="font-size: 20pt;">2.4.3 الانحدار اللوجستي في بايثون. . 61</span><br />
<span style="font-size: 20pt;">2.4.4 نموذج تقييم الأداء. 62</span><br />
<span style="font-size: 20pt;">2.4.5 التنظيم. . 66</span><br />
<span style="font-size: 20pt;">2.5 آلة متجه الدعم الخطي. 68</span><br />
<span style="font-size: 20pt;">2.6 ما وراء الخطية: النماذج المحببة. 73</span><br />
<span style="font-size: 20pt;">2.6.1 في هود خدعة النواة. . 76</span><br />
<span style="font-size: 20pt;">2.6.2 مثال التصنيف العملي: التعرف على الوجوه. . 77</span><br />
<span style="font-size: 20pt;">3 ما بعد الخطي: طرق المجموعات لـ ML 83</span><br />
<span style="font-size: 20pt;">3.1 مقدمة. . 83</span><br />
<span style="font-size: 20pt;">3.2 طرق المجموعات. . 84</span><br />
<span style="font-size: 20pt;">3.2.1 التجميع الداعم. . 88</span><br />
<span style="font-size: 20pt;">3.2.2 تقدير نفاد الحقيبة. . 90</span><br />
<span style="font-size: 20pt;">3.3 غابات عشوائية. . 91</span><br />
<span style="font-size: 20pt;">3.3.1 مصنف الغابات العشوائية. . 91</span><br />
<span style="font-size: 20pt;">3.3.2 معامل الانحدار العشوائي للغابات. 94</span><br />
<span style="font-size: 20pt;">3.4 طرق التعزيز. 95</span><br />
<span style="font-size: 20pt;">3.4.1 AdaBoost. 95</span><br />
<span style="font-size: 20pt;">3.4.2 تعزيز التدرج. . 96</span><br />
<span style="font-size: 20pt;">3.4.3 تعزيز التدرج الشديد (XGBoost). 99</span><br />
<span style="font-size: 20pt;">3.4.4 CatBoost. . 106</span><br />
<span style="font-size: 20pt;">4 مقدمة لتقنيات ML الحديثة 115</span><br />
<span style="font-size: 20pt;">4.1 مقدمة في معالجة اللغة الطبيعية. 115</span><br />
<span style="font-size: 20pt;">4.1.1 المعالجة المسبقة ببيانات النص. . 116</span><br />
<span style="font-size: 20pt;">4.1.2 التمثيل العددي للوثائق: حقيبة الكلمات. . 121</span><br />
<span style="font-size: 20pt;">4.1.3 مثال عملي: تحليل المشاعر باستخدام مراجعات IMDb</span><br />
<span style="font-size: 20pt;">مجموعة البيانات. 124</span><br />
<span style="font-size: 20pt;">4.1.4 مصطلح تردد الوثيقة المعكوسة. . 126</span><br />
<span style="font-size: 20pt;">4.1.5 حقيبة من الكلمات بأكثر من كلمة واحدة (n-Grams). . 127</span><br />
<span style="font-size: 20pt;">4.1.6 ما وراء حقيبة من الكلمات: زينة الكلمة. 132</span><br />
<span style="font-size: 20pt;">4.2 مقدمة في التعلم العميق. 140</span><br />
<span style="font-size: 20pt;">4.2.1 التعامل مع البيانات المعقدة في شبكة عصبية. 143</span><br />
<span style="font-size: 20pt;">4.2.2 التصنيف متعدد الفئات. 147</span><br />
<span style="font-size: 20pt;">الملاحق 151</span><br />
<span style="font-size: 20pt;">دورة مكثفة في بايثون 153</span><br />
<span style="font-size: 20pt;">A.1 اللبنات الأساسية في بايثون. . 153</span><br />
<span style="font-size: 20pt;">أ / 1/1 المتغيرات. . 153</span><br />
<span style="font-size: 20pt;">أ / ١/٢ الطرق. . 155</span><br />
<span style="font-size: 20pt;">A.2 بنية البيانات في بايثون. 156</span><br />
<span style="font-size: 20pt;">A.2.1 قائمة و Tuples. . 156</span><br />
<span style="font-size: 20pt;">أ / 2/2 مجموعات. 158</span><br />
<span style="font-size: 20pt;">أ / 2/3 قواميس. . 158</span><br />
<span style="font-size: 20pt;">A.3 الحلقات في بايثون. . 159</span><br />
<span style="font-size: 20pt;">A.3.1 حلقة For. 159</span><br />
<span style="font-size: 20pt;">أ / 3/2 حلقة بينما. . 160</span><br />
<span style="font-size: 20pt;">A.4 بنية البيانات المتقدمة في بايثون. . 161</span><br />
<span style="font-size: 20pt;">A.4.1 قائمة الإدراك. 161</span><br />
<span style="font-size: 20pt;">A.4.2 وظائف Lambda. . 163</span><br />
<span style="font-size: 20pt;">أ .5 مفاهيم متقدمة عن الوظائف. . 164</span><br />
<span style="font-size: 20pt;">أ / 5/1 سحر البطاقات البرية في حجج الوظيفة. 164</span><br />
<span style="font-size: 20pt;">أ / 5/2 النطاق المحلي مقابل النطاق العالمي في الوظائف. 168</span><br />
<span style="font-size: 20pt;">أ / 6 مقدمة في البرمجة الشيئية. . 169</span><br />
<span style="font-size: 20pt;">A.6.1 الأشياء والفئات والسمات. 170</span><br />
<span style="font-size: 20pt;">A.6.2 الفئات الفرعية والوراثة. 172</span><br />
<span style="font-size: 20pt;">ب الرياضيات وراء نموذج تخطي الجرام 175</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="http://www.mediafire.com/file/w7jyqjgoqayxu8c/book058.rar/file" target="_blank" rel="noopener"><span style="font-size: 30pt;">رابط التحميل</span></a></p>
<p>The post <a rel="nofollow" href="https://arabdars.com/%d8%aa%d8%b9%d9%84%d9%85-%d8%a7%d9%84%d8%a2%d9%84%d8%a9-%d8%a7%d9%84%d8%aa%d8%b7%d8%a8%d9%8a%d9%82%d9%8a%d8%a9-%d8%a8%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d8%a7%d9%85-%d8%a8%d9%8a%d8%ab%d9%88%d9%86/">تعلم الآلة التطبيقية باستخدام بيثون</a> appeared first on <a rel="nofollow" href="https://arabdars.com">فيلم تعلم البرمجيات للطالب العربي</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>بيئات Python الافتراضية: كتاب تمهيدي</title>
		<link>https://arabdars.com/%d8%a8%d9%8a%d8%a6%d8%a7%d8%aa-python-%d8%a7%d9%84%d8%a7%d9%81%d8%aa%d8%b1%d8%a7%d8%b6%d9%8a%d8%a9-%d9%83%d8%aa%d8%a7%d8%a8-%d8%aa%d9%85%d9%87%d9%8a%d8%af%d9%8a/</link>
		
		<dc:creator><![CDATA[Reyhane]]></dc:creator>
		<pubDate>Fri, 11 Sep 2020 15:07:14 +0000</pubDate>
				<category><![CDATA[بيثون python]]></category>
		<guid isPermaLink="false">https://arabdars.com/?p=1580</guid>

					<description><![CDATA[<p>جدول المحتويات لماذا الحاجة إلى البيئات الافتراضية؟ ما هي البيئة الافتراضية؟ استخدام البيئات الافتراضية كيف تعمل البيئة الافتراضية؟ إدارة البيئات الافتراضية باستخدام virtualenvwrapper استخدام إصدارات مختلفة من بايثون خاتمة في هذه المقالة ، سنوضح لك كيفية استخدام البيئات الافتراضية لإنشاء وإدارة بيئات منفصلة لمشاريع Python الخاصة بك ، كل منها يستخدم إصدارات مختلفة من Python [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://arabdars.com/%d8%a8%d9%8a%d8%a6%d8%a7%d8%aa-python-%d8%a7%d9%84%d8%a7%d9%81%d8%aa%d8%b1%d8%a7%d8%b6%d9%8a%d8%a9-%d9%83%d8%aa%d8%a7%d8%a8-%d8%aa%d9%85%d9%87%d9%8a%d8%af%d9%8a/">بيئات Python الافتراضية: كتاب تمهيدي</a> appeared first on <a rel="nofollow" href="https://arabdars.com">فيلم تعلم البرمجيات للطالب العربي</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif"><strong><span style="font-size: 20pt">جدول المحتويات</span></strong></span></p>
<ul style="text-align: justify">
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">لماذا الحاجة إلى البيئات الافتراضية؟<br />
</span></li>
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">ما هي البيئة الافتراضية؟<br />
</span></li>
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">استخدام البيئات الافتراضية<br />
</span></li>
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">كيف تعمل البيئة الافتراضية؟<br />
</span></li>
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">إدارة البيئات الافتراضية باستخدام virtualenvwrapper<br />
</span></li>
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">استخدام إصدارات مختلفة من بايثون</span></li>
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">خاتمة</span></li>
</ul>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">في هذه المقالة ، سنوضح لك كيفية استخدام البيئات الافتراضية لإنشاء وإدارة بيئات منفصلة لمشاريع Python الخاصة بك ، كل منها يستخدم إصدارات مختلفة من Python للتنفيذ. سنلقي نظرة أيضًا على كيفية تخزين تبعيات Python وحلها.</span></p>
<ul style="text-align: justify">
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">تحديث 2018-01-12: توضيح استخدام pyenv مقابل venv في Python 3.6+<br />
</span></li>
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">تم التحديث في 2016-06-11: تمت إضافة قسم حول تغيير إصدارات Python باستخدام virtualenv<br />
</span></li>
</ul>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif"><strong><span style="font-size: 20pt">لماذا الحاجة إلى البيئات الافتراضية؟</span></strong></span></p>
<p style="text-align: justify"><span style="font-size: 14pt;font-family: arial, helvetica, sans-serif">تمتلك Python ، مثل معظم لغات البرمجة الحديثة الأخرى ، طريقتها الفريدة في تنزيل الحزم (أو الوحدات) وتخزينها وحلها. في حين أن هذا له مزاياه ، كانت هناك بعض القرارات المثيرة للاهتمام التي تم اتخاذها بشأن تخزين الحزمة ودقتها ، مما أدى إلى بعض المشكلات &#8211; خاصةً فيما يتعلق بكيفية ومكان تخزين الحزم.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt;font-family: arial, helvetica, sans-serif">هناك عدد قليل من المواقع المختلفة حيث يمكن تثبيت هذه الحزم على نظامك. على سبيل المثال ، يتم تخزين معظم حزم النظام في دليل تابع للمسار المخزن في sys.prefix.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt;font-family: arial, helvetica, sans-serif">في نظام التشغيل Mac OS X ، يمكنك بسهولة العثور على المكان الذي يشير إليه sys.prefix لاستخدام صدفة Python:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">&gt;&gt;&gt; </span><span class="kn">import</span> <span class="nn">sys</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">sys</span><span class="o">.</span><span class="n">prefix</span>
<span class="go">'/System/Library/Frameworks/Python.framework/Versions/3.5'</span>
</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif"><br />
أكثر صلة بموضوع هذه المقالة ، يتم عادةً وضع حزم الجهات الخارجية المثبتة باستخدام easy_install أو pip في أحد الأدلة التي يشير إليها site.getsitepackages:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">&gt;&gt;&gt; </span><span class="kn">import</span> <span class="nn">site</span>
<span class="gp">&gt;&gt;&gt; </span><span class="n">site</span><span class="o">.</span><span class="n">getsitepackages</span><span class="p">()</span>
<span class="go">[</span>
<span class="go">  '/System/Library/Frameworks/Python.framework/Versions/3.5/Extras/lib/python',</span>
<span class="go">  '/Library/Python/3.5/site-packages'</span>
<span class="go">]</span>
</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif"><br />
<strong>إذن ، لماذا كل هذه التفاصيل الصغيرة مهمة؟</strong></span></p>
<p style="text-align: justify"><span style="font-size: 14pt;font-family: arial, helvetica, sans-serif">من المهم معرفة ذلك لأنه ، بشكل افتراضي ، سيستخدم كل مشروع على نظامك هذه الأدلة نفسها لتخزين واسترداد حزم الموقع (مكتبات الطرف الثالث). للوهلة الأولى ، قد لا تبدو هذه مشكلة كبيرة ، وهي ليست كذلك بالفعل لحزم النظام (الحزم التي تعد جزءًا من مكتبة Python القياسية) ، ولكنها مهمة لحزم الموقع.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt;font-family: arial, helvetica, sans-serif">ضع في اعتبارك السيناريو التالي حيث لديك مشروعان: ProjectA و ProjectB ، وكلاهما يعتمد على نفس المكتبة ، ProjectC. تصبح المشكلة واضحة عندما نبدأ في طلب إصدارات مختلفة من ProjectC. ربما يحتاج ProjectA إلى الإصدار 1.0.0 ، بينما يتطلب ProjectB الإصدار 2.0.0 الأحدث ، على سبيل المثال.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt;font-family: arial, helvetica, sans-serif">هذه مشكلة حقيقية لبايثون لأنها لا تستطيع التمييز بين الإصدارات في دليل حزم الموقع. لذلك سيكون كلا الإصدارين 1.0.0 و v2.0.0 موجودين في نفس الدليل بنفس الاسم:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code>/System/Library/Frameworks/Python.framework/Versions/3.5/Extras/lib/python/ProjectC</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">نظرًا لأنه يتم تخزين المشاريع وفقًا لاسمها فقط ، فلا يوجد تمييز بين الإصدارات. وبالتالي ، سيُطلب من كلا المشروعين ، ProjectA و ProjectB ، استخدام نفس الإصدار ، وهو أمر غير مقبول في كثير من الحالات.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt;font-family: arial, helvetica, sans-serif">هذا هو المكان الذي تلعب فيه البيئات الافتراضية وأدوات virtualenv / venv &#8230;</span></p>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif"><strong><span style="font-size: 20pt">ما هي البيئة الافتراضية؟</span></strong></span></p>
<p style="text-align: justify"><span style="font-size: 14pt;font-family: arial, helvetica, sans-serif">الغرض الأساسي من بيئات Python الافتراضية هو إنشاء بيئة معزولة لمشاريع Python. هذا يعني أن كل مشروع يمكن أن يكون له تبعياته الخاصة ، بغض النظر عن التبعيات التي يمتلكها كل مشروع آخر.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt;font-family: arial, helvetica, sans-serif">في مثالنا الصغير أعلاه ، نحتاج فقط إلى إنشاء بيئة افتراضية منفصلة لكل من ProjectA و ProjectB ، وسنكون على ما يرام. وستكون كل بيئة بدورها قادرة على الاعتماد على أي إصدار من ProjectC تختاره ، بغض النظر عن الأخرى.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt;font-family: arial, helvetica, sans-serif">إن الشيء العظيم في هذا هو أنه لا توجد حدود لعدد البيئات التي يمكنك امتلاكها لأنها مجرد أدلة تحتوي على بعض البرامج النصية. بالإضافة إلى ذلك ، يتم إنشاؤها بسهولة باستخدام أدوات سطر الأوامر virtualenv أو pyenv.</span></p>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif"><strong><span style="font-size: 20pt">استخدام البيئات الافتراضية</span></strong></span></p>
<p style="text-align: justify"><span style="font-size: 14pt;font-family: arial, helvetica, sans-serif">للبدء ، إذا كنت لا تستخدم Python 3 ، فستحتاج إلى تثبيت أداة virtualenv مع النقطة:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> pip install virtualenv</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif"><br />
إذا كنت تستخدم Python 3 ، فيجب أن يكون لديك بالفعل وحدة venv من المكتبة القياسية مثبتة.</span></p>
<blockquote><p><span style="font-size: 14pt;font-family: arial, helvetica, sans-serif">ملاحظة: من الآن فصاعدًا ، سنفترض أنك تستخدم أداة venv الأحدث ، نظرًا لوجود بعض الاختلافات بينها وبين virtualenv فيما يتعلق بالأوامر الفعلية. في الواقع ، على الرغم من أنها أدوات مختلفة تمامًا.</span></p></blockquote>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">ابدأ بإنشاء دليل جديد للعمل معه:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> mkdir python-virtual-environments <span class="o">&amp;&amp;</span> <span class="nb">cd</span> python-virtual-environments</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">أنشئ بيئة افتراضية جديدة داخل الدليل:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">#</span> Python <span class="m">2</span>:
<span class="gp">$</span> virtualenv env

<span class="gp">#</span> Python <span class="m">3</span>
<span class="gp">$</span> python3 -m venv env</code></span></pre>
<blockquote><p><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">ملاحظة: بشكل افتراضي ، لن يتضمن هذا أيًا من حزم موقعك الحالية.</span></p></blockquote>
<p style="text-align: justify"><span style="font-family: arial, helvetica, sans-serif;font-size: 14pt">يتميز نهج Python 3 venv بأنه يجبرك على اختيار إصدار معين من مترجم Python 3 الذي يجب استخدامه لإنشاء البيئة الافتراضية. هذا يتجنب أي التباس حول تثبيت Python الذي تستند إليه البيئة الجديدة.</span></p>
<p style="text-align: justify"><span style="font-family: arial, helvetica, sans-serif;font-size: 14pt">من Python 3.3 إلى 3.4 ، كانت الطريقة الموصى بها لإنشاء بيئة افتراضية هي استخدام أداة سطر أوامر pyvenv التي تأتي أيضًا مع تثبيت Python 3 بشكل افتراضي. ولكن في حالة الإصدار 3.6 وما فوق ، فإن python3 -m venv هو السبيل للذهاب.</span></p>
<p style="text-align: justify"><span style="font-family: arial, helvetica, sans-serif;font-size: 14pt">في المثال أعلاه ، يُنشئ هذا الأمر دليلًا يسمى env ، والذي يحتوي على بنية دليل مشابه لذلك:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code>├── bin
│   ├── activate
│   ├── activate.csh
│   ├── activate.fish
│   ├── easy_install
│   ├── easy_install-3.5
│   ├── pip
│   ├── pip3
│   ├── pip3.5
│   ├── python -&gt; python3.5
│   ├── python3 -&gt; python3.5
│   └── python3.5 -&gt; /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5
├── include
├── lib
│   └── python3.5
│       └── site-packages
└── pyvenv.cfg</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif"><br />
<strong><span style="font-size: 20pt">إليك ما يحتويه كل مجلد:</span></strong></span></p>
<ul style="text-align: justify">
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">bin: الملفات التي تتفاعل مع البيئة الافتراضية<br />
</span></li>
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">تشمل: رؤوس C التي تجمع حزم Python<br />
</span></li>
<li><span style="font-family: arial, helvetica, sans-serif"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt">lib</span><span class="tlid-translation translation" lang="ar" style="font-size: 14pt"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt">: نسخة من إصدار Python مع مجلد حزم الموقع حيث يتم تثبيت كل تبعية</span></span></span></li>
</ul>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">علاوة على ذلك ، هناك نسخ من بعض أدوات Python المختلفة أو روابط رمزية لها بالإضافة إلى ملفات Python التنفيذية نفسها. تُستخدم هذه الملفات لضمان تنفيذ جميع تعليمات وأوامر Python في سياق البيئة الحالية ، وهي الطريقة التي يتم بها تحقيق العزلة عن البيئة العالمية. سنشرح ذلك بمزيد من التفصيل في القسم التالي.</span></p>
<p style="text-align: justify"><span style="font-family: arial, helvetica, sans-serif;font-size: 14pt">الأكثر إثارة للاهتمام هي نصوص التنشيط في دليل bin. تُستخدم هذه البرامج النصية لإعداد shell الخاص بك لاستخدام لغة Python القابلة للتنفيذ الخاصة بالبيئة وحزم الموقع الخاصة بها افتراضيًا.</span></p>
<p style="text-align: justify"><span style="font-family: arial, helvetica, sans-serif;font-size: 14pt">من أجل استخدام حزم / موارد هذه البيئة بشكل منفصل ، تحتاج إلى &#8220;تنشيطها&#8221;. للقيام بذلك ، ما عليك سوى تشغيل ما يلي:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> <span class="nb">source</span> env/bin/activate
<span class="gp gp-VirtualEnv">(env)</span> <span class="gp">$</span>
</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif"><br />
لاحظ كيف أصبح موجهك الآن مسبوقًا باسم بيئتك (env ، في حالتنا). هذا هو المؤشر على أن env نشط حاليًا ، مما يعني أن ملف Python القابل للتنفيذ لن يستخدم سوى حزم وإعدادات هذه البيئة.</span></p>
<p style="text-align: justify"><span style="font-family: arial, helvetica, sans-serif;font-size: 14pt">لإظهار عزل الحزمة أثناء العمل ، يمكننا استخدام وحدة bcrypt كمثال. لنفترض أن لدينا bcrypt مثبتًا على مستوى النظام ولكن ليس في بيئتنا الافتراضية.</span></p>
<p style="text-align: justify"><span style="font-family: arial, helvetica, sans-serif;font-size: 14pt">قبل أن نختبر هذا ، نحتاج إلى العودة إلى سياق &#8220;النظام&#8221; بتنفيذ إلغاء التنشيط:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp gp-VirtualEnv">(env)</span> <span class="gp">$</span> deactivate
<span class="gp">$</span>
</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">الآن عادت جلسة shell إلى وضعها الطبيعي ، ويشير أمر python إلى تثبيت Python العام. تذكر أن تفعل ذلك كلما انتهيت من استخدام بيئة افتراضية محددة.</span></p>
<p style="text-align: justify"><span style="font-family: arial, helvetica, sans-serif;font-size: 14pt">الآن ، قم بتثبيت bcrypt واستخدمه لتجزئة كلمة المرور:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> pip -q install bcrypt
<span class="gp">$</span> python -c <span class="s2">"import bcrypt; print(bcrypt.hashpw('password'.encode('utf-8'), bcrypt.gensalt()))"</span>
<span class="gp">$</span>2b<span class="nv">$12$vWa</span>/VSvxxyQ9d.WGgVTdrell515Ctux36LCga8nM5QTW0.4w8TXXi</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">إليك ما يحدث إذا حاولنا نفس الأمر عند تنشيط البيئة الافتراضية:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> <span class="nb">source</span> env/bin/activate
<span class="gp gp-VirtualEnv">(env)</span> <span class="gp">$</span> python -c <span class="s2">"import bcrypt; print(bcrypt.hashpw('password'.encode('utf-8'), bcrypt.gensalt()))"</span>
<span class="go">Traceback (most recent call last):</span>
<span class="go">  File "&lt;string&gt;", line 1, in &lt;module&gt;</span>
<span class="go">ImportError: No module named 'bcrypt'</span>
</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">كما ترى ، يتغير سلوك الأمر python -c &#8220;import bcrypt &#8230;&#8221; بعد المصدر env / bin / activation call.</span></p>
<p style="text-align: justify"><span style="font-family: arial, helvetica, sans-serif;font-size: 14pt">في إحدى الحالات ، لدينا bcrypt متاح لنا ، وفي المرة التالية ليس لدينا. هذا هو نوع الفصل الذي نتطلع إلى تحقيقه باستخدام البيئات الافتراضية ، والذي يمكن تحقيقه الآن بسهولة.</span></p>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif"><strong><span style="font-size: 20pt">كيف تعمل البيئة الافتراضية؟</span></strong></span></p>
<p style="text-align: justify"><span style="font-family: arial, helvetica, sans-serif;font-size: 14pt">ماذا يعني بالضبط &#8220;تنشيط&#8221; البيئة؟ يمكن أن تكون معرفة ما يجري تحت الغطاء أمرًا مهمًا جدًا للمطور ، خاصة عندما تحتاج إلى فهم بيئات التنفيذ ، ودقة التبعية ، وما إلى ذلك.</span></p>
<p style="text-align: justify"><span style="font-family: arial, helvetica, sans-serif;font-size: 14pt">لشرح كيفية عمل ذلك ، دعنا أولاً نتحقق من مواقع ملفات بيثون التنفيذية المختلفة. مع البيئة &#8220;غير نشطة&#8221; ، قم بتشغيل ما يلي:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> which python
<span class="go">/usr/bin/python</span>
</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">الآن ، قم بتنشيطه وتشغيل الأمر مرة أخرى:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> <span class="nb">source</span> env/bin/activate
<span class="gp gp-VirtualEnv">(env)</span> <span class="gp">$</span> which python
<span class="go">/Users/michaelherman/python-virtual-environments/env/bin/python</span>
</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">بعد تنشيط البيئة ، نحصل الآن على مسار مختلف لملف Python القابل للتنفيذ لأنه ، في بيئة نشطة ، يتم تعديل متغير البيئة $ PATH بشكل طفيف.</span></p>
<p style="text-align: justify"><span style="font-family: arial, helvetica, sans-serif;font-size: 14pt">لاحظ الفرق بين المسار الأول في $ PATH قبل التنشيط وبعده:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> <span class="nb">echo</span> <span class="nv">$PATH</span>
<span class="go">/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:</span>

<span class="gp">$</span> <span class="nb">source</span> env/bin/activate
<span class="gp gp-VirtualEnv">(env)</span> <span class="gp">$</span> <span class="nb">echo</span> <span class="nv">$PATH</span>
<span class="go">/Users/michaelherman/python-virtual-environments/env/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:</span>
</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif"><br />
في المثال الأخير، أصبح دليل bin لبيئتنا الافتراضية الآن في بداية المسار. هذا يعني أنه أول دليل يتم البحث عنه عند تشغيل ملف تنفيذي في سطر الأوامر. وبالتالي ، تستخدم القشرة مثيل بيئتنا الافتراضية من Python بدلاً من الإصدار على مستوى النظام.</span></p>
<blockquote><p><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">ملاحظة: تميل الحزم الأخرى التي تجمع Python ، مثل Anaconda ، أيضًا إلى معالجة مسارك عند تنشيطها. فقط كن على علم بهذا في حالة مواجهة مشاكل مع بيئاتك الأخرى. يمكن أن يصبح هذا مشكلة إذا بدأت في تنشيط بيئات متعددة في وقت واحد.</span></p></blockquote>
<p style="text-align: justify"><span style="font-family: arial, helvetica, sans-serif;font-size: 14pt">وهذا يثير الأسئلة التالية:</span></p>
<ul style="text-align: justify">
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">ما هو الفرق بين هذين الملفين التنفيذيين على أي حال؟<br />
</span></li>
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt">كيف يمكن لبيثون القابل للتنفيذ في البيئة الافتراضية استخدام شيء آخر غير حزم مواقع النظام؟</span></span></li>
</ul>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">يمكن تفسير ذلك من خلال كيفية بدء تشغيل Python ومكان وجودها على النظام. في الواقع ، لا يوجد أي فرق بين هذين الملفين التنفيذيين في بايثون. إن ما يهم هو مواقع دليلهم.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt;font-family: arial, helvetica, sans-serif">عندما يبدأ Python ، فإنه ينظر إلى مسار ثنائي الخاص به. في بيئة افتراضية ، يكون الأمر في الواقع مجرد نسخة أو رابط رمزي من نظام Python الثنائي. ثم يقوم بتعيين موقع sys.prefix و sys.exec_prefix بناءً على هذا الموقع ، مع حذف جزء الحاوية من المسار.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt;font-family: arial, helvetica, sans-serif">ثم يتم استخدام المسار الموجود في sys.prefix لتحديد موقع دليل حزم الموقع من خلال البحث في المسار النسبي lib / pythonX.X / site -pack / ، حيث X.X هو إصدار Python الذي تستخدمه.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt;font-family: arial, helvetica, sans-serif">في مثالنا ، يوجد الملف الثنائي في / Users / michaelherman / python-virtual-environment / env / bin ، مما يعني أن sys.prefix سيكون / Users / michaelherman / python-virtual-environment / env ، وبالتالي حزم الموقع الدليل المستخدم سيكون /Users/michaelherman/python-virtual-environment/env/lib/pythonX.X/site-packages. أخيرًا ، يتم تخزين هذا المسار في مصفوفة sys.path ، والتي تحتوي على جميع المواقع التي يمكن أن تتواجد فيها الحزمة.</span></p>
<p style="text-align: justify"><span style="font-family: arial, helvetica, sans-serif"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt"><span style="font-size: 20pt"><strong>إدارة البيئات الافتراضية باستخدام </strong></span></span><span class="tlid-translation translation" lang="ar" style="font-size: 14pt"><span style="font-size: 20pt"><strong>virtualenvwrapper</strong></span></span></span></p>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">بينما تحل البيئات الافتراضية بالتأكيد بعض المشكلات الكبيرة في إدارة الحزم ، إلا أنها ليست مثالية. بعد إنشاء بعض البيئات ، ستبدأ في ملاحظة أنها تخلق بعض المشكلات الخاصة بها ، والتي يدور معظمها حول إدارة البيئات نفسها. للمساعدة في ذلك ، تم إنشاء أداة virtualenvwrapper. إنها مجرد بعض البرامج النصية المجمعة حول أداة virtualenv الرئيسية.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt">فيما يلي بعض الميزات الأكثر فائدة لبرنامج virtualenvwrapper:</span></p>
<ul style="text-align: justify">
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">ينظم جميع بيئاتك الافتراضية في مكان واحد<br />
</span></li>
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">يوفر طرقًا لمساعدتك في إنشاء البيئات وحذفها ونسخها بسهولة</span></li>
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">يوفر أمرًا واحدًا للتبديل بين البيئات</span></li>
</ul>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">بينما قد تبدو بعض هذه الميزات صغيرة أو غير مهمة ، ستعرف قريبًا أنها أدوات مهمة لإضافتها إلى سير عملك.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt">للبدء ، يمكنك تنزيل الغلاف بنقطة:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> pip install virtualenvwrapper</code></span></pre>
<blockquote><p><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">ملاحظة: بالنسبة لنظام التشغيل Windows ، يجب عليك استخدام virtualenvwrapper-win بدلاً من ذلك.</span></p></blockquote>
<p style="text-align: justify"><span style="font-size: 14pt">بمجرد تثبيته ، سنحتاج إلى تنشيط وظائف shell الخاصة به. يمكننا القيام بذلك عن طريق تشغيل المصدر على البرنامج النصي Virtualenvwrapper.sh المثبت. عند تثبيته لأول مرة باستخدام نقطة ، سيخبرك ناتج التثبيت بالموقع الدقيق لـ virtualenvwrapper.sh. أو يمكنك ببساطة تشغيل ما يلي:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> which virtualenvwrapper.sh
<span class="go">/usr/local/bin/virtualenvwrapper.sh</span>
</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif"><br />
باستخدام هذا المسار ، أضف الأسطر الثلاثة التالية إلى ملف بدء تشغيل shell الخاص بك. إذا كنت تستخدم Bash shell ، يمكنك وضع هذه الأسطر إما في ملف ~ / .bashrc أو في الملف ~ / .profile. بالنسبة للأصداف الأخرى ، مثل zsh أو csh أو fish ، ستحتاج إلى استخدام ملفات بدء التشغيل الخاصة بذلك shell. كل ما يهم هو أن هذه الأوامر يتم تنفيذها عند تسجيل الدخول أو فتح صدفة جديدة:<br />
</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="nb">export</span> <span class="nv">WORKON_HOME</span><span class="o">=</span><span class="nv">$HOME</span>/.virtualenvs   <span class="c1"># Optional</span>
<span class="nb">export</span> <span class="nv">PROJECT_HOME</span><span class="o">=</span><span class="nv">$HOME</span>/projects      <span class="c1"># Optional</span>
<span class="nb">source</span> /usr/local/bin/virtualenvwrapper.sh</code></span></pre>
<blockquote><p><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">ملاحظة: ليس مطلوبًا تحديد متغيرات بيئة WORKON_HOME و PROJECT_HOME. يحتوي virtualenvwrapper على قيم افتراضية لهؤلاء ، ولكن يمكنك تجاوزها عن طريق تحديد القيم.<br />
</span></p></blockquote>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">أخيرًا ، أعد تحميل ملف بدء التشغيل:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> <span class="nb">source</span> ~/.bashrc</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">يجب أن يكون هناك دليل موجود الآن على WORKON_HOME $ يحتوي على جميع بيانات / ملفات virtualenvwrapper:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> <span class="nb">echo</span> <span class="nv">$WORKON_HOME</span>
<span class="go">/Users/michaelherman/.virtualenvs</span>
</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">سيكون لديك الآن أيضًا أوامر shell متاحة لك لمساعدتك في إدارة البيئات. فيما يلي عدد قليل من الخيارات المتاحة:</span></p>
<ul style="text-align: justify">
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">يعمل على<br />
</span></li>
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">تعطيل<br />
</span></li>
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">مكفيرتولينف<br />
</span></li>
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">cdvirtualenv</span></li>
<li><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">rmvirtualenv</span></span></li>
</ul>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">لمزيد من المعلومات حول الأوامر والتثبيت وتكوين Virtualenvwrapper ، تحقق من الوثائق.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt">الآن ، في أي وقت تريد فيه بدء مشروع جديد ، عليك فقط القيام بذلك:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> mkvirtualenv my-new-project
<span class="gp gp-VirtualEnv">(my-new-project)</span> <span class="gp">$</span>
</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">سيؤدي هذا إلى إنشاء وتنشيط بيئة جديدة في الدليل الموجود في $ WORKON_HOME ، حيث يتم تخزين جميع بيئات Virtualenvwrapper.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt">للتوقف عن استخدام هذه البيئة ، ما عليك سوى إلغاء تنشيطها كما كان من قبل:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp gp-VirtualEnv">(my-new-project)</span> <span class="gp">$</span> deactivate
<span class="gp">$</span>
</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">إذا كان لديك العديد من البيئات للاختيار من بينها ، فيمكنك سردها جميعًا باستخدام وظيفة workon:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> workon
<span class="go">my-new-project</span>
<span class="go">my-django-project</span>
<span class="go">web-scraper</span>
</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">أخيرًا ، إليك كيفية التفعيل:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> workon web-scraper
<span class="gp gp-VirtualEnv">(web-scraper)</span> <span class="gp">$</span>
</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">إذا كنت ترغب في أن تكون قادرًا على استخدام أداة واحدة والتبديل بين إصدارات Python ، فسوف يسمح لك virtualenv بفعل ذلك. يحتوي virtualenv على معلمة -p تتيح لك تحديد إصدار Python الذي تريد استخدامه. قم بدمج ذلك مع أي أمر ، ويمكننا بسهولة تحديد نسختك المفضلة من Python لاستخدامها بطريقة بسيطة. على سبيل المثال ، لنفترض أننا نريد Python 3 كإصدار مفضل لدينا:</span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> virtualenv -p <span class="k">$(</span>which python3<span class="k">)</span> blog_virtualenv</code></span></pre>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif"><br />
سيؤدي ذلك إلى إنشاء بيئة Python 3 جديدة.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt">كيف يعمل هذا؟ الأمر الذي يتم استخدامه للبحث عن أمر معين في متغير $ PATH وإعادة المسار الكامل إلى هذا الأمر. لذلك ، تم إرجاع المسار الكامل إلى python3 ، إلى المعلمة -p التي تأخذ PYTHON_EXE. يمكن أيضًا استخدام هذا مع python2 أيضًا. فقط استبدل python3 بـ python2 (أو python إذا كان النظام افتراضيًا هو python2).</span></p>
<p style="text-align: justify"><span style="font-size: 14pt">الآن لست مضطرًا لتذكر مكان تثبيت بيئاتك. يمكنك حذفها أو نسخها بسهولة كما يحلو لك ، ويكون دليل مشروعك أقل تشوشًا!</span></p>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif"><strong><span style="font-size: 20pt">استخدام إصدارات مختلفة من بايثون</span></strong></span></p>
<p style="text-align: justify"><span style="font-size: 14pt">بخلاف أداة virtualenv القديمة ، لا تدعم pyvenv إنشاء بيئات بإصدارات عشوائية من Python ، مما يعني أنك عالق في استخدام تثبيت Python 3 الافتراضي لجميع البيئات التي تنشئها. بينما يمكنك ترقية بيئة إلى أحدث إصدار من نظام Python (عبر خيار &#8211;upgrade) ، إذا تغيرت ، فلا يزال يتعذر عليك تحديد إصدار معين.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt">توجد عدة طرق لتثبيت Python ، لكن القليل منها سهل أو مرن بدرجة كافية لإلغاء تثبيت إصدارات مختلفة من البرنامج الثنائي وإعادة تثبيتها.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt">هذا هو المكان الذي يأتي فيه pyenv للعب.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt">على الرغم من التشابه في الأسماء (pyvenv vs pyenv) ، فإن pyenv مختلفة من حيث أن تركيزها ينصب على مساعدتك في التبديل بين إصدارات Python على مستوى النظام وكذلك على مستوى المشروع. في حين أن الغرض من pyvenv هو فصل الوحدات النمطية ، فإن الغرض من pyenv هو فصل إصدارات Python.</span></p>
<p style="text-align: justify"><span style="font-size: 14pt">يمكنك البدء بتثبيت pyenv إما مع Homebrew (على OS X) أو مشروع pyenv-installer:</span></p>
<p style="text-align: justify"><span style="font-size: 14pt"><strong>البيرة</strong></span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> brew install pyenv</code></span></pre>
<p style="text-align: justify"><span style="font-family: arial, helvetica, sans-serif"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt"><br />
<strong>المثبت </strong></span><span class="tlid-translation translation" lang="ar" style="font-size: 14pt"><strong>pyenv</strong></span></span></p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer <span class="p">|</span> bash</code></span></pre>
<blockquote><p><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">ملاحظة: للأسف ، لا يدعم pyenv نظام التشغيل Windows. بعض البدائل التي يمكنك تجربتها هي pywin و anyenv.<br />
</span></p></blockquote>
<p style="text-align: justify"><span class="tlid-translation translation" lang="ar" style="font-size: 14pt;font-family: arial, helvetica, sans-serif">بمجرد أن يكون لديك pyenv على نظامك ، إليك بعض الأوامر الأساسية التي ربما تكون مهتمًا بها:</span></p>
<p>&nbsp;</p>
<pre><span style="font-family: arial, helvetica, sans-serif"><code><span class="gp">$</span> pyenv install <span class="m">3</span>.5.0   <span class="c1"># Install new version</span>
<span class="gp">$</span> pyenv versions        <span class="c1"># List installed versions</span>
<span class="gp">$</span> pyenv <span class="nb">exec</span> python -V  <span class="c1"># Execute 'python -V' using pyenv version</span>
</code></span>
<span class="tlid-translation translation" lang="ar" style="font-family: arial, helvetica, sans-serif"><span style="font-size: 14pt">
في هذه الأسطر القليلة ، نقوم بتثبيت الإصدار 3.5.0 من Python ، ونطلب من pyenv إظهار جميع الإصدارات المتاحة لنا ، 
ثم تنفيذ الأمر python -V باستخدام الإصدار المحدد من pyenv.</span> <span style="font-size: 14pt">لمنحك المزيد من التحكم ، 
يمكنك بعد ذلك استخدام أي من الإصدارات المتاحة للاستخدام "العام" أو الاستخدام "المحلي". 
يؤدي استخدام pyenv مع الأمر المحلي إلى تعيين إصدار Python لمشروع أو دليل معين عن طريق تخزين 
رقم الإصدار في ملف إصدار .python محلي. يمكننا تعيين الإصدار "المحلي" مثل هذا:</span> 

</span></pre>
<pre><code><span class="gp">$</span> pyenv <span class="nb">local</span> <span class="m">2</span>.7.11
</code><span class="tlid-translation translation" lang="ar" style="font-family: arial, helvetica, sans-serif">

<span style="font-size: 14pt">يؤدي هذا إلى إنشاء ملف .python-version في دليلنا الحالي ، كما ترى هنا:</span> 

</span></pre>
<pre><code><span class="gp">$</span> ls -la
<span class="go">total 16</span>
<span class="go">drwxr-xr-x  4 michaelherman  staff  136 Feb 22 10:57 .</span>
<span class="go">drwxr-xr-x  9 michaelherman  staff  306 Jan 27 20:55 ..</span>
<span class="go">-rw-r--r--  1 michaelherman  staff    7 Feb 22 10:57 .python-version</span>
<span class="go">-rw-r--r--  1 michaelherman  staff   52 Jan 28 17:20 main.py</span>
</code><span class="tlid-translation translation" lang="ar" style="font-family: arial, helvetica, sans-serif">
<span style="font-size: 14pt">يحتوي هذا الملف فقط على محتويات "2.7.11". الآن ، عند تنفيذ نص برمجي باستخدام pyenv ، 
فسيتم تحميل هذا الملف واستخدام الإصدار المحدد ، على افتراض أنه صالح وموجود على نظامك.</span> <span style="font-size: 14pt">بالانتقال إلى مثالنا ، 
لنفترض أن لدينا نصًا برمجيًا بسيطًا يسمى main.py في دليل المشروع يبدو كالتالي:</span> 

</span></pre>
<pre><code><span class="kn">import</span> <span class="nn">sys</span>
<span class="nb">print</span><span class="p">(</span><span class="s1">'Using version:'</span><span class="p">,</span> <span class="n">sys</span><span class="o">.</span><span class="n">version</span><span class="p">[:</span><span class="mi">5</span><span class="p">])</span>
</code></pre>
<pre><span class="tlid-translation translation" lang="ar" style="font-family: arial, helvetica, sans-serif"><span style="font-size: 14pt">
كل ما يفعله هو طباعة رقم إصدار ملف Python القابل للتنفيذ المستخدم. باستخدام pyenv والأمر exec ، 
يمكننا تشغيل البرنامج النصي بأي من إصدارات Python المختلفة التي قمنا بتثبيتها.</span>
</span></pre>
<pre><code><span class="gp">$</span> python main.py
<span class="go">Using version: 2.7.5</span>
<span class="gp">$</span> pyenv global <span class="m">3</span>.5.0
<span class="gp">$</span> pyenv <span class="nb">exec</span> python main.py
<span class="go">Using version: 3.5.0</span>
<span class="gp">$</span> pyenv <span class="nb">local</span> <span class="m">2</span>.7.11
<span class="gp">$</span> pyenv <span class="nb">exec</span> python main.py
<span class="go">Using version: 2.7.11</span>
</code></pre>
<pre><span class="tlid-translation translation" lang="ar" style="font-family: arial, helvetica, sans-serif"><span style="font-size: 14pt">
لاحظ كيف يستخدم pyenv exec python main.py إصدار Python "العالمي" افتراضيًا ، 
ولكنه يستخدم الإصدار "المحلي" بعد تعيينه للدليل الحالي.</span>

<span style="font-size: 14pt">يمكن أن يكون هذا قويًا جدًا للمطورين الذين لديهم الكثير من المشاريع بمتطلبات إصدار مختلفة. 
لا يمكنك فقط تغيير الإصدار الافتراضي بسهولة لجميع المشاريع (عبر العمومية) ، ولكن يمكنك أيضًا تجاوزه لتحديد الحالات الخاصة.</span>
<span style="font-size: 14pt">
<strong><span style="font-size: 20pt">خاتمة</span></strong></span>

<span style="font-size: 14pt">في هذه المقالة ، تعرفت ليس فقط على كيفية تخزين تبعيات Python وحلها ، 
ولكن أيضًا كيف يمكنك استخدام أدوات المجتمع المختلفة للمساعدة في التغلب على مشاكل التعبئة والإصدار المختلفة.</span>

<span style="font-size: 14pt">كما ترى ، بفضل مجتمع Python الضخم ، هناك عدد غير قليل من الأدوات المتاحة لك للمساعدة 
في حل هذه المشكلات الشائعة. أثناء تقدمك كمطور ، تأكد من قضاء بعض الوقت في تعلم كيفية استخدام هذه الأدوات لصالحك. 
قد تجد حتى استخدامات غير مقصودة لهم أو تتعلم تطبيق مفاهيم مماثلة على اللغات الأخرى التي تستخدمها.</span></span></pre>
<p>The post <a rel="nofollow" href="https://arabdars.com/%d8%a8%d9%8a%d8%a6%d8%a7%d8%aa-python-%d8%a7%d9%84%d8%a7%d9%81%d8%aa%d8%b1%d8%a7%d8%b6%d9%8a%d8%a9-%d9%83%d8%aa%d8%a7%d8%a8-%d8%aa%d9%85%d9%87%d9%8a%d8%af%d9%8a/">بيئات Python الافتراضية: كتاب تمهيدي</a> appeared first on <a rel="nofollow" href="https://arabdars.com">فيلم تعلم البرمجيات للطالب العربي</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>تم إزالة الغموض عن طرق المثيل والفئة والثابت في Python</title>
		<link>https://arabdars.com/%d8%aa%d9%85-%d8%a5%d8%b2%d8%a7%d9%84%d8%a9-%d8%a7%d9%84%d8%ba%d9%85%d9%88%d8%b6-%d8%b9%d9%86-%d8%b7%d8%b1%d9%82-%d8%a7%d9%84%d9%85%d8%ab%d9%8a%d9%84-%d9%88%d8%a7%d9%84%d9%81%d8%a6%d8%a9-%d9%88%d8%a7/</link>
		
		<dc:creator><![CDATA[Arab Dars]]></dc:creator>
		<pubDate>Wed, 09 Sep 2020 17:47:19 +0000</pubDate>
				<category><![CDATA[بيثون python]]></category>
		<guid isPermaLink="false">https://arabdars.com/?p=1573</guid>

					<description><![CDATA[<p>في هذا البرنامج التعليمي سوف تساعد إزالة الغموض ما وراء أساليب الفئة ، أساليب ثابتة ومنتظمة مثيل أساليب . إذا طورت فهمًا بديهيًا لاختلافاتهم ، فستتمكن من كتابة Python الموجهة للكائنات والتي تنقل نواياها بشكل أكثر وضوحًا وستكون أسهل في الحفاظ عليها على المدى الطويل. &#160; طرق المثيل والفئة والثابتة &#8211; نظرة عامة # لنبدأ [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://arabdars.com/%d8%aa%d9%85-%d8%a5%d8%b2%d8%a7%d9%84%d8%a9-%d8%a7%d9%84%d8%ba%d9%85%d9%88%d8%b6-%d8%b9%d9%86-%d8%b7%d8%b1%d9%82-%d8%a7%d9%84%d9%85%d8%ab%d9%8a%d9%84-%d9%88%d8%a7%d9%84%d9%81%d8%a6%d8%a9-%d9%88%d8%a7/">تم إزالة الغموض عن طرق المثيل والفئة والثابت في Python</a> appeared first on <a rel="nofollow" href="https://arabdars.com">فيلم تعلم البرمجيات للطالب العربي</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;"><span style="font-size: 16pt;">في هذا البرنامج التعليمي سوف تساعد إزالة الغموض ما وراء أساليب الفئة ، أساليب ثابتة ومنتظمة مثيل أساليب .</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">إذا طورت فهمًا بديهيًا لاختلافاتهم ، فستتمكن من كتابة Python الموجهة للكائنات والتي تنقل نواياها بشكل أكثر وضوحًا وستكون أسهل في الحفاظ عليها على المدى الطويل.</span></p>
<p>&nbsp;</p>
<h2>طرق المثيل والفئة والثابتة &#8211; نظرة عامة #</h2>
<p><span style="font-size: 16pt;">لنبدأ بكتابة فئة (Python 3) تحتوي على أمثلة بسيطة لجميع أنواع الطرق الثلاثة:</span></p>
<p>&nbsp;</p>
<p><code>class MyClass:</code><br />
<code>def method(self):</code><br />
<code>return 'instance method called', self</code></p>
<p><code>@classmethod</code><br />
<code>def classmethod(cls):</code><br />
<code>return 'class method called', cls</code></p>
<p><code>@staticmethod</code><br />
<code>def staticmethod():</code><br />
<code>return 'static method called'</code></p>
<p>&nbsp;</p>
<h2>طرق المثيل #</h2>
<p style="text-align: justify;"><span style="font-size: 16pt;">الطريقة الأولى في MyClass، تسمى method، هي طريقة مثيل عادية . هذا هو نوع الطريقة الأساسية الخالية من الرتوش التي ستستخدمها معظم الوقت. يمكنك أن ترى أن الطريقة تأخذ معلمة واحدة self، مما يشير إلى مثيل MyClassعندما يتم استدعاء الطريقة (ولكن بالطبع يمكن أن تقبل طرق المثيل أكثر من معامل واحد).</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">من خلال selfالمعلمة ، يمكن لأساليب المثيل الوصول بحرية إلى السمات والطرق الأخرى على نفس الكائن. يمنحهم هذا الكثير من القوة عندما يتعلق الأمر بتعديل حالة الكائن.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">لا يمكنهم فقط تعديل حالة الكائن ، بل يمكن أيضًا أن تصل طرق المثيل إلى الفئة نفسها من خلال self.__class__السمة. هذا يعني أن طرق المثيل يمكنها أيضًا تعديل حالة الفئة.</span></p>
<p>&nbsp;</p>
<h2>طرق الفصل #</h2>
<p style="text-align: justify;"><span style="font-size: 16pt;">دعنا نقارن ذلك بالطريقة الثانية ، MyClass.classmethod. لقد قمت بتمييز هذه الطريقة @classmethodبمصمم لتعليمها كطريقة فصل .</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">بدلاً من قبول selfمعلمة ، تأخذ طرق الفئة clsمعلمة تشير إلى الفئة &#8211; وليس مثيل الكائن &#8211; عند استدعاء الطريقة.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">نظرًا لأن طريقة الفئة لديها حق الوصول إلى هذه clsالوسيطة فقط ، فلا يمكنها تعديل حالة مثيل الكائن. سيتطلب ذلك الوصول إلى self. ومع ذلك ، لا يزال بإمكان طرق الفئة تعديل حالة الفئة التي يتم تطبيقها عبر جميع مثيلات الفئة.</span></p>
<p>&nbsp;</p>
<h2>طرق ثابتة</h2>
<p style="text-align: justify;"><span style="font-size: 16pt;">الطريقة الثالثة ، MyClass.staticmethodتم تمييزها @staticmethodبمصمم لتعليمها على أنها طريقة ثابتة .</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">لا يأخذ هذا النوع من الطريقة أي معلمة selfأو clsمعلمة (ولكن بالطبع يمكنك قبول عدد عشوائي من المعلمات الأخرى).</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">لذلك لا يمكن للطريقة الثابتة تعديل حالة الكائن أو حالة الفئة. الطرق الثابتة مقيدة بالبيانات التي يمكنهم الوصول إليها &#8211; وهي في الأساس طريقة لمساحة الأسماء الخاصة بك.</span></p>
<p>&nbsp;</p>
<h2>دعونا نراهم في العمل! #</h2>
<p style="text-align: justify;"><span style="font-size: 16pt;">أعلم أن هذه المناقشة كانت نظرية إلى حد ما حتى هذه النقطة. وأعتقد أنه من المهم أن تطور فهمًا بديهيًا لكيفية اختلاف أنواع الأساليب هذه في الممارسة. سنستعرض بعض الأمثلة الملموسة الآن.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">دعنا نلقي نظرة على كيفية عمل هذه الطرق عندما نسميها. سنبدأ بإنشاء مثيل للفصل ثم استدعاء الطرق الثلاثة المختلفة عليه.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">MyClass تم إعداده بطريقة تجعل تنفيذ كل طريقة يعيد مجموعة تحتوي على معلومات لنا لتتبع ما يحدث &#8211; وأجزاء الفئة أو العنصر الذي يمكن للطريقة الوصول إليه.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">إليك ما يحدث عندما نسمي طريقة المثيل :</span></p>
<p><code>&gt;&gt;&gt; obj = MyClass()</code><br />
<code>&gt;&gt;&gt; obj.method()</code><br />
<code>('instance method called', )</code></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">أكد هذا أن method(طريقة المثيل) لديها حق الوصول إلى مثيل الكائن (مطبوع كـ ) عبر selfالوسيطة.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">عندما يتم استدعاء الطريقة ، تستبدل Python selfالوسيطة بكائن المثيل obj. يمكننا تجاهل السكر النحوي لبناء جملة dot-call ( obj.method()) وتمرير كائن المثيل يدويًا للحصول على نفس النتيجة:</span></p>
<p><code>&gt;&gt;&gt; MyClass.method(obj)</code><br />
<code>('instance method called', )</code></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">هل يمكنك تخمين ما سيحدث إذا حاولت استدعاء الطريقة دون إنشاء مثيل أولاً؟</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">بالمناسبة ، يمكن لطرق المثال أيضًا الوصول إلى الفئة نفسها من خلال self.__class__السمة. وهذا يجعل مثيل أساليب قوية من حيث القيود المفروضة على الوصول &#8211; يمكن تعديل حالة على مثيل كائن و في الفئة نفسها.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">لنجرب طريقة الفصل بعد ذلك:</span></p>
<p><code>&gt;&gt;&gt; obj.classmethod()</code><br />
<code>('class method called', )</code></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">classmethod()أظهر لنا الاتصال أنه ليس لديه وصول إلى الكائن ، ولكن فقط إلى الكائن ، الذي يمثل الفئة نفسها (كل شيء في Python هو كائن ، حتى الفئات نفسها)</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">لاحظ كيف تمرر Python الفئة تلقائيًا كأول وسيطة إلى الوظيفة عندما نستدعيها MyClass.classmethod(). استدعاء طريقة في بايثون من خلال بناء الجملة النقطي يؤدي إلى هذا السلوك. تعمل selfالمعلمة في طرق المثيل بنفس الطريقة.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">يرجى ملاحظة أن تسمية هذه المعايير selfو clsهو مجرد الاتفاقية. هل يمكن بسهولة مثلما تسميتها the_objectو the_classوالحصول على نفس النتيجة. كل ما يهم هو وضعهم أولاً في قائمة المعلمات للطريقة.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">حان الوقت لاستدعاء الطريقة الثابتة الآن:</span></p>
<p><code>&gt;&gt;&gt; obj.staticmethod()</code><br />
<code>'static method called'</code></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">هل رأيت كيف استدعينا staticmethod()الكائن وتمكنا من القيام بذلك بنجاح؟ يتفاجأ بعض المطورين عندما يعلمون أنه من الممكن استدعاء طريقة ثابتة على مثيل كائن.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">وراء الكواليس ، تقوم Python ببساطة بفرض قيود الوصول من خلال عدم تمرير selfأو clsالوسيطة عند استدعاء طريقة ثابتة باستخدام بناء الجملة.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">هذا يؤكد أن الأساليب الثابتة لا يمكنها الوصول إلى حالة مثيل الكائن ولا حالة الفئة. إنها تعمل مثل الوظائف العادية ولكنها تنتمي إلى مساحة اسم الفصل (وكل مثيل).</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">الآن ، دعنا نلقي نظرة على ما يحدث عندما نحاول استدعاء هذه العمليات في الفصل نفسه &#8211; دون إنشاء مثيل كائن مسبقًا:</span></p>
<p><code>&gt;&gt;&gt; MyClass.classmethod()</code><br />
<code>('class method called', )</code></p>
<p><code>&gt;&gt;&gt; MyClass.staticmethod()</code><br />
<code>'static method called'</code></p>
<p><code>&gt;&gt;&gt; MyClass.method()</code><br />
<code>TypeError: unbound method method() must</code><br />
<code>be called with MyClass instance as first</code><br />
<code>argument (got nothing instead)</code></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">تمكنا من الاتصال classmethod()وعلى staticmethod()ما يرام ، لكن محاولة استدعاء طريقة المثيل method()فشلت مع TypeError.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">وهذا أمر متوقع &#8211; هذه المرة لم نقم بإنشاء مثيل كائن وحاولنا استدعاء دالة مثيل مباشرة على مخطط الفصل نفسه. هذا يعني أنه لا توجد طريقة لبايثون لملء selfالوسيطة وبالتالي فشل الاستدعاء.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">يجب أن يجعل هذا التمييز بين أنواع الطرق الثلاثة هذه أكثر وضوحًا. لكنني لن أترك الأمر عند هذا الحد. في القسمين التاليين ، سأستعرض مثالين أكثر واقعية إلى حد ما حول وقت استخدام هذه الأنواع الخاصة من الأساليب.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">سأبني الأمثلة الخاصة بي حول Pizzaفئة العظام المجردة:</span></p>
<p><code>class Pizza:</code><br />
<code>def __init__(self, ingredients):</code><br />
<code>self.ingredients = ingredients</code></p>
<p><code>def __repr__(self):</code><br />
<code>return f'Pizza({self.ingredients!r})'</code></p>
<p>و</p>
<p><code>&gt;&gt;&gt; Pizza(['cheese', 'tomatoes'])</code><br />
<code>Pizza(['cheese', 'tomatoes'])</code></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">ملاحظة: هذا المثال من الكود والمثال الآخر في البرنامج التعليمي يستخدم Python 3.6 f-strings لبناء السلسلة التي تم إرجاعها بواسطة __repr__. في Python 2 وإصدارات Python 3 قبل 3.6 ، ستستخدم تعبير تنسيق سلسلة مختلف ، على سبيل المثال:</span></p>
<p><code>def __repr__(self):</code><br />
<code>return 'Pizza(%r)' % self.ingredients</code></p>
<h2>مصانع البيتزا اللذيذة بـ @classmethod#</h2>
<p><span style="font-size: 16pt;">إذا كنت قد تعرضت للبيتزا في العالم الحقيقي ، فستعرف أن هناك العديد من الأشكال اللذيذة المتاحة:</span></p>
<p><code>Pizza(['mozzarella', 'tomatoes'])</code><br />
<code>Pizza(['mozzarella', 'tomatoes', 'ham', 'mushrooms'])</code><br />
<code>Pizza(['mozzarella'] * 4)</code></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">اكتشف الإيطاليون تصنيفهم للبيتزا منذ قرون ، ولذا فإن هذه الأنواع اللذيذة من البيتزا لها أسماء خاصة بها. من Pizzaالأفضل أن نستفيد من ذلك ونمنح مستخدمي صفنا واجهة أفضل لإنشاء كائنات البيتزا التي يتوقون إليها.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">هناك طريقة لطيفة ونظيفة للقيام بذلك وهي استخدام طرق الفصل كوظائف المصنع لأنواع البيتزا المختلفة التي يمكننا إنشاؤها:</span></p>
<p><code>class Pizza:</code><br />
<code>def __init__(self, ingredients):</code><br />
<code>self.ingredients = ingredients</code></p>
<p><code>def __repr__(self):</code><br />
<code>return f'Pizza({self.ingredients!r})'</code></p>
<p><code>@classmethod</code><br />
<code>def margherita(cls):</code><br />
<code>return cls(['mozzarella', 'tomatoes'])</code></p>
<p><code>@classmethod</code><br />
<code>def prosciutto(cls):</code><br />
<code>return cls(['mozzarella', 'tomatoes', 'ham'])</code></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">لاحظ كيف أستخدم clsالوسيطة في التابعين margheritaو prosciuttofactory بدلاً من استدعاء Pizzaالمُنشئ مباشرةً.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">هذه خدعة يمكنك استخدامها لاتباع مبدأ عدم تكرار نفسك (جاف) . إذا قررنا إعادة تسمية هذه الفئة في وقت ما ، فلن نضطر إلى تذكر تحديث اسم المُنشئ في جميع وظائف مصنع أسلوب الفصل.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">الآن ، ماذا يمكننا أن نفعل بأساليب المصنع هذه؟ دعنا نجربهم:</span></p>
<p><code>&gt;&gt;&gt; Pizza.margherita()</code><br />
<code>Pizza(['mozzarella', 'tomatoes'])</code></p>
<p><code>&gt;&gt;&gt; Pizza.prosciutto()</code><br />
<code>Pizza(['mozzarella', 'tomatoes', 'ham'])</code></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">كما ترى ، يمكننا استخدام وظائف المصنع لإنشاء Pizzaكائنات جديدة يتم تكوينها بالطريقة التي نريدها. يستخدمون جميعًا نفس __init__المُنشئ داخليًا ويوفرون ببساطة اختصارًا لتذكر جميع المكونات المختلفة.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">هناك طريقة أخرى للنظر إلى هذا الاستخدام لطرق الفصل وهي أنها تسمح لك بتحديد منشئات بديلة لفئاتك.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">تسمح Python __init__بطريقة واحدة فقط لكل فئة. باستخدام طرق الفصل ، من الممكن إضافة أكبر عدد ممكن من المنشئات البديلة حسب الضرورة. يمكن أن يجعل هذا واجهة فصولك ذاتية التوثيق (إلى حد ما) وتبسيط استخدامها.</span></p>
<h2>متى يجب استخدام الأساليب الثابتة #</h2>
<p><span style="font-size: 16pt;">من الأصعب قليلًا التوصل إلى مثال جيد هنا. لكن أخبرك بماذا ، سأستمر في تمديد تشبيه البيتزا أرق وأرق &#8230; (لذيذ!)</span></p>
<p><span style="font-size: 16pt;">هذا ما توصلت إليه:</span></p>
<p><code>import math</code></p>
<p><code>class Pizza:</code><br />
<code>def __init__(self, radius, ingredients):</code><br />
<code>self.radius = radius</code><br />
<code>self.ingredients = ingredients</code></p>
<p><code>def __repr__(self):</code><br />
<code>return (f'Pizza({self.radius!r}, '</code><br />
<code>f'{self.ingredients!r})')</code></p>
<p><code>def area(self):</code><br />
<code>return self.circle_area(self.radius)</code></p>
<p><code>@staticmethod</code><br />
<code>def circle_area(r):</code><br />
<code>return r ** 2 * math.pi</code></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">الآن ماذا تغيرت هنا؟ أولاً ، قمت بتعديل المُنشئ __repr__وأقبل radiusوسيطة إضافية .</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">لقد أضفت أيضًا area()طريقة مثيل تحسب وتعيد منطقة البيتزا (سيكون هذا أيضًا مرشحًا جيدًا لـ @property- ولكن مهلا ، هذا مجرد مثال على لعبة).</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">فبدلاً من حساب المساحة الواقعة داخل area()الدائرة مباشرةً ، باستخدام صيغة منطقة الدائرة المعروفة ، قمت بحساب ذلك إلى circle_area()طريقة ثابتة منفصلة .</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">لنجربها!</span></p>
<p><code>&gt;&gt;&gt; p = Pizza(4, ['mozzarella', 'tomatoes'])</code><br />
<code>&gt;&gt;&gt; p</code><br />
<code>Pizza(4, ['mozzarella', 'tomatoes'])</code><br />
<code>&gt;&gt;&gt; p.area()</code><br />
<code>50.26548245743669</code><br />
<code>&gt;&gt;&gt; Pizza.circle_area(4)</code><br />
<code>50.26548245743669</code></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">بالتأكيد ، هذا مثال بسيط بعض الشيء ، لكنه سيساعد في شرح بعض الفوائد التي توفرها الأساليب الثابتة.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">كما تعلمنا ، لا يمكن للطرق الثابتة الوصول إلى فئة أو حالة مثيل لأنها لا تأخذ حجة clsأو selfحجة. هذا قيد كبير &#8211; ولكنه أيضًا إشارة رائعة لإظهار أن طريقة معينة مستقلة عن كل شيء آخر حولها.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">في المثال أعلاه ، من الواضح أنه circle_area()لا يمكن تعديل الفئة أو مثيل الفصل بأي شكل من الأشكال. (بالتأكيد ، يمكنك دائمًا التغلب على ذلك باستخدام متغير عام ولكن هذا ليس هو الهدف هنا.)</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">الآن ، لماذا هذا مفيد؟</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">إن وضع علامة على طريقة كطريقة ثابتة ليس مجرد تلميح إلى أن الطريقة لن تعدل الفئة أو حالة المثيل &#8211; يتم فرض هذا التقييد أيضًا بواسطة وقت تشغيل Python.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">تسمح لك مثل هذه التقنيات بالتواصل بوضوح حول أجزاء من العمارة الصفية الخاصة بك بحيث يتم توجيه أعمال التطوير الجديدة بشكل طبيعي داخل هذه الحدود الموضوعة. بالطبع ، سيكون من السهل تحدي هذه القيود. لكن في الممارسة العملية ، غالبًا ما يساعدون في تجنب التعديلات العرضية التي تتعارض مع التصميم الأصلي.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">بعبارة أخرى ، فإن استخدام الأساليب الثابتة وطرق الفصل هي طرق لإيصال نية المطور مع فرض هذه النية بما يكفي لتجنب معظم أخطاء العقل والأخطاء التي قد تفسد التصميم.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">تُطبق باعتدال وعندما يكون ذلك منطقيًا ، فإن كتابة بعض الأساليب الخاصة بك بهذه الطريقة يمكن أن توفر فوائد الصيانة وتقليل احتمالية استخدام المطورين الآخرين للفصول الدراسية الخاصة بك بشكل غير صحيح.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">تتمتع الطرق الثابتة أيضًا بفوائد عندما يتعلق الأمر بكتابة كود الاختبار.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">نظرًا لأن circle_area()الطريقة مستقلة تمامًا عن بقية الفصل ، فمن الأسهل اختبارها.</span></p>
<p style="text-align: justify;"><span style="font-size: 16pt;">لا داعي للقلق بشأن إعداد مثيل فئة كامل قبل أن نتمكن من اختبار الطريقة في اختبار الوحدة. يمكننا إطلاق النار بعيدًا مثلما نختبر وظيفة عادية. مرة أخرى ، هذا يجعل الصيانة المستقبلية أسهل.</span></p>
<h3>الوجبات الجاهزة الرئيسية</h3>
<p><span style="font-size: 16pt;">تحتاج طرق المثيل إلى مثيل فئة ويمكن الوصول إلى المثيل من خلال self.</span><br />
<span style="font-size: 16pt;">لا تحتاج طرق الفصل إلى مثيل فئة. لا يمكنهم الوصول إلى المثيل ( self) لكن يمكنهم الوصول إلى الفصل نفسه عبر cls.</span><br />
<span style="font-size: 16pt;">الأساليب الثابتة لا يمكنها الوصول إلى clsأو self. إنها تعمل مثل الوظائف العادية ولكنها تنتمي إلى مساحة اسم الفصل.</span><br />
<span style="font-size: 16pt;">تتواصل الطرق الثابتة والطبقية (إلى حد ما) وتفرض نية المطور حول تصميم الفصل. يمكن أن يكون لهذا فوائد الصيانة.</span></p>
<p>The post <a rel="nofollow" href="https://arabdars.com/%d8%aa%d9%85-%d8%a5%d8%b2%d8%a7%d9%84%d8%a9-%d8%a7%d9%84%d8%ba%d9%85%d9%88%d8%b6-%d8%b9%d9%86-%d8%b7%d8%b1%d9%82-%d8%a7%d9%84%d9%85%d8%ab%d9%8a%d9%84-%d9%88%d8%a7%d9%84%d9%81%d8%a6%d8%a9-%d9%88%d8%a7/">تم إزالة الغموض عن طرق المثيل والفئة والثابت في Python</a> appeared first on <a rel="nofollow" href="https://arabdars.com">فيلم تعلم البرمجيات للطالب العربي</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>الحوسبة الفائقة والبرمجة العلمية MPI4PY NumPy  و SciPy</title>
		<link>https://arabdars.com/%d8%a7%d9%84%d8%ad%d9%88%d8%b3%d8%a8%d8%a9-%d8%a7%d9%84%d9%81%d8%a7%d8%a6%d9%82%d8%a9-%d9%88%d8%a7%d9%84%d8%a8%d8%b1%d9%85%d8%ac%d8%a9-%d8%a7%d9%84%d8%b9%d9%84%d9%85%d9%8a%d8%a9-mpi4py-numpy-%d9%88-s/</link>
		
		<dc:creator><![CDATA[Arab Dars]]></dc:creator>
		<pubDate>Mon, 11 Sep 2017 18:41:39 +0000</pubDate>
				<category><![CDATA[بيثون python]]></category>
		<guid isPermaLink="false">https://arabdars.com/?p=841</guid>

					<description><![CDATA[<p>رابط التحميل</p>
<p>The post <a rel="nofollow" href="https://arabdars.com/%d8%a7%d9%84%d8%ad%d9%88%d8%b3%d8%a8%d8%a9-%d8%a7%d9%84%d9%81%d8%a7%d8%a6%d9%82%d8%a9-%d9%88%d8%a7%d9%84%d8%a8%d8%b1%d9%85%d8%ac%d8%a9-%d8%a7%d9%84%d8%b9%d9%84%d9%85%d9%8a%d8%a9-mpi4py-numpy-%d9%88-s/">الحوسبة الفائقة والبرمجة العلمية MPI4PY NumPy  و SciPy</a> appeared first on <a rel="nofollow" href="https://arabdars.com">فيلم تعلم البرمجيات للطالب العربي</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: center;"><span style="font-size: 48pt;"><a href="https://www.apress.com/la/book/9781484228777" target="_blank">رابط التحميل</a></span></p>
<p>The post <a rel="nofollow" href="https://arabdars.com/%d8%a7%d9%84%d8%ad%d9%88%d8%b3%d8%a8%d8%a9-%d8%a7%d9%84%d9%81%d8%a7%d8%a6%d9%82%d8%a9-%d9%88%d8%a7%d9%84%d8%a8%d8%b1%d9%85%d8%ac%d8%a9-%d8%a7%d9%84%d8%b9%d9%84%d9%85%d9%8a%d8%a9-mpi4py-numpy-%d9%88-s/">الحوسبة الفائقة والبرمجة العلمية MPI4PY NumPy  و SciPy</a> appeared first on <a rel="nofollow" href="https://arabdars.com">فيلم تعلم البرمجيات للطالب العربي</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>بيثون البرمجة: دليل في العمق في أساسيات البرمجة بيثون</title>
		<link>https://arabdars.com/%d8%a8%d9%8a%d8%ab%d9%88%d9%86-%d8%a7%d9%84%d8%a8%d8%b1%d9%85%d8%ac%d8%a9-%d8%af%d9%84%d9%8a%d9%84-%d9%81%d9%8a-%d8%a7%d9%84%d8%b9%d9%85%d9%82-%d9%81%d9%8a-%d8%a3%d8%b3%d8%a7%d8%b3%d9%8a%d8%a7%d8%aa/</link>
		
		<dc:creator><![CDATA[Arab Dars]]></dc:creator>
		<pubDate>Mon, 11 Sep 2017 18:39:49 +0000</pubDate>
				<category><![CDATA[بيثون python]]></category>
		<guid isPermaLink="false">https://arabdars.com/?p=839</guid>

					<description><![CDATA[<p>رابط التحميل</p>
<p>The post <a rel="nofollow" href="https://arabdars.com/%d8%a8%d9%8a%d8%ab%d9%88%d9%86-%d8%a7%d9%84%d8%a8%d8%b1%d9%85%d8%ac%d8%a9-%d8%af%d9%84%d9%8a%d9%84-%d9%81%d9%8a-%d8%a7%d9%84%d8%b9%d9%85%d9%82-%d9%81%d9%8a-%d8%a3%d8%b3%d8%a7%d8%b3%d9%8a%d8%a7%d8%aa/">بيثون البرمجة: دليل في العمق في أساسيات البرمجة بيثون</a> appeared first on <a rel="nofollow" href="https://arabdars.com">فيلم تعلم البرمجيات للطالب العربي</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: center;"><span style="font-size: 48pt;"><a href="http://www.aioptify.com/top-python-programming-books.php" target="_blank">رابط التحميل</a></span></p>
<p>The post <a rel="nofollow" href="https://arabdars.com/%d8%a8%d9%8a%d8%ab%d9%88%d9%86-%d8%a7%d9%84%d8%a8%d8%b1%d9%85%d8%ac%d8%a9-%d8%af%d9%84%d9%8a%d9%84-%d9%81%d9%8a-%d8%a7%d9%84%d8%b9%d9%85%d9%82-%d9%81%d9%8a-%d8%a3%d8%b3%d8%a7%d8%b3%d9%8a%d8%a7%d8%aa/">بيثون البرمجة: دليل في العمق في أساسيات البرمجة بيثون</a> appeared first on <a rel="nofollow" href="https://arabdars.com">فيلم تعلم البرمجيات للطالب العربي</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
