عن الحيوانات

الثعبان

Pin
Send
Share
Send


  • ترجمات ، 6 سبتمبر ، 2018 الساعة 19:22
  • نيكيتا برياتسيلوك

بيثون هي واحدة من لغات البرمجة الأكثر شعبية وشعبية. هناك عدة أسباب لهذا:

  • إنه سهل التعلم.
  • انها متعددة الاستخدامات للغاية.
  • لديها العديد من الوحدات والمكتبات.

في عملية العمل مع Python ، يجد الجميع لنفسه بعض الوحدات والحيل المفيدة. في هذه المجموعة سوف تتعرف على بعض الحيل المفيدة.

مجموعات

لدى Python أنواع بيانات مدمجة رائعة ، لكن في بعض الأحيان لا تتصرف تمامًا كما تريد.

لحسن الحظ ، تحتوي مكتبة Python المدمجة على وحدة مجموعات مع أنواع بيانات إضافية مريحة:

هل تساءلت يومًا كيف تنظر داخل كائن في بيثون وتلقي نظرة على سماته؟ بالطبع ، كانوا يعتقدون.

مدرسة XYZ ، موسكو ، ما يصل إلى 250 000 ₽

استخدم سطر الأوامر:

يمكن أن يكون هذا مفيدًا أثناء جلسة تفاعلية في Python ، وكذلك للدراسة الديناميكية للأشياء والوحدات النمطية التي تعمل معها.

من __future__ الاستيراد

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

ومع ذلك ، ليس كل شيء سيء للغاية. تتيح وحدة __future__ إمكانية استيراد وظائف الإصدارات المستقبلية من Python. إنه مثل السفر عبر الزمن أو السحر:

Geopy

قد يكون من الصعب على المبرمجين التنقل في الجغرافيا. ومع ذلك ، فإن وحدة geopy تبسط الأمور:

$ نقطة تثبيت geopy

وهو يعمل عن طريق استخلاص واجهات برمجة التطبيقات لخدمات الترميز الجغرافي المختلفة. هذه الوحدة تجعل من الممكن معرفة العنوان الكامل للمكان ، خط الطول والعرض وحتى الارتفاع.

كما أن لديها فئة المسافة مفيدة. وتحسب المسافة بين مكانين في وحدة القياس المناسبة.

Howdoi

هل علقت على مشكلة ولا يمكنك تذكر حلها؟ هل تحتاج إلى الانتقال إلى StackOverflow ، ولكن لا تريد مغادرة المحطة؟

ثم لا يمكنك الاستغناء عن أداة سطر الأوامر هذه:

$ نقطة تثبيت howdoi

اطرح أي سؤال وسيحاول إيجاد إجابة عليه:

ولكن كن حذرًا: فهو يستخرج شفرة من أفضل الإجابات على StackOverflow ولا يوفر دائمًا معلومات مفيدة:

$ howdoi الخروج هدم

هل يجب علي الاستمرار في ترجمة دروس بايثون؟

بشكل عام ، كما اتضح مؤخرًا ، يوجد على موقع YouTube بالفعل مقاطع فيديو Bucky Roberts معبرة عن برمجة Python3 ، هنا يمكنك مشاهدتها على هذا الرابط:

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

أساسيات الجزء 1. للرضع.

من المفترض أن المنشور http://pikabu.ru/story/hello_world_4265035 قد تمت قراءته بالفعل ، أو كان لديك أي توزيع لنظام Linux.

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

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

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

Instagram - استضافة الجميع المفضلة لصور الطعام والقطارات الغبية سخيف. نعم ، هو مكتوب في الثعبان. علاوة على ذلك ، يتم استخدام Django للإطار الذي سنزحف إليه إذا كان هناك أشخاص يريدون الزحف بجواري. علاوة على ذلك ، أخذوا خادم HTTP Gunicorn ، الذي نزحف إليه أيضًا. كقاعدة بيانات ، يستخدمون PostgreSQL - RDBMS المفضل لدي وهذا هو السبب في أننا قد نقوم بالزحف إليه أيضًا.

رديت هي خدمة تضحك ممتعة ، وأعتقد أن الجميع قد سمع عنها على أي حال. هو مكتوب أيضا في الثعبان ، ولكن في إطار الهرم ، وليس جانغو. يتم استخدام قاعدتي بيانات كقاعدة بيانات: Cassandra و PostgreSQL. يتم استخدام Memcached و Facebook mcrouter كذاكرة تخزين مؤقت. كوسيط للرسائل ، يتم استخدام RabbitMQ.شفرة المصدر متاحة للجمهور هنا https://github.com/reddit/reddit

exchange.livejournal.com - تبادل المدونين LiveJournal ، والذي تم افتتاحه مؤخرًا. لماذا هي هنا؟ لأنني شاركت في تطورها. هو مكتوب أيضا في جانغو مع قاعدة بيانات PostgreSQL.

على هذا الإغراء ينتهي ويبدأ الجزء غير المحبوب - الحلقات والفروع والمتغيرات.

ستكون جميع أجزاء التعليمات البرمجية عبارة عن لقطات شاشة من Jupyter Notebook ، أولاً ، لأنه من المناسب بالنسبة لي أن أكتب فيها ، وثانياً ، لأنه لا يوجد شيء لنسخ رمز شخص آخر.

بيثون هي لغة ذات كتابة ديناميكية قوية. ماذا يعني هذا؟

- إذا كنت ترغب في إضافة الرقم 5 باستخدام السلسلة "7" - فسوف يتم تأنيبك. وهذا ما يسمى الكتابة القوية. لا توجد تحويلات إلى النوع "الأكثر عمومية".

- إذا تم تخزين رقم في المتغير x ، فإن هذا لا يعني أنه لا يمكن تعيين سلسلة. هذا هو الكتابة الديناميكية. نوع المتغير ، بالطبع ، لا يحتاج إلى تحديد في أي مكان.

ميزة لطيفة هي مهمة موازية. كما يدعم تبادل القيمة.

هناك أيضا مهمة متعددة التي أنا بقوة لا أوصي باستخدامه بدون تفكير (وهذا ينطبق على أنواع البيانات غير المستوية ، والتي سنتحدث عنها لاحقًا):

مع المتغيرات ، مثل ، في الوقت الراهن.

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

والآن مفاجأة صغيرة. على الرغم من أن اللغة مكتوبة بشدة ، فإن المقارنات بين بعض أنواع البيانات غير المتكافئة (int ، float ، Decimal) مدعومة. على سبيل المثال ، 5 == 5.0 سيعود إلى True ، على الرغم من أن 5 عبارة عن عدد صحيح ، و 5.0 هي فاصلة. ولكن باستخدام هذا يعتبر سيئة الشكل.

إذا كنت حتى يومنا هذا لم تكن تعرف كلمة "التكرار" ولم تكتب إلا الدورات حسب الأرقام القياسية ، مثل (int i = 0 ،

لحلقات الفهرس العادية ، يوجد مولد نطاق. حول المولدات في وقت لاحق جدا.

يتم الإعلان عن وظائف الثعبان بطريقتين:

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

هنا ، على الأرجح ، ظهر سؤالان على الفور:

كيف يمكنني تمرير دالة باستخدام وسيطة إلى وظيفة أخرى؟

ما هي وظيفة النظام العالي؟

لأن الثعبان هو وجوه المنحى ، وبالتالي ، كل شيء فيه كائن. وظيفة أيضا. يمكن أن تكون الحجة إلى دالة أي كائن ، بما في ذلك وظيفة:

هناك العديد من الأشياء المثيرة للاهتمام في هذا المثال:

1) بعد تحديد الوظيفة (def) ، يمكنك إدخال ما يسمى docstring ، والتي تصف ما تقوم به الوظيفة. في الوقت نفسه ، يتم تخزين سلسلة الإرساء هذه في سمة __doc__ الخاصة بالكائن الدوال (والتي تشير مرة أخرى إلى أن الوظيفة هي كائن)

2) __name__ تحتوي السمة على اسم الكائن (الوظيفة أو الفئة)

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

يمكن تعيين وظائف لمتغيرات أخرى:

لكن الاسم (__name__) سيبقى كما هو ، لأن في الواقع ، f و same_func تشير فقط إلى الوظيفة.

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

ملاحظة تم كتابة المنشور دون تحضير ، مباشرة إلى محرر نشر picabu ، والكتابة عن جميع أوجه القصور في التعليقات ، إرم مع النعال والطماطم.

للمبتدئين لتعلم البرمجة (بيثون)

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

1. مايكل داوسون - البرمجة في الثعبان

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

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

3.Mark Summerfield - بيثون 3 البرمجة

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

4. مارك لوتز - بيثون البرمجة

يعلمك هذا الكتاب أن تطبق المعرفة المكتسبة في "Learning Python 4th Edition" ، لكنها مليئة بالمعلومات الزائدة عن الحاجة للمبتدئين ، والتي سيكون من الأسهل بكثير إدراكها بعد داوسون وصيفيلد. هذا الكتاب هو الانتهاء في الدراسة الأولية للغة. بعد إتقانها ، يمكنك الانتقال إلى مزيد من العمل المتعمق.

آمل أن يساعد شخص ما هذا الاختيار. استمتع بالقراءة واستمتع بالتعلم.

