مرحبًا بعودتك.
سننفق الآن جزءًا كبيرًا من هذه الدورة التدريبية في بناء بعض المشاريع واستخدام بعض
وحدات Python المدمجة ، بالإضافة إلى استخدام بعض مكتبات الطرف الثالث الشهيرة من فهرس حزم Python.
ومع ذلك ، أردت فقط أن أعرض عليك مقطع فيديو سريعًا عن بعض الوحدات المفيدة التي أحبها
شخصيًا في الوحدات المدمجة التي لدينا من Python.
وبعض هذه الوحدات المفيدة حقًا تسمح لنا بالحصول على المزيد من أنواع البيانات في بايثون.
تذكر هذه القائمة في بداية الدورة حيث تحدثت عن أنواع البيانات التي تأتي
مع Python ، ثم تعلمنا عن الفئات وكيف يمكننا إنشاء أنواع البيانات الخاصة بنا ، كائناتنا الخاصة
في Python.
لكن لدينا أيضًا أنواع البيانات المتخصصة هذه التي تأتي مدمجة جيدًا في مكتبة Python القياسية
، وهي رائعة حقًا.
وهذا يمكن أن يجعل برامجنا قوية حقًا.
الآن هم متخصصون لأنك لن تراهم في كل مكان ، لكن من الجيد أن تعرف أنهم
موجودون.
وسأقوم باستعراض بعض الأشياء المفضلة لدي.
أول ما سأعرضه عليكم هو وحدة التجميع.
لذا فإن وحدة التجميع هي من التجميع أو المجموعات.
وهناك ثلاثة أشياء أحبها حقًا هنا.
سأقول استيراد ، سأستورد العداد ، القاموس الافتراضي ، ثم القاموس
المرتب.
لاحظ الآن كيف أن بعضها عبارة عن فئات لأنها أحرف كبيرة.
ويبدو أن البعض منهم مجرد وظيفة.
ويمكنك قراءة وحدة المجموعات من خلال التمرير من خلال هنا والنظر فقط إلى المجموعات ويمكنك
رؤية كل المجموعات التي لدينا.
لذلك في هذه المجموعات ، لنبدأ بالمجموعة الأولى.
العداد مفيد للغاية.
لنفترض أن لدي قائمة تحتوي على واحد ، اثنان ، ثلاثة ، أربعة ، خمسة ، ستة ، سبعة وأريد حساب عدد
العناصر في القائمة إذا قمت بعمل عداد طباعة.
يمكنك أن ترى هنا ما الذي تفعله.
لكن بشكل أساسي ، إذا أعطيته قائمة وانقر فوق تشغيل.
حسنا.
ماذا حدث هنا للتو؟
يقوم بإنشاء قاموس حيث يكون لدى المرء واحد ، اثنان لديه واحد ، ثلاثة لديه واحد.
همم.
ماذا لو أضفنا سبعة أخرى هنا؟
لنفترض سبعة.
إذا قمت بالنقر فوق تشغيل.
هل رأيت ذلك؟
للسبعة الآن اثنان.
لذا فإن ما يفعله هو إنشاء قاموس يتتبع عدد المرات التي حدث فيها عنصر في مادة متكررة.
لذا فإن السبعة حدثت مرتين.
إذن ، سبعة لها قيمة اثنين.
هناك طريقة أخرى لاستخدامها وهي لنقل أن لدينا جملة ونقول في الجملة ، أريد التحقق منها.
حسنًا ، دعنا نكتب شيئًا ما.
سأقول كذا وكذا وكذا.
التفكير في بايثون.
إذا كنت سأقوم بإجراء عداد هنا ودعنا نقول أعطه جملة إذا قمت بالنقر فوق تشغيل.
تحقق من ذلك.
أرى أي حرف حدث أكثر.
في حالتنا ، حدث h خمس مرات ، وحدث الفضاء خمس مرات ، ثم حدث B أربع مرات.
وهذا حقًا رائع حقًا.
لأن هذا النوع من حساب العداد لتحويل عنصر مثل قائمة إلى ما نسميه خريطة التجزئة أو قاموس
مثل هذا للاحتفاظ بالعد هو في الواقع وظيفة مفيدة للغاية تراها في جميع أنحاء البرمجة.
إنه في الواقع يساعد كثيرًا في مشاكل التحسين.
الآن ، لن ندخله هناك ، لكني أريد فقط أن أوضح لكم أن هذا العداد هو شيء مفيد
حقًا إذا كنت تريد حساب عدد المستخدمين المكررة أو تكرار رسائل البريد الإلكتروني.
يمكن أن يكون العداد مفيدًا حقًا.
ماذا عن التالي؟
افتراضي ، ديك.
يا إلهي ، هذه كلمة يصعب قولها حقًا.
حسنًا ، لنفترض أن لدينا قاموسًا هنا ، وهذا القاموس سيكون لدينا جيدًا ، أي
قاموس تافه للغاية سيكون له واحد و B اثنان.
يا له من قاموس بسيط.
الآن ، هنا ، يمكنني أن أقول القاموس.
نقطة.
أو القوس أ وسأكون قادرًا على الحصول على القيمة.
الصحيح.
إذا قمت بالنقر فوق تشغيل.
أوه ، وأنا لم أقم بتهجئة القاموس.
الصحيح.
دعونا نصلح ذلك.
هذا أفضل.
دعنا نعلق على هذا الآن لأننا لسنا بحاجة إلى هذا.
سترى أنني أحصل على قيمة واحدة.
ولكن إذا حاولت الوصول إلى شيء غير موجود ، مثل.
نرى؟
سأحصل على خطأ في القاموس الافتراضي.
سأحصل في الواقع على قيمة افتراضية إذا لم يكن هناك شيء ما.
فلنحول هذا إلى قاموس افتراضي.
مثله.
والآن إذا قمت بتشغيل هذا ، فسنحصل على خطأ.
يجب أن تكون الوسيطة الأولى قابلة للاستدعاء أو لا شيء.
إذن ما يفعله الإملاء الافتراضي هو أنه يسمح لنا بالوصول إلى مفتاح مثل هذا ، ولكن نعطيه قيمة افتراضية.
في حالتنا ، نحتاج إلى إعطائها شيئًا مثل كائن قابل للاستدعاء هنا.
والقابل للاستدعاء يعني شيئًا مثل وظيفة يمكن تسميتها إذا قمت بالتشغيل.
أحصل على صفر.
لماذا هذا؟
حسنًا ، عندما أركض int.
مثل هذا مع عدم وجود شيء بداخله.
نحصل على صفر.
لذا فإن الطريقة المختصرة لأنه سيتم تشغيلها هي إعطائها وظيفة سريعة لن نستخدمها.
لذلك دعونا نقوم بعمل لامدا ونعطيه فقط.
دعنا نقول خمسة.
الآن إذا قمت بتشغيل هذا ، فلنقم بالقاموس هنا.
يجري.
أوه ، ودعونا نحاول وننتزع.
شيء غير موجود.
إذا قمت بالنقر فوق "تشغيل" ، فسأحصل على خمسة.
إذن هذا نمط شائع.
كما ترى ، مع الإملاء الافتراضي ، نعطيه قيمة أو كائنًا قابلاً للاستدعاء.
في حالتنا هذه ، نعطيها فقط هذه الدالة ، دالة lambda التي تعرض خمسة ببساطة.
حتى أستطيع أن أقول هنا.
هل هو غير موجود.
سيكون المعامل الثاني هو ما نريد.
وإذا كنت قد ركضت.
أحصل على أنه غير موجود ، على الرغم من أنني أصل إلى مفتاح غير موجود جيدًا.
الآن ، إذا قمت بعمل هنا وقمت بالنقر فوق تشغيل.
كل شيء يعمل.
ما زلت أحصل على واحدة.
وإذا كنت كذلك.
أعتقد أن الجري كذلك.
مرة أخرى ، نوع آخر مفيد من البيانات الصغيرة.
التالي هو أمر dicked وهذا واحد آخر مثير للاهتمام.
ويحتفظ قاموس الطلبات بالترتيب الذي تقوم بإدراجه في القاموس.
دعني اريك.
لذلك إذا كان لدينا ، دعنا نقول القاموس وسيكون هذا القاموس قاموس الطلبات.
إذن هذه هي الطريقة التي نصنعها بها.
الآن هنا ، إذا فعلت dx يساوي a.
وهذا سيساوي واحدًا.
ومن ثم د.
سيكون Be يساوي اثنين.
وأنا الآن أنسخ هذا وأنشئ قاموسًا ثانيًا.
دعنا نقول rd ل.
RD إلى.
وأنا أتحقق.
مهلا ، طباعة هل DX اثنين يساوي DX؟
تذكر أن هذا سيتحقق من القيم.
إذا قمت بتشغيل هذا.
أنا على صواب؟
نعم ، إنهم متساوون.
ولكن إذا قمت بتغيير ترتيب الإدراج هنا وقمت بالنقر فوق تشغيل.
أنا كاذبة.
عذرًا ، هذا ليس نفس الشيء لأنه يحافظ على الطلب.
إذا كان هذا قاموسًا عاديًا.
لنفترض أنه بدلاً من ما لدينا هنا ، سأقوم ببساطة بإنشاء قاموس وسنقوم بذلك.
سنقوم فقط برؤية بسيطة هنا تحتوي ، دعنا نقول ، على 100.
وافعل الشيء نفسه مع هذا أيضًا.
DD اثنان.
يساوي هذا.
إذا قمت بتشغيل هذا الآن.
أتحقق من صحة ذلك لأن جميع المفاتيح والقيم متطابقة مع القاموس العادي.
نحن لا نهتم حقًا.
لا يوجد طلب.
وقد ذكرت هذا من قبل.
إن كتابة قاموس بلغة بايثون ليس له معنى بالترتيب.
على الرغم من أننا عندما نطبع المفاتيح ، فقد نحصل على الأشياء بالترتيب.
مع زيادة حجم قاموسنا وزيادة حجمه ، ليس هناك ما يضمن أنه عندما نطبع كل المفاتيح
التي سنقوم بترتيبها.
في حالة قاموس الطلبات ، نحصل على هذا الضمان.
الآن ، هناك بعض الآثار المترتبة على الأداء بالنسبة لهؤلاء.
ومع ذلك ، بشكل عام ، يمكن أن يكون مفيدًا في بعض المواقف.
حسنا.
هناك عدد قليل آخر لنستعرضه ، لكن هذا الفيديو يطول.
فلنأخذ استراحة وسأراكم في الفيديو التالي.
مع السلامة.