Yandex.Translator لنظام Linux على واجهة المستخدم الرسومية لـ Python

منذ وقت طويل كانت هناك حاجة إلى مترجم على الإنترنت متعدد اللغات مع متصفح مغلق.

لا ، لا أرفض استخدام القاموس في حالات "صعبة للغاية" ، لكن في بعض الأحيان يجب أن أقرأ نصًا كبيرًا إلى حد ما ، وليس كل الكلمات التي أعرف كيف يضيع السياق.

إن أداة ترجمة-قذيفة مريحة للغاية ، خاصة إذا كتبت ، في السادس / فيم. التبديل إلى وحدة التحكم التالية وترجمتها.

المفاتيح بسيطة وسهلة التذكر.

ولكن هذا ، كالعادة ، لم يكن كافيا. أردت الرسومات.

العمل في SublimeText و Zeal أكثر ملاءمة إلى حد ما من وحدة التحكم العارية.

هم ... الفكر ، والفكر ، وقررت ربط المترجم إلى مفتاح ساخن.

وقع الاختيار على gxmessage. Zenity لم يناسبني ، لا أتذكر السبب.

تم كتابة الكود:

انها مناسبة لي لفترة من الوقت. إلى "control + 1" من الإنجليزية ، "control + 2" إلى الإنجليزية. حسنا.

ولكن بعد ذلك بدأت قذيفة الترجمة في الفشل.

لا أعرف ما الذي حدث للمطورين ، لكنه أزعجني حقًا.

قررت أن الوقت قد حان ، لم أكتب في الثعبان لفترة طويلة.

قادني بحث Google القصير إلى Yandex.API و Python و GTK + 3 في شكل وحدة gi.

لماذا جي ، لأنك عادة ما كتبت في PyQt5؟ وهي تعمل بشكل أسرع بكثير على سيارتي. الجهاز ليس جديدًا ، والذاكرة أيضًا (وفقًا للمعايير الحديثة) ليست ساخنة جدًا.

نتيجة لذلك ، لدي مترجم تلقائي على مفتاح التشغيل السريع.

شكرا لكم جميعا على اهتمامكم.

مرحبا العالم!

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

لذلك ، سنتحدث اليوم قليلاً عن ماهية الثعبان ونحاول الحصول عليه على جهاز الكمبيوتر الخاص بنا.

إذا قمت بالبرمجة بالفعل في بيثون ، فمن الواضح أن هذا المنشور ليس مناسبًا لك. :) قد لا تقرأها على الإطلاق ، بل تكتب هنا عن شيء مثير للاهتمام من تجربتك! مع التفضيل والشعراء ، كما هو متوقع. ،)

هكذا يخبرنا مصدر موثوق (ويكيبيديا) ، python (نطق Python ، يقول بعض الناطقين بالروسية Python) هي لغة برمجة للأغراض العامة تهدف إلى تحسين إنتاجية المطورين وقراءة الكود. بمعنى آخر ، يمكنك كتابة التعليمات البرمجية بسرعة وفهم ما كتبه أحد الجيران.

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

هل يطبقونها في الممارسة؟

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

هل أنت مهتم؟ ثم دعونا نحاول كتابة وتشغيل شيء ما في بيثون! :)

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

وعلى الفور بضع كلمات عن الأخير ، لأنه إذا قرأته ، فربما لا تعرف ما هو عليه.

بيثون هي لغة مترجمة. باختصار ، هذا يعني أن تعليماتها تُنفذ (تُفسَّر) واحدة تلو الأخرى بالتتابع ، دون تجميع كل شيء دفعة واحدة ، على سبيل المثال ، في لغة C. المترجم هو مجرد برنامج خاص يتعامل مع التفسير.

لاستخدام لغة الثعبان ، تحتاج إلى تنزيل وتثبيت تنفيذها من الموقع الرسمي https://www.python.org/downloads/.

سأقدم مثالاً على السلسلة الثالثة من لغة الثعبان (3.5.1) ، لذلك أوصي بتنزيلها. بالنسبة لنظام Windows ، يمكن القيام بذلك مباشرةً على هذا الرابط. عند التثبيت ، لا تنس تحديد المربعأضف إلى PATH، وسوف تبسيط حياتك في المستقبل.

تحميل وتثبيت؟ ! ممتاز دعنا ندير المترجم. افتح سطر الأوامر (اضغط على ابدأ كمد) وادخل هناك:

المترجم يعمل! نعم ، الأمر بهذه البساطة! إذا تم كل شيء بشكل صحيح ، فسيكون هناك شيء مثل:

الآن تنفيذ الأمر الأول! أدخل:

نعم ، لقد طبعت للتو ، ما هو بين قوسين ، وعلامات اقتباس على الشاشة! هذا نفذت وظيفة لغة الثعبان القياسية - طباعة (). كما ترون ، على عكس C ، على سبيل المثال ، لا تحتاج إلى إرفاق أي شيء به ، لا تحتاج إلى فصله بأي طريقة (في هذه الحالة بالذات) ، لا تحتاج إلى وضع أي شيء بعده.

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

بالمناسبة ، حول العمليات الحسابية. يمكنك ارتكابها مباشرة في الوظيفة دون وخز الضمير طباعة (). حاول ، على سبيل المثال ، بالترتيب:

طباعة (100 + 1)
طباعة (42/7)
طباعة (111111111 * 111111111)

هذا كل شيء الآن! شكرا لاهتمامكم! من الصعب جدًا كتابة المشاركة الأولى في المجتمع بأكمله - مستوى القراء غير واضح تمامًا. لذلك ، قررت تكريس ذلك للمبتدئين المطلقين. آمل ألا تضيع. :)

شكرا لاهتمامكم!

هل بيثون يتم تفسيرها أو تجميعها؟

هذا هو مصدر شائع لسوء الفهم بين المبتدئين بيثون.

أول شيء يجب فهمه: "Python" هو الواجهة. هناك مواصفات تصف ما يجب على Python فعله وكيف ينبغي أن تتصرف (وهذا صحيح بالنسبة لأي واجهة). وهناك العديد من التطبيقات (وهذا ينطبق أيضًا على أي واجهة).

والثاني: "تفسير" و "المترجمة" هي خصائص التنفيذ ، ولكن ليس من واجهة.

وبالتالي فإن السؤال نفسه ليس صحيحا تماما.

في حالة التطبيق الأكثر شيوعًا (CPython: مكتوب بلغة C ، وغالبًا ما يسمى ببساطة "Python" ، وبالطبع ، الذي تستخدمه إذا لم تكن لديك فكرة عما أتحدث عنه) ، فإن الجواب هو: تفسير ، مع بعض التجميع. يقوم CPython بتجميع * شفرة مصدر Python في رمز ثانوي ، ثم يفسر ذلك الرمز الثانوي ، مع إطلاقه في العملية.

* ملاحظة: هذا ليس بالضبط "تجميع" بالمعنى التقليدي. عادة ، نعتقد أن "التجميع" هو تحويل من لغة عالية المستوى إلى رمز الجهاز. ومع ذلك - في بعض النواحي هذا هو "تجميع".

دعنا ندرس هذه الإجابة بشكل أفضل ، لأنها ستساعدنا على فهم بعض المفاهيم التي تنتظرنا في هذه المقالة.

Bytecode أو رمز الجهاز

من المهم للغاية فهم الفرق بين الرمز الثنائي (code) والرمز (أو الجهاز الأصلي). ولعل أسهل طريقة لفهمها هي كمثال:

- يتم تجميع C في كود الآلة ، والذي يتم إطلاقه مباشرة من قبل المعالج. كل تعليمات يفرض المعالج لأداء إجراءات مختلفة.
- يتم تصنيف Java في bytecode ، والذي يتم تشغيله لاحقًا على Java Virtual Machine (JVM) ، وهو جهاز كمبيوتر تجريدي يقوم بتشغيل البرامج. تتم معالجة كل تعليمات بواسطة JVM الذي يتفاعل مع الكمبيوتر.

تبسيط كبير: رمز الجهاز هو أسرع بكثير ، ولكن bytecode أفضل محمولة وآمنة.

قد يختلف رمز الجهاز اعتمادًا على الجهاز ، في حين أن رمز الكود هو نفسه على جميع الآلات. يمكننا أن نقول أن رمز الجهاز هو الأمثل للتكوين الخاص بك.

بالعودة إلى CPython ، تكون سلسلة العمليات كما يلي:

1. يقوم CPython بتجميع شفرة مصدر Python الخاصة بك إلى bytecode.
2. يعمل هذا الرمز الفرعي على الجهاز الظاهري CPython.

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

الأجهزة الافتراضية البديلة: Jython و IronPython وغيرها

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

ولكن ماذا عن البدائل؟ أحد أبرزها هو Jython ، وهو تطبيق Python في Java يستخدم JVM. بينما يقوم CPython بإنشاء bytecode ليتم تشغيله على CPython VM ، فإن Jython يولد bytecode Java ليتم تشغيله على JVM (هذا هو نفسه عند تجميع برنامج Java).

"لماذا قد تحتاج إلى استخدام تطبيق بديل؟" ، تسأل. حسنا ، بالنسبة للمبتدئين ، تتوافق التطبيقات المختلفة مع مجموعات مختلفة من التقنيات.

يسهل CPython كتابة امتدادات C لرمز Python لأنه في النهاية يتم تشغيله بواسطة مترجم C. Jython ، بدوره ، يبسط العمل مع برامج Java الأخرى: يمكنك استيراد أي فئات Java دون بذل جهد إضافي ، واستدعاء واستخدام فئات Java الخاصة بك من برامج Jython. (ملاحظة: إذا لم تكن قد فكرت في الأمر بجدية ، فهذا أمر مجنون ، لقد عشنا لمعرفة الوقت الذي يمكنك فيه مزج لغات مختلفة وتجميعها في كيان واحد. لذلك ليست جديدة تمامًا ، لكنها لا تزال باردة.)

على سبيل المثال ، إليك رمز Jython الصحيح:

Java HotSpot (TM) خادم 64 بت VM (Apple Inc.) على java1.6.0_51
>>> من java.util استيراد HashSet
>>> s = HashSet (5)
>>> s.add ("Foo")
>>> s.add ("Bar")
>>> ق
فو بار

IronPython هو تطبيق Python شائع آخر مكتوب بالكامل في C # for .NET. على وجه الخصوص ، يتم تشغيله على الجهاز الظاهري .NET ، إذا كنت تستطيع تسميته ، في وقت تشغيل اللغة العامة (CLR) ، من Microsoft ، مقارنة JVM.

يمكنك القول أن Jython: Java :: IronPython: C #. إنهم يعملون على الأجهزة الظاهرية المقابلة ، فمن الممكن استيراد فئات C # إلى كود IronPython و Java في رموز Jython ، وهكذا.

من الممكن البقاء على قيد الحياة دون لمس أي شيء باستثناء CPython. لكن ، بالانتقال إلى تطبيقات أخرى ، تحصل على ميزة ، بشكل رئيسي بسبب مكدس التقنية المستخدمة. باستخدام الكثير من اللغات المعتمدة على JVM؟ جيثون قد تناسبك. هل كل شيء على .NET؟ قد يكون الأمر يستحق تجربة IronPython (وربما فعلت بالفعل).

بالمناسبة ، على الرغم من أن هذا لا يصبح سببًا للتبديل إلى تطبيق آخر ، تجدر الإشارة إلى أن هذه التطبيقات تختلف فعليًا في السلوك. هذا لا ينطبق فقط على تفسير كود بايثون. ومع ذلك ، عادة ما تكون هذه الاختلافات غير مهمة ، فإنها تختفي وتظهر مع مرور الوقت بسبب التطور النشط. يستخدم IronPython ، على سبيل المثال ، سلاسل Unicode افتراضيًا ، لكن CPython يستخدم ASCII في إصدارات 2.x (رمي خطأ UnicodeEncodeError للأحرف غير ASCII) ، ولا يزال يدعم أحرف Unicode افتراضيًا في الإصدارات 3.x.

التجميع الفوري (تجميع فقط في الوقت المناسب): PyPy والمستقبل

لذلك ، لدينا تطبيق Python مكتوب باللغة C ، والآخر في Java ، والثالث في C #. الخطوة المنطقية التالية: تنفيذ بيثون ، مكتوب في ... بيثون. (سيلاحظ القارئ المدرب أن هذا البيان مضلل بعض الشيء).

هذا هو السبب في أنه يمكن أن يكون مربكا. للبدء ، دعنا نناقش عملية التجميع على الفور (في الوقت المناسب أو في JIT).

JIT. لماذا وكيف

اسمح لي أن أذكرك بأن رمز الجهاز الأصلي أسرع بكثير من الرمز الثانوي. حسنًا ، ماذا لو استطعت ترجمة جزء من الرمز الثانوي وتشغيله كرمز أصلي؟ سأضطر إلى "دفع" سعر ما (بمعنى آخر: الوقت) لتجميع الرمز الفرعي ، ولكن إذا كانت النتيجة تعمل بشكل أسرع ، فهذا رائع! هذا يحفز تجميع JIT ، وهي تقنية مختلطة تجمع بين مزايا المترجمين الفوريين والمترجمين. باختصار - تحاول JIT استخدام التجميع لتسريع نظام التفسير.

على سبيل المثال ، إليك نهج JIT شائع:

  1. تحديد رمز ثانوي يعمل بشكل متكرر.
  2. تجميعه في رمز الجهاز الأصلي.
  3. مخبأ النتيجة.
  4. كلما احتجت إلى تشغيل نفس الرمز الفرعي ، استخدم رمز الجهاز المترجم بالفعل وجني الفوائد (على وجه الخصوص ، زيادة السرعة).

هذه هي النقطة الكاملة لـ PyPy: استخدام JIT في Python (في الملحق يمكنك العثور على المحاولات السابقة). بالطبع ، هناك أهداف أخرى: يهدف PyPy إلى النظام الأساسي المشترك ، حيث يعمل مع مقدار صغير من الذاكرة ودعم بلا تكدس (التخلي عن مكدس استدعاء لغة C لصالح تكدسها الخاص). لكن جيت هي الميزة الرئيسية. بناءً على اختبارات الوقت ، يبلغ متوسط ​​عامل التسارع 6.27. يمكن الحصول على بيانات أكثر تفصيلاً من المخطط من PyPy Speed ​​Center:

من الصعب معرفة PyPy

تتمتع PyPy بإمكانيات هائلة ، وهي متوافقة حاليًا مع CPython (بحيث يمكنك تشغيل Flask ، Django ، إلخ).

ولكن مع PyPy هناك الكثير من الارتباك. (نقدر ، على سبيل المثال ، هذا الاقتراح الذي لا معنى له لإنشاء PyPyPy ...). في رأيي ، السبب الرئيسي وراء أن PyPy هو في نفس الوقت:

1. مترجم بايثون مكتوب في RPython (وليس بايثون (لقد خدعتك قبل ذلك)). RPython هي مجموعة فرعية من Python مع كتابة ثابتة. في بيثون ، إجراء محادثات شاملة حول الأنواع "مستحيل عمومًا" ؛ لماذا يكون الأمر صعبًا جدًا؟ النظر في ما يلي:

س = random.choice (1 ، "فو")

هذا هو كود الثعبان الصحيح (بفضل Ademan). ما هو نوع س؟ كيف يمكننا مناقشة أنواع المتغيرات عندما لا يتم فرض أنواع حتى؟). في RPython ، نضحّي ببعض المرونة ، لكن في المقابل نحصل على فرصة لإدارة الذاكرة أكثر وأكثر بكثير ، مما يساعد في التحسين.

2. مترجم يجمع رمز RPython في أشكال مختلفة ويدعم JIT. النظام الأساسي الافتراضي هو C ، أي برنامج التحويل البرمجي RPython-in-C ، ولكن يمكنك أيضًا تحديد JVM وغيرها كمنصة هدف.

لسهولة الوصف ، سأدعو لهم PyPy (1) و PyPy (2).

لماذا قد تكون هناك حاجة إلى هذين الأمرين ، ولماذا - في مجموعة واحدة؟ فكر في الأمر بهذه الطريقة: PyPy (1) مترجم مكتوب بلغة RPython. وهذا يعني أنه يأخذ رمز المستخدم في Python ويجمعه في الرمز البريدي. لكن حتى يعمل المترجم نفسه (المكتوب في RPython) ، يجب تفسيره من خلال تطبيق Piton آخر ، أليس كذلك؟

لذلك ، يمكنك ببساطة استخدام CPython لبدء المترجم. لكنها لن تكون سريعة جدا.

بدلاً من ذلك ، نستخدم PyPy (2) (تسمى RPython Toolchain) لتجميع مترجم PyPy إلى رمز لنظام أساسي آخر (مثل C أو JVM أو CLI) لتشغيله على الجهاز الوجهة ، مع إضافة JIT. هذا سحري: تضيف PyPy JIT ديناميكيًا إلى المترجم الفوري ، وتولد مترجمها الخاص! (مرة أخرى ، هذا أمر مجنون: نحن نجمع المترجم الشفهي عن طريق إضافة مترجم مستقل منفصل آخر).

في النهاية ، ستكون النتيجة قائمة بذاتها قابلة للتنفيذ تفسر شفرة مصدر Python وتستخدم تحسين JIT. ما تحتاجه! من الصعب فهمه ، ولكن ربما يساعد هذا المخطط:

مرة أخرى ، الجمال الحقيقي لـ PyPy هو أنه يمكننا كتابة مجموعة من المترجمين الفوريين لبيثون على RPython دون القلق بشأن JIT (بصرف النظر عن بعض التفاصيل). بعد ذلك ، تطبق PyPy JIT بالنسبة لنا باستخدام RPython Toolchain / PyPy (2).

في الواقع ، إذا حفرت أعمق في التجريد ، من الناحية النظرية ، يمكنك كتابة مترجم شفهي لأي لغة ، وتوجيهه إلى PyPy والحصول على JIT لتلك اللغة. هذا ممكن لأن PyPy تركز على تحسين المترجم نفسه ، بدلاً من تفاصيل اللغة التي يفسرها.

وكاستكشاف ، أود أن أشير إلى أن JIT نفسها مدهشة للغاية. يستخدم تقنية تسمى "التتبع" ، والتي تعمل على النحو التالي:

  1. تشغيل المترجم وتفسير كل شيء (دون إضافة JIT).
  2. إجراء التنميط السهل للكود المفسر.
  3. تحديد العمليات التي تم تنفيذها بالفعل سابقا.
  4. تجميع هذه القطع من التعليمات البرمجية في رمز الجهاز.

يمكنك معرفة المزيد من هذا المنشور المتاح بسهولة وممتع للغاية.

للتلخيص: نستخدم المترجم PyPy RPython-in-C (أو نموذج منصة هدف آخر) لتجميع مترجم PyPu المطبق على RPython.

استنتاج

لماذا كل هذا مدهش جدا؟ لماذا يستحق مطاردة هذه الفكرة المجنونة؟ في رأيي ، أوضح أليكس جينور ذلك جيدًا في مدونته: "بالنسبة لبيبي ، المستقبل هو أنه أسرع وأكثر مرونة وأفضل منصة لتطوير بيثون."

  • إنه سريع - لأنه يجمع التعليمات البرمجية المصدر في الكود الأصلي (باستخدام JIT).
  • إنه مرن - لأنه يضيف JIT إلى المترجم الشفهي دون بذل الكثير من الجهد.
  • إنه مرن (مرة أخرى) - لأنه يمكنك كتابة المترجمين الفوريين في RPython ، مما يبسط الامتداد لاحقًا مقارنة بنفس C (في الواقع إنه يبسط كثيرًا بحيث يوجد حتى تعليمات لكتابة المترجمين الفوريين الخاصة بك).

إضافة: أسماء أخرى قد تكون سمعت عنها

Python 3000 (Py3k): اسم بديل لبيثون 3.0 ، الإصدار الرئيسي لبيثون مع التوافق مع الإصدارات السابقة ، تم تقديمه في عام 2008. توقع فريق Py3k أن الإصدار الجديد سيستغرق نحو خمس سنوات ليأخذ جذره بالكامل. بينما يواصل معظم مطوري بيثون (انتباه: بعيد المنال) استخدام Python 2.x ، بدأ الناس يفكرون أكثر في Py3k.

Cython: مجموعة شاملة من Python تتضمن القدرة على استدعاء وظائف C.

  • الهدف: دعنا نكتب امتدادات C لبرامج Python.
  • كما يسمح لك بإضافة كتابة ثابتة إلى شفرة Python الحالية ، والتي بعد إعادة الترجمة يمكن أن تساعد في تحقيق أداء يشبه C.
  • يذكر PyPy ، لكنه ليس هو نفسه. في حالة Cython ، يتعين عليك كتابة رمز المستخدم قبل تقديمه إلى المترجم. في PyPy تكتب Python القديم الجيد ، والمترجم هو المسؤول عن أي تحسين.

Numba: "مترجم متخصص في الوقت المناسب" يضيف JIT إلى الشفرة المشروحة لبيثون. ببساطة ، فأنت تعطيه تلميحات ، ويسرع بعض أجزاء الكود. Numba جزء من مجموعة توزيع Anaconda لحزم حزم تحليل البيانات وإدارة البيانات.

IPython: مختلف تمامًا عن كل ما ناقشناه بيئة الحوسبة لبيثون. تفاعلية ، مع دعم حزم واجهة المستخدم الرسومية ، المتصفحات ، وهلم جرا.

Psyco: بيثون وحدة التوسع ، واحدة من محاولات بيثون الأولى في مجال JIT. لقد تم وضع علامة طويلة على أنها "غير مدعومة وموت". يعمل كبير مطوري Psyco Armin Rigo في الوقت الحالي على PyPy.

روابط اللغة

  • RubyPython: جسر بين الأجهزة الافتراضية Ruby و Python. يسمح لك بتضمين كود Python في كود Ruby. تشير إلى أين يبدأ Python وينتهي ، ويوفر RubyPython نقل البيانات بين الأجهزة الافتراضية.
  • PyObjc: اتصال لغوي بين Python و Objective-C يتصرف كجسر بينهما. في الممارسة العملية ، هذا يعني أنه يمكنك استخدام مكتبات Objective-C (بما في ذلك كل ما تحتاجه لإنشاء تطبيق لنظام التشغيل X) في Python code ، و Python modules في كود Objective-C. هذا مناسب لأن CPython مكتوب بلغة C ، وهي مجموعة فرعية من الهدف C.
  • PyQt: بينما تسمح لك PyObjc بربط Python بمكونات واجهة المستخدم الرسومية OS X ، فإن PyQt يفعل نفس الشيء بالنسبة لإطار عمل Qt. هذا يجعل من الممكن إنشاء واجهات رسومية كاملة ، والوصول إلى قواعد بيانات SQL وهلم جرا. أداة أخرى تهدف إلى نقل بساطة بيثون إلى أطر أخرى.

أطر جافا سكريبت

  • pajs (Pajamas): إطار عمل لإنشاء تطبيقات الويب وسطح المكتب في Python. يتضمن برنامج التحويل البرمجي لـ Python-in-JavaScript ومجموعة من الأدوات المصغّرة وبعض الأدوات الأخرى.
  • برايتون: آلة بيثون الافتراضية مكتوبة بلغة جافا سكريبت. يتيح لك تشغيل كود Py3k في متصفح الويب.

5 قصص مضحكة وملحمة من بيك آب حول ليلة رأس السنة

هل تتذكر ما حدث لك ليلة رأس السنة؟ دعنا نقول كيف وقفوا في طابور ليلة 30-31 ديسمبر لليوسفي أو أحرقوا الطبق الرئيسي. شارك Pikabushniki معنا حالات حلوة وغريبة ومضحكة. في هذا المنشور ننشر أفضل خمس قصص ونقدم هدايا.

إذا لم تشاهد منشورًا حيث أعلنا مسابقة قصة ، فسنخبرك بذلك. أطلقناها مع Yandex.Shev ومؤلفي القصص الخمس الأكثر إثارة للاهتمام ، وفقًا للجنة التحكيم ، وعدنا بتقديم مجموعات لعشاء رأس السنة الجديدة. في الآونة الأخيرة ، أطلقت الخدمة خمسة قوائم عطلة: مع الدجاج. لحم البقر ولحم الخنزير والبط والأسماك. لقد جمعوا الطبق الساخن الرئيسي والسلطات والوجبات الخفيفة غير القياسية. ماذا نقول لك؟ نحن بالفعل اختبار هنا.

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

حان الوقت لقصص الفائزين!

1. "الشمبانيا بصوت عال جدا"

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

2. "مساعد أمي"

"لديّ قصة مضحكة واحدة فقط عن عشاء رأس السنة الجديدة - كما في 31 ديسمبر ، قامت أمي بطهي جميع المحاصيل الجذرية ، وهربت من العمل ، وأمرتني بتنظيف كل شيء باستخدام واحدة ضحلة. لكنني مساعد أمي. قمت بتنظيف كل شيء ، ثم تقطع إلى مكعب ومختلط. كيف عرفت في سن مبكرة أن هذه كانت استعدادات لأوليفير ، معطف من الخل. عشية رأس السنة الجديدة ، تناولنا وعاءًا كبيرًا من سلطة البطاطس والجزر والبصل والبنجر والبازلاء ومخلل الملفوف والمايونيز. حسنًا ، بشكل عام ، كل شيء تم إعداده للسلطات. الرنجة لا يبدو أن تتأثر. لا أتذكر ، لقد مر وقت طويل :) لقد كان محرجًا للغاية. كان من الضروري ترك التعليمات ، كما هو الحال في عملية التسليم هذه: القطع ، التدخل ، عدم اللمس ، إذا لم تكن الأسلحة من الأكتاف. ومع ذلك ، إذا لم تكن الأيدي خارج الكتفين ، فلن تساعد أي تعليمات ... "

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

4. "المال ليغو فطيرة لحسن الحظ"

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

5. "عام جديد في أسلوب سلاحف النينجا المتحولة"

"لا أستطيع أن أقول إن القصة مضحكة أو حزينة ، لكنها تثير أعز ذكرياتي. كان عمري ست سنوات ، ورأيت ما يكفي من السلاحف النينجا ، لعبت معهم ، ولكن ما كان هناك ، وأنا نفسي سلحفاة النينجا (في أفكاري). ماذا يحبون؟ هذا صحيح - البيتزا! وقد طلبت من أمي هذا الطبق للعام الجديد ، ولأنه لم يكن هناك ما يكفي من المال ، بدأت أمي في الخروج وطهي البيتزا. مع الرنجة والجبن المصنعة "الصداقة". في ذلك اليوم ، جلست تحت أكاليل الزهور ، وشربت بيبسي وأكلت البيتزا مع الرنجة. كنت سعيدا ".

مبروك للمؤلفين نحن نحزن لأننا لا نستطيع إعطاء مجموعات للجميع ، الجميع. لكن أرسل أشعة الحب (والرمز الترويجي) Pikabu). دع السنة الجديدة تكون أكثر دفئًا وأكثر راحة. كل اليوسفي!

أصل الرأي والوصف

الصورة: مش بيثون

تم وصف الثعبان الشبكي لأول مرة في عام 1801 من قبل عالم الطبيعة الألماني جوتلوب. يتم ترجمة اسم الأنواع "شبكي" من اللاتينية باسم "شبكة" ، وهو إشارة إلى نظام الألوان المعقدة. تم اقتراح الاسم العام Python من قبل عالم الطبيعة الفرنسي F. Dowden في عام 1803.

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

فيديو: شبكي بيثون

استنادًا إلى الدراسات الوراثية الجزيئية ، تم إدراج صافي الثعبان رسميًا منذ عام 2014 تحت الاسم العلمي شبكاني Malayopython.

ضمن هذا النوع ، يمكن تمييز ثلاثة أنواع فرعية:

  • الملايكوبيثون الشبكيات الشبكية ، وهو تصنيف الأصناف ،
  • الملايكوبيثون الشبكيات saputrai ، التي هي موطن لأجزاء من جزيرة سولاويزي الإندونيسية وسيلايار ،
  • تم العثور على malayopython reticulans jampeanus فقط في جزيرة جامبيا.

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

بيثون هي لغة ناجحة تجاريا

من الجيد أن نعرف أن بيثون يستخدم ليس فقط في الدوائر الأكاديمية والهواة ، ولكن أيضًا في الأعمال. الشركات تثق به بالمال. تستخدم العديد من الشركات Python - Google و Paypal و Instagram و NASA.

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

بيثون هي لغة سهلة للغاية

ومع ذلك ، بيثون من السهل للغاية للتعلم. يتم تعلم الأساسيات في غضون أسبوع. أسبوع آخر سوف يستغرق الحزم وبيئة التدريب. نتيجة لذلك ، في أقل من شهر يمكنك تحقيق مكان في المشروع.

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

جلبت بيثون البرمجة أقرب إلى الناس

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

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

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

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

بيثون هو وسيلة سهلة للوصول إلى التنمية الصناعية.

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

الفقرة أعلاه ، قلت في الواقع قصتي. قبل مقابلة Python ، عملت في مواقع على CMS و Delphi و 1C. بالطبع ، مع هذا يمكنك العثور على وظيفة. ومع ذلك ، على حساب بيثون تقدمت في وظيفتي القديمة ، ثم انتقلت إلى مدينة أخرى لمسافة 6000 كم وانتهى بي المطاف في داتارت. في وقت لاحق وجدت udalenka في أوروبا.

بيثون يدعم جميع نماذج البرمجة

بيثون مرن بشكل مدهش. تصميمها وبناء الجملة دعم بالتساوي معظم النماذج. معيار OOP ، نهج حتمية ، وحدات الإجرائية والوظيفية.

يتم تنفيذ كل نموذج بطريقة غير مكتملة. لذلك ، في OOP لا توجد متغيرات خاصة واجهات. تسطير مزدوج هو اختراق ويدير في وقت واحد. تتم كتابة الواجهات بالخلطات ، لكن من المستحيل تتبع ما يلي بالضبط للواجهة.

للحصول على FP مكتمل ، لا يوجد ما يكفي من lambdas كاملة ومجموعات غير قابلة للتغيير. في المراكز الثلاثة الأولى ، تم إخفاء وظيفة الاختزال في أحشاء المكتبة القياسية.

الحوسبة الكسولة ، والديكورات ومشغل التحميل الزائد يفتحان المجال للمناورات المثيرة للاهتمام. بيثون يحاكي لغات مختلفة ، على سبيل المثال:

lisp وهمية

Hask - Zakos تحت بناء Haskell. من المفيد جدًا لمربي الحيوانات الأليفة معرفة الحيل التي ذهب إليها المؤلف لتحقيق هذا التشابه الدقيق.

fn.py - nishtyaki وظيفية من الصخرة. وبالمثل ، من المثير جدًا أن نرى ما تحت الغطاء.

سؤال معقول ، لماذا هذه المرونة؟ جوابي هو صقل الأنماط والمناهج وتوسيع آفاقي واعتماد أفضل الممارسات من لغات ومنصات أخرى.

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

مع الانتهاء من الفوائد. بيثون ليست مثالية. أرى العيوب التالية:

العيوب الطفيفة مع بناء الجملة

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

تشكيل tuple. ربما شخص ما لا يعرف أن الأقواس حول tuple رمزية. في الواقع ، يتم تعريفه بفاصلة. هناك مشكلة tuple مع عنصر واحد:

لقد نسيت الفاصلة - لم أتلق أي مجموعة ، ولكن رقمًا. غادر فاصلة على الذيل - وليس عدد ، ولكن tuple. ليس مخيفًا ، سينخفض ​​الرمز بسبب أنواع مختلفة. سيبدأ الألم عند صف من الصفوف. تتيح السلسلة والسلسلة العمليات العامة: التكرار ، الوصول بواسطة الفهرس ، الشريحة. يعمل الرمز دون أعطال ، ولكنه ينتج نتيجة غير صحيحة. بسبب فاصلة واحدة.

المثال التالي. سطرين في صف واحد دون فاصلة دمج في واحد. وهذا يعني tuple

لأنه لا يوجد فاصلة بعد "خطأ". يؤدي فحص "الخطأ" في الحالات إلى إرجاع False ، وهو انتهاك مباشر لمنطق العمل.

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

القيادة خارج

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

هل سبق لك أن تضعف جانغو؟ أنا كذلك. كان إذن الخلفية المخصصة. استغرق التصحيح أكثر من ساعة وشبه جلسة BSDM.

طلب ، استجابة ، المستخدم ، كائنات جلسة ترتيب خطيئة كاملة. تعيين روابط الأصدقاء عدة مرات. يصعدون إلى ذاكرة التخزين المؤقت لسبب ما.

متطلبات الخلفية إذن غريب جدا. إرجاع الأسلوب .get_user () كائن المستخدم. ثم يضيع هذا المستخدم في مكان ما ، لا يوجد رابط له. يطلب النظام طريقة .get_user_by_id (). أنا بالفعل أعطى المستخدم ، النادي! لذلك ، تحتاج إما إلى الصعود إلى قاعدة البيانات أو الشبكة مرة أخرى ، أو تخزين قاموس في فئة ليست سلسلة رسائل آمنة.

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

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

هذا يضر البرمجة الوظيفية. هناك اعتقاد خاطئ على نطاق واسع بأن AFs هي خرائط و lambdas.

في بيثون ، سيكون من الجيد إضافة شيء يشجع على التخلي عن الدولة. على سبيل المثال ، قاموس ثابت ، المزيد من الوظائف للعمل مع المجموعات.

ومع ذلك ، فقد كانت هذه لغة مختلفة تماما.

سرعة منخفضة

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

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

في الآونة الأخيرة ، كنت بحاجة لتحليل سجل Nginx ، أصدرت جوجل الأداة المساعدة ngxtop. أنا لم أنظر إلى ما كتبته ، لقد وضعته من الحزم. لقد عالجت سجل الجيجابايت لمدة ساعة. اتضح أن يكون بيثون. الأداة المساعدة على C تحليل في 5 دقائق. كان الاختيار الخاطئ مضيعة للوقت.

استغرق بايثون وقتا طويلا لتطوير. نعم ، إنه أبطأ ، لكننا سنطرحه في وقت أبكر من المنافس في Java. والآن هناك لغات تجمع بين سرعة الشفرة وسرعة التطوير. إذا كتبت بـ X و Y في نفس الوقت تقريبًا ، و Y تعمل بشكل أسرع 5 مرات ، لماذا تأخذ X؟

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

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

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

نقوم بتشغيل تطبيق ويب في Python تحت uWSGI مثل هذا. تبدأ العملية الرئيسية. يدير العمال ، والعمليات في كل منها تطبيق ويب. يتم إطلاق 16 Jungs في وقت واحد ، كل منها يستجيب عندما يكون الآخر مشغولاً.

تضمن العملية الرئيسية أن الجميع متساوون. يقتل أولئك الذين لا يستجيبون ، والذين يعانون من الجوع في الذاكرة أو يعانون من إرهاق شديد - وضع حدًا للاستعلام.

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

يحرم التوازي في العمليات من الوصول إلى الذاكرة المشتركة ، مما يفرض استخدام البدائل مثل Memcache أو Redis ، بينما ذاكرة التخزين المؤقت الأكثر فعالية هي الذاكرة المشتركة.

العمليات الرئيسية مثل uWSGI و Green Unicorn تعد إضافة إضافية في السلسلة التي يمر بها الطلب. زائدة I / O ، وهي نقطة من قطع الأشجار والسقوط.

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

صعوبات الانتشار

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

قبل بضع سنوات ، جربت العديد من الرزم: Py2Exe ، PyInstaller ، CxFreeze. آخر واحد فقط يمكن أن يجمع تطبيق Windu دون أخطاء. لقد فعلت ذلك بشكل جيد للغاية: لقد أصدرت المثبت * .msi ، وسجلت خدمة نظام. لكن الأمر استغرق الكثير من الوقت لبناء وقراءة الاحواض. لماذا لا يزعج مطورو Python تضمين نظام توزيع للمنتج النهائي في الصندوق؟

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

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

في الواقع ، لتشغيل تطبيق ويب في Python ، يجب أن يكون لديك حوالي 10000 ملف .py. إذا لم يكن هناك واحد ، فلن يبدأ النظام. من الممكن عزل هذا التنوع بواسطة Docker ، لكننا هنا نلتفت إلى الأبد.

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

ما هو بيثون؟

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

هذا يقلل من الأداء ، لكنه مريح للغاية. يوجد مترجم فوري يمكنك من خلاله إدخال الأوامر ورؤية النتيجة على الفور. مثل هذا العمل التفاعلي يساعد كثيرا في التعلم.

العمل في المترجم

تشغيل مترجم Python بسيط للغاية على أي نظام تشغيل. على سبيل المثال ، على نظام Linux ، فقط اكتب أمر python في الجهاز الطرفي:

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

هذا هو الإصدار الثالث الذي سيتم النظر فيه في هذه المقالة. الآن النظر في السمات الرئيسية لهذه اللغة.

3. الجمع مع التحول

يمكنك الجمع بين سلسلة مع رقم أو منطقية. ولكن لهذا تحتاج إلى استخدام التحول. هناك دالة str () لهذا:

str = "هذا رقم اختبار" + str (15)
طباعة (شارع)

4. سلسلة البحث

يمكنك العثور على حرف أو سلسلة فرعية باستخدام طريقة العثور:

str = "مرحبًا بك في losst.ru"
طباعة (str.find ("losst.ru"))

تعرض هذه الطريقة موضع التواجد الأول للسلسلة الفرعية losst.ru إذا تم العثور عليها ، وإذا لم يتم العثور على شيء ، يتم إرجاع القيمة -1. تبدأ الوظيفة البحث بالحرف الأول ، ولكن يمكنك البدء بالحرف الأول ، على سبيل المثال ، 26:

str = "مرحبًا بك في losst.ru"
طباعة (str.find ("losst" ، 26))

في هذا الخيار ، سوف ترجع الدالة -1 ، لأنه لم يتم العثور على السلسلة.

5. الحصول على سلسلة فرعية

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

شارع = "اثنان اثنان ثلاثة"
طباعة (شارع: 2)
طباعة (str2 :)
طباعة (str3: 5)
طباعة (str-1)

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

6. استبدال سلسلة

يمكنك استبدال جزء من السلسلة بطريقة الاستبدال:

str = "هذا الموقع عن Linux"
str2 = str.replace ("Linux" ، "Windows")
طباعة (str2)

إذا كان هناك العديد من الحوادث ، فيمكن استبدال الأولى فقط:

str = "هذا موقع Linux وأنا مشترك في هذا الموقع"
str2 = str.replace ("site" ، "page" ، 1)
طباعة (str2)

7. تطهير الاوتار

يمكنك إزالة مسافات إضافية باستخدام وظيفة الشريط:

str = "هذا موقع Linux"
طباعة (str.strip ())

يمكنك أيضًا إزالة المساحات الإضافية فقط على الشريط الأيمن أو فقط على اليسار.

9. تحويل السلاسل

هناك العديد من الوظائف لتحويل السلاسل إلى أنواع رقمية مختلفة ، وهي int () و float () و long () وغيرها. تحول الدالة int () إلى عدد صحيح ، وتطفو () إلى رقم الفاصلة العائمة:

شارع = "10"
str2 = "20"
طباعة (str + str2)
طباعة (int (str) + int (str2))

10. طول الخط

يمكنك استخدام الدالات min () و max () و len () لحساب عدد الأحرف في السلسلة:

str = "مرحبًا بك في Losst"
طباعة (دقيقة (شارع))
طباعة (الحد الأقصى (شارع))
طباعة (لين (شارع))

يعرض الأول الحد الأدنى لحجم الأحرف ، بينما يعرض الثاني الحد الأقصى ، بينما يعرض الثالث إجمالي طول السلسلة.

11. التكرار على سلسلة

يمكنك الوصول إلى كل حرف في السلسلة بشكل منفصل باستخدام حلقة for:

شارع = "مرحبا بكم في الموقع"
بالنسبة لي في النطاق (len (str)):
طباعة

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

2. توليد عدد عشوائي

يمكنك الحصول على أرقام عشوائية باستخدام وحدة عشوائية:

استيراد عشوائي
طباعة (عشوائي. عشوائي ())

بشكل افتراضي ، يتم إنشاء رقم من نطاق من 0.0 إلى 1.0. ولكن يمكنك تعيين النطاق الخاص بك:

استيراد عشوائي
الأرقام = 1،2،3،4،5،6،7
طباعة (عشوائي. اختيار (أرقام))

عمليات التاريخ والوقت

تحتوي لغة برمجة Python على وحدة نمطية DateTime تتيح لك إجراء عمليات متنوعة مع التاريخ والوقت:

استيراد تاريخ
cur_date = datetime.datetime.now ()
طباعة (cur_date)
طباعة (cur_date.year)
طباعة (cur_date.day)
طباعة (cur_date.weekday ())
طباعة (cur_date.month)
طباعة (cur_date.time ())

يوضح المثال كيفية استخراج القيمة المطلوبة من الكائن. يمكنك الحصول على الفرق بين كائنين:

استيراد تاريخ
time1 = datetime.datetime.now ()
time2 = datetime.datetime.now ()
timediff = time2 - time1
طباعة (timediff.microseconds)

يمكنك إنشاء كائنات التاريخ بقيمة تعسفية نفسك:

time1 = datetime.datetime.now ()
time2 = datetime.timedelta (أيام = 3)
time3 = time1 + time2
طباعة (time3.date ())

1. التاريخ والوقت التنسيق

تسمح لك طريقة strftime بتغيير تنسيق التاريخ والوقت حسب المعيار المحدد أو التنسيق المحدد. فيما يلي أحرف التنسيق الأساسية:

  • ٪ أ - يوم من أيام الأسبوع ، الاسم المختصر ،
  • ٪ أ - يوم من أيام الأسبوع ، الاسم الكامل ،
  • ٪ ث - عدد أيام الأسبوع ، من 0 إلى 6 ،
  • ٪ د - يوم من الشهر
  • ٪ ب - الاسم المختصر لهذا الشهر ،
  • ٪ ب - اسم الشهر الكامل ،
  • ٪ م - رقم الشهر
  • ٪ Y - رقم السنة
  • ٪ ح - ساعة من اليوم بتنسيق 24 ساعة ،
  • ٪ ل - ساعة من اليوم بتنسيق 12 ساعة ،
  • ٪ p - صباحا أو مساءا ،
  • ٪ م - دقيقة
  • ٪ S - الثانية.

استيراد تاريخ
date1 = datetime.datetime.now ()
print (date1.strftime ('٪ d.٪ B٪ Y٪ I:٪ M٪ p '))

2. إنشاء تاريخ من سلسلة

يمكنك استخدام الدالة strptime () لإنشاء كائن تاريخ من سلسلة:

استيراد تاريخ
date1 = datetime.datetime.strptime ("2016-11-21" ، "٪ Y-٪ m-٪ d")
date2 = datetime.datetime (السنة = 2015 ، الشهر = 11 ، اليوم = 21)
طباعة (تاريخ 1) ،
طباعة (تاريخ 2) ،

1. نسخ الملفات

لنسخ الملفات ، تحتاج إلى استخدام الوظائف من وحدة subutil:

استيراد شيل
new_path = shutil.copy ('file1.txt' ، 'file2.txt')

إذا كان file1 رابطًا رمزيًا ، فستظل عملية النسخ إنشاء ملف منفصل. إذا كنت ترغب في نسخ رابط رمزي ، استخدم هذا البناء:

new_path = shutil.copy ('file1.txt' ، 'file2.txt' ، follow_symlinks = False)

3. قراءة وكتابة الملفات النصية

يمكنك استخدام الوظائف المدمجة لفتح الملفات ، أو قراءة البيانات أو كتابتها:

fd = open ('file1.txt')
المحتوى = fd.read ()
طباعة (محتوى)

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

fd = open ('file1.txt')
محتوى = fd.read (20)
طباعة (محتوى)

إذا كان الملف كبيرًا جدًا ، فيمكنك تقسيمه إلى خطوط والقيام بالمعالجة بالفعل:

المحتوى = fd.readlines ()
طباعة (محتوى)

لكتابة البيانات إلى ملف ، يجب عليك أولاً فتحها للكتابة. هناك طريقتان للعمل - الكتابة والإضافة إلى نهاية الملف. وضع التسجيل:

fd = open ('file1.txt' ، 'w')
content = fd.write ('محتوى جديد')

وإضافة إلى نهاية الملف:

fd = open ('file1.txt' ، 'a')
content = fd.write ('محتوى جديد')

5. الحصول على وقت الخلق

يمكنك استخدام وظائف getmtime () ، getatime () و getctime () للحصول على وقت آخر تغيير ، آخر وصول وإنشاء. سيتم عرض النتيجة بتنسيق Unix ، لذلك يجب تحويلها إلى نموذج قابل للقراءة:

استيراد نظام التشغيل
استيراد تاريخ
tim = os.path.getctime ('./ file1.txt')
طباعة (datetime.datetime.fromtimestamp (tim))

6. قائمة الملفات

باستخدام وظيفة listdir () ، يمكنك الحصول على قائمة بالملفات في مجلد:

استيراد نظام التشغيل
files = os.listdir ('.')
طباعة (ملفات)

لحل نفس المشكلة ، يمكنك استخدام الوحدة النمطية glob:

استيراد العالم
files = glob.glob ('*')
طباعة (ملفات)

7. تسلسل كائنات بيثون

يسمح لك التسلسل بحفظ الكائن في سلسلة لاستعادته اللاحقة. للقيام بذلك ، استخدم وحدة المخلل:

استيراد المخلل
fd = open ('myfile.pk' ، 'wb')
pickle.dump (mydata ، fd)

ثم ، لاستعادة الكائن ، استخدم:

استيراد المخلل
fd = open ('myfile.pk' ، 'rb')
mydata = pickle.load (fd)

8. ضغط الملف

تتيح لك مكتبة Python القياسية العمل باستخدام تنسيقات الأرشيف المختلفة ، مثل zip و tar و gzip و bzip2. لعرض محتويات ملف استخدام:

استيراد zipfile
my_zip = zipfile.ZipFile ('my_file.zip' ، mode = 'r')
طباعة (file.namelist ())

ولإنشاء أرشيف مضغوط:

استيراد zipfile
file = zipfile.ZipFile ('files.zip' ، 'w')
file.write ('file1.txt')
file.close ()

يمكنك أيضًا فك ضغط الأرشيف:

استيراد zipfile
file = zipfile.ZipFile ('files.zip' ، 'r')
file.extractall ()
file.close ()

يمكنك إضافة ملفات إلى الأرشيف مثل هذا:

استيراد zipfile
file = zipfile.ZipFile ('files.zip' ، 'a')
file.write ('file2.txt')
file.close ()

9. تحليل ملفات CSV و Exel

باستخدام وحدة الباندا ، يمكنك عرض وتحليل محتويات جدولي CSV و Exel. تحتاج أولاً إلى تثبيت الوحدة النمطية باستخدام النقطة:

sudo pip تثبيت الباندا

ثم لتحليل ، اكتب:

استيراد الباندا
data = pandas.read_csv ('file.csv)

بشكل افتراضي ، يستخدم الباندا العمود الأول لرؤوس كل سطر. يمكنك تحديد عمود للفهرس باستخدام معامل index_col أو تحديد False إذا لم تكن هناك حاجة إليه. لكتابة التغييرات على ملف ما ، استخدم الدالة to_csv:

بنفس الطريقة ، يمكنك تحليل ملف Exel:

data = pd.read_excel ('file.xls' ، sheetname = 'Sheet1')

إذا كنت بحاجة إلى فتح جميع الجداول ، استخدم:

ثم يمكنك كتابة جميع البيانات مرة أخرى:

الشبكات في بيثون

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

استيراد المقبس
المضيف = "192.168.1.5"
ميناء = 4040
my_sock = socket.create_connection ((مضيف ، منفذ))

يتصل هذا الرمز بالمنفذ 4040 على الجهاز 192.168.1.5. عندما يكون المقبس مفتوحًا ، يمكنك إرسال واستقبال البيانات:

نحتاج إلى كتابة الحرف b ، قبل السطر ، لأننا نحتاج إلى نقل البيانات في الوضع الثنائي. إذا كانت الرسالة كبيرة جدًا ، فيمكنك تكرارها:

msg = b'Longer Message Goes Here '
mesglen = len (msg)
المجموع = 0
بينما المجموع

للحصول على البيانات ، تحتاج أيضًا إلى فتح المقبس ، ولا يتم استخدام سوى طريقة my_sock_recv:

نوضح هنا مقدار البيانات التي تحتاجها للحصول على - 20000 ، لن يتم نقل البيانات إلى المتغير حتى يتم تلقي 20000 بايت من البيانات. إذا كانت الرسالة أكبر ، فلكي تحصل عليها تحتاج إلى إنشاء حلقة:

العازلة = bytearray (ب '* 2000)
my_sock.recv_into (مخزن مؤقت)

إذا كان المخزن المؤقت فارغًا ، فستتم كتابة الرسالة المستلمة هناك.

1. تلقي البريد من خادم POP3

لتلقي الرسائل ، نستخدم خادم POP:

استيراد getpass ، poplib
pop_serv = poplib.POP3 ('192.168.1.5')
pop_serv.user ("myuser")
pop_serv.pass_ (getpass.getpass ())

تسمح لك وحدة getpass باسترداد كلمة مرور المستخدم بطريقة آمنة ، بحيث لن يتم عرضها على الشاشة. إذا كان خادم POP يستخدم اتصالًا آمنًا ، فأنت بحاجة إلى استخدام فئة POP3_SSL. إذا نجح الاتصال ، يمكنك التفاعل مع الخادم:

msg_list = pop_serv.list () # لسرد الرسائل
msg_count = pop_serv.msg_count ()

لإكمال العمل ، استخدم:

2. تلقي البريد من خادم IMAP

للاتصال والعمل مع خادم IMAP ، يتم استخدام وحدة imaplib:

استيراد imaplib ، getpass
my_imap = imaplib.IMAP4 ('imap.server.com')
my_imap.login ("myuser"، getpass.getpass ())

إذا كان خادم IMAP يستخدم اتصالًا آمنًا ، فيجب استخدام فئة IMAP4_SSL. للحصول على قائمة بالرسائل ، استخدم:

data = my_imap.search (لا شيء ، 'ALL')

ثم يمكنك التنقل بين القائمة المحددة وقراءة كل رسالة:

msg = my_imap.fetch (email_id، '(RFC822)')

لكن لا تنسَ إغلاق الاتصال:

3. إرسال البريد

لإرسال البريد ، يتم استخدام بروتوكول SMTP ووحدة smtplib:

استيراد smtplib ، getpass
my_smtp = smtplib.SMTP (smtp.server.com ')
my_smtp.login ("myuser" ، getpass.getpass ())

كما كان من قبل ، استخدم SMTP_SSL للاتصال الآمن. عند إنشاء الاتصال ، يمكنك إرسال رسالة:

from_addr = '[email protected]'
to_addr = '[email protected]'
msg = "من: [email protected] r n إلى: [email protected] r n r n مرحبًا ، هذه رسالة اختبار"
my_smtp.sendmail (from_addr، to_addr، msg)

1. زحف الويب

تتيح لك وحدة urllib الاستعلام عن صفحات الويب بعدة طرق. لإرسال طلب منتظم ، يتم استخدام فئة الطلب. على سبيل المثال ، نقوم بتنفيذ طلب صفحة عادي:

استيراد urllib.request
my_web = urllib.request.urlopen ('https://www.google.com')
طباعة (my_web.read ())

2. باستخدام طريقة POST

إذا كنت بحاجة إلى تقديم نموذج ويب ، فأنت بحاجة إلى عدم استخدام طلب GET ، ولكن POST:

استيراد urllib.request
mydata = b'Your Data Goes Here '
my_req = urllib.request.Request ('http: // localhost' ، data = mydata ، method = 'POST')
my_form = urllib.request.urlopen (my_req)
طباعة (my_form.status)

3. إنشاء خادم الويب

باستخدام فئة Socket ، يمكنك قبول الاتصالات الواردة ، مما يعني أنه يمكنك إنشاء خادم ويب مع الحد الأدنى من الميزات:

استيراد المقبس
المضيف = ''
ميناء = 4242
my_server = socket.socket (socket.AF_INET ، socket.SOCK_STREAM)
my_server.bind ((مضيف ، منفذ))
my_server.listen (1)

عندما يتم إنشاء الخادم. يمكنك البدء في قبول الاتصالات:

addr = my_server.accept ()
طباعة ("متصل من المضيف" ، addr)
البيانات = conn.recv (1024)

ولا تنس إغلاق الاتصال:

خاصية تعدد

مثل معظم اللغات الحديثة ، يسمح لك Python بتشغيل عدة سلاسل متوازية ، والتي قد تكون مفيدة إذا كنت بحاجة إلى إجراء حسابات معقدة. تحتوي المكتبة القياسية على وحدة خيوط تحتوي على فئة Therad:

استيراد خيوط
def print_message ():
print ('تمت طباعة الرسالة من سلسلة رسائل مختلفة')
my_thread = threading.Thread (الهدف = print_message)
my_thread.start ()

إذا كانت الوظيفة تعمل لفترة طويلة ، فيمكنك التحقق مما إذا كان كل شيء مرتبًا باستخدام الدالة is_alive (). في بعض الأحيان تحتاج مؤشرات الترابط الخاصة بك للوصول إلى الموارد العالمية. لهذا ، يتم استخدام الأقفال:

استيراد خيوط
الأسطوانات = 1
my_lock = threading.Lock ()
def my_func ():
الأسطوانات العالمية ، my_lock
my_lock.acquire ()
المبلغ = الأسطوانات + 1
طباعة (مجموع)
my_lock.release ()
my_thread = threading.Thread (الهدف = my_func)
my_thread.start ()

النتائج

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

في نهاية المقال ، محاضرة كبيرة عن بيثون:

المظهر والميزات

الصورة: بيغ مش بيثون

الثعبان الشبكي هو ثعبان ضخم يعيش في آسيا. يبلغ متوسط ​​طول الجسم ومتوسط ​​وزن الجسم 4.78 م و 170 كجم على التوالي. يصل طول بعض الأفراد إلى 9.0 أمتار ويبلغ وزنهم 270 كجم. على الرغم من أن الثعابين الشبكية التي يزيد طولها عن 6 أمتار نادرة ، إلا أنه وفقًا لكتاب غينيس للأرقام القياسية ، فإن هذا هو الثعبان الموجود الوحيد الذي يتجاوز هذا الطول بانتظام.

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

حقيقة مثيرة للاهتمام: في المنطقة الجغرافية الواسعة لهذا النوع ، توجد اختلافات كبيرة في الحجم واللون والعلامات.

في حديقة الحيوان ، قد يبدو نمط الألوان قاسياً ، ولكن في البيئة المظللة للغابة ، من بين الأوراق المتساقطة والحطام ، فإنه يسمح للثعبان بالاختفاء تقريبًا.وكقاعدة عامة ، أظهر هذا النوع أن الإناث تنمو أكبر بكثير من الذكور في الحجم والوزن. يمكن أن ينمو متوسط ​​الإناث يصل إلى 6.09 م و 90 كجم ، على عكس الذكور ، التي يبلغ متوسط ​​طولها حوالي 4.5 م وتصل إلى 45 كجم.

أنت تعرف الآن ما إذا كان بيثون شبكي سامًا أم لا. دعونا معرفة أين يعيش الثعبان العملاق.

أين يعيش الثعبان شبكي؟

الصورة: ثعبان شبكي بايثون

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

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

يمتد نطاق بيثون شبكي في جنوب آسيا:

بالإضافة إلى ذلك ، فإن هذا النوع منتشر على نطاق واسع في جزر نيكوبار ، وكذلك: سومطرة ، مجموعة من جزر مينتاواي ، 272 جزيرة من ناتونا ، بورنيو ، سولاويزي ، جافا ، لومبوك ، سومباوا ، تيمور ، مالوكو ، سومبا ، فلوريس ، بوهول ، سيبو ، لايت ، مينداناو ، ميندورو ، لوزون ، بالاوان ، باناي ، بوليلو ، سمر ، تافي تافي.

يهيمن الثعبان الشبكي في الغابات المدارية الرطبة والمستنقعات وغابات المرج على ارتفاعات تتراوح بين 1200 و 2500 متر ، وينبغي أن تتراوح درجة الحرارة اللازمة للتكاثر والبقاء ما بين 24 درجة مئوية إلى 34 درجة مئوية في وجود كمية كبيرة من الرطوبة.

ماذا أكلت شبكة الثعبان؟

الصورة: Yellow Net Python

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

نظامه الغذائي الطبيعي يشمل:

في كثير من الأحيان يصطاد للحيوانات الأليفة: الخنازير والماعز والكلاب والدواجن. يتم تضمين الخنازير والأطفال الذين يتراوح وزنهم بين 10-15 كجم في النظام الغذائي المعتاد. ومع ذلك ، هناك حالة معروفة عندما ابتلاع الثعبان الشبكي ، الذي تجاوز وزنه 60 كجم. إنه يصطاد الخفافيش ويصطادها أثناء الطيران ويثبت ذيله على المخالفات في الكهف. يتغذى الأفراد الصغار الذين يصل طولهم إلى 3-4 أمتار بشكل أساسي على القوارض ، مثل الفئران ، ويتحول الأفراد الأكبر حجماً إلى فريسة أكبر.

حقيقة مثيرة للاهتمام: الثعبان الشبكي قادر على ابتلاع فريسة لربع طوله ووزنه. من بين أكبر عناصر الفريسة الموثقة دب ماليزي نصفه جوعًا ويبلغ وزنه 23 كيلوجرامًا ، وقد أكله الثعبان 6.95 م في الحجم واستغرق نحو عشرة أسابيع لهضمه.

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

ملامح الشخصية ونمط الحياة

الصورة: مش بيثون

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

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

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

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

الهيكل الاجتماعي والتكاثر

الصورة: بيغ مش بيثون

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

يجب أن تكون منطقة التكاثر غنية بالفريسة حتى تتمكن الأنثى من إنتاج ذرية. تحتاج الثعابين الشبكية إلى مناطق غير مأهولة للحفاظ على التكاثر العالي. تعتمد صلاحية البويضات على قدرة الأم على حمايتها واحتضانها ، وكذلك على مستوى عالٍ من الرطوبة. عادةً ما تكون الثعابين البالغة جاهزة للتكاثر عندما يصل طول الذكور إلى حوالي 2.5 متر وطولها حوالي 3.0 متر للإناث. يصلون إلى هذا الطول في غضون 3-5 سنوات لكلا الجنسين.

حقائق مثيرة للاهتمام: إذا كان هناك الكثير من الطعام ، فإن الأنثى تنتج ذرية كل عام. في المناطق التي لا يوجد فيها الكثير من الطعام ، يتم تقليل حجم وتيرة براثن (مرة واحدة كل 2-3 سنوات). في سنة التكاثر ، يمكن أن تنتج امرأة واحدة من 8-107 بيضة ، ولكن عادة ما بين 25-50 بيضة. متوسط ​​وزن الجسم للأطفال عند الولادة هو 0.15 غرام.

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

الأعداء الطبيعيين لشبكات الثعبان

الصورة: صافي الثعبان في الطبيعة

ليس لدى الثعابين الشبكية أي أعداء طبيعيون بسبب حجمها وقوتها. تهاجم بيض الثعابين والثعابين التي تم تفريخها مؤخرًا مثل الطيور (الصقور ، النسور ، مالك الحزين) والثدييات الصغيرة. يقتصر صيد الثعابين الشبكية البالغة على التماسيح والحيوانات المفترسة الكبيرة الأخرى. تتعرض الثعابين لخطر كبير للهجوم فقط على حافة البرك حيث يمكنك أن تتوقع هجمات من تمساح. الدفاع الوحيد ضد الحيوانات المفترسة ، بالإضافة إلى الحجم ، هو ضغط قوي للجسم عن طريق الثعبان ، والذي يمكن أن يخرج الحياة من العدو خلال 3-4 دقائق.

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

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

ومن المعروف بشكل موثوق عن العديد من الحالات:

  • في عام 1932 ، تأكل صبي في سن المراهقة من قبل الثعبان البالغ طوله 7.6 متر ، وهرع الثعبان من المنزل ، وعندما عثر عليه ، وجدوا داخل ابن مالك الأفعى ،
  • في عام 1995 ، قتل ثعبان كبير صافي آيه هيون تشوان البالغ من العمر 29 عامًا من ولاية جوهور جنوب ماليزيا. لف الثعبان نفسه حول جثة هامدة ورأسه مثبت في الفكين ، عندما تعثر أخ الضحية عليه ،
  • في عام 2009 ، تم لف صبي عمره 3 سنوات من لاس فيغاس في دوامة مع ثعبان طويل بطول 5.5 متر ، أنقذت الأم الطفل من خلال ضرب الثعبان بسكين ،
  • في عام 2017 ، عُثر على جثة مزارع يبلغ من العمر 25 عامًا من إندونيسيا داخل معدة ثعبان صافي طوله 7 أمتار. قتل الثعبان وأزيل الجثة. كانت هذه أول حالة مؤكدة تمامًا عندما يتغذى الثعبان على البشر. تم توثيق عملية استخراج الجسم باستخدام الصور ومقاطع الفيديو ،
  • في يونيو 2018 ، تم أكل إندونيسي يبلغ من العمر 54 عامًا بواسطة ثعبان طوله 7 أمتار. اختفت أثناء عملها في حديقتها ، وفي اليوم التالي عثر فريق البحث على ثعبان بالقرب من الحديقة مع انتفاخ على جسدها. تم نشر الفيديو مع ثعبان التهمت على الشبكة.

حالة السكان والأنواع

الصورة: ثعبان شبكي بايثون

يختلف الوضع السكاني لشبك الثعبان في أماكن مختلفة من النطاق الجغرافي. هناك العديد من هذه الثعابين في تايلاند ، حيث يزحفون إلى منازل الناس خلال موسم الأمطار. في الفلبين ، هذا نوع واسع الانتشار ، حتى في المناطق السكنية. يعتبر عدد السكان الفلبينيين مستقراً ومتزايداً. الثعابين الشبكية نادرة في ميانمار. في كمبوديا ، تراجع عدد السكان أيضًا وانخفض بنسبة 30-50٪ في عشر سنوات. ممثلو الجنس نادرون جدًا في فيتنام في البرية ، ولكن تم العثور على العديد من الأفراد في جنوب البلاد.

حقيقة مثيرة للاهتمام: لا يتهدد الثعبان الشبكي ، ولكن وفقًا لاتفاقية CITES Appendix II ، يتم تنظيم بيع وبيع جلده لضمان بقائه على قيد الحياة. هذا النوع غير مدرج في القائمة الحمراء للاتحاد الدولي لحفظ الطبيعة.

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

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

شاهد الفيديو: الثعبان المشبك المجنون ازدياد في حجمه وطوله الحال مشطوب لا ارسال ولا استقبال مع جمال العمواسي (مارس 2020).

Pin
Send
Share
Send