كسول - تحديث

إعادة تحميل بيثون كسول
التحميل الان

كسول - تحديث الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • MIT/X Consortium Lic...
  • اسم الناشر:
  • Dave Abrahams
  • موقع ويب الناشر:
  • http://boostpro.com

كسول - تحديث العلامات


كسول - تحديث وصف

إعادة تحميل بيثون كسول Lazy-Rephone هو وحدة Python التي توفر طريقة للتحكم في ما يحدث عند إعادة التحميل. يتم إعادة تحميل الوحدات النمطامات بنفس الترتيب الذي ستكون فيه إذا تم تحميلها لأول مرة، وللأسباب نفسها، وبالتالي القضاء على بعض عدم القدرة على التنبؤ المرتبطة بمراجع الوحدة النمطية الدائرية. USAGAGE: FOO) من FOO.BAR Import Baz # <= FOO، BAR، و BAZ إعادة تحميل المخالفات مع وحدات إعادة تحميل في Python هي الفيلق والمعروف. أثناء التنفيذ العادي، يشير إلى الكائنات في الوحدات النمطية وإلى الوحدات النمطية المنفذة التي تم توزيعها حول الرسم البياني للكائن بطرق يمكن أن يكون من الصعب إدارتها والتنبؤ بها. نتيجة لذلك، من الشائع جدا أن يكون لديك رمز قديم معلق طويلا بعد إعادة التحميل، وربما الرجوع إلى الأشياء التي تتوقع إعادة تحميلها. هذا ليس بالضرورة خطأ ثعبان: إنها مجرد مشكلة صعبة لحلها بشكل جيد. لذلك، فإن معظم التطبيقات التي تحتاج إلى تحديث شفرةها تجد ديناميكيا طريقة لبدء عملية بيثون جديدة لهذا الغرض. أوصي بشدة أن تفعل ذلك إذا كان خيارا بالنسبة لك؛ سوف تنقذ نفسك الكثير من الصداع تصحيح الأخطاء على المدى الطويل. لبقية منا، هناك lazy_reload.what python's __builtin __. إعادة تحميل الدالة Doesthe Reduction () وظيفة Python بسيطة للغاية: إنه يؤدي إلى تفسير ملف مصدر الوحدة النمطية في سياق كائن الوحدة النمطية الموجودة. أي سمات الوحدة النادثة غير الكتابة عن طريق تظل التفسير في مكانها. لذلك على سبيل المثال، يمكن أن تكتشف الوحدة النمطية أنه يتم إعادة تحميلها على النحو التالي: إذا كانت "بالفعل_ تحميل" في العالم (): طباعة "أنا أحردا ledreade'already_loaded = Truealso، لا تقدم Python محاولة لتحديث المراجع إلى تلك الوحدة في أي مكان آخر في البرنامج. لأن هوية كائن الوحدة النمطية لا تتغير، فإن مراجع الوحدة النمطية المباشرة ستظل تعمل. ومع ذلك، فإن أي إشارات موجودة إلى الوظائف أو الفئات المحددة في هذه الوحدة ستظل تشير إلى التعريفات القديمة. الكائنات التي تم إنشاؤها قبل إعادة التحديث لا تزال تشير إلى الفئات القديمة عبر سمة __Class__ الخاصة بهم، وأي أسماء محلية تم استيرادها إلى وحدات أخرى لا تزال تشير إلى تعريفاتها القديمة. What Lazy_Reload Doylazy_reload (FOO) (أو Lazy_reload ('Foo')) يزيل Foo و جميع عمليات نقلها من SYS.Modules، وترتب على المرة القادمة التي يتم فيها استيراد أي منهم، سيتم إعادة تحميلها. قبل إعادة تحميل وحدة نمطية تلقائيا، سيتم أولا حذف أي سمات نقل مباشر أولا، لمنع بعض أشكال الاستيراد من اختيار تلك الموجودة بدلا من إعادة تحميل القائمة المنشطة. what lazy_reload لا تفعل - لا تخلص من المراجع إلى إعادة تحميل الوحدة النمطية من وحدات أخرى. على وجه الخصوص، بعد تحميل هذا: # bar.py استيراد foo def f (): ارجع foo.x- المرجع إلى foo موجود بالفعل في البار، لذلك بعد lazy_unload (foo)، لن تكون مكالمة إلى bar.f () لن تسبب foo ليتم إعادة تحميلها على الرغم من استخدامها هناك. وبالتالي، فأنت أكثر أمانا باستخدام Lazy_Unload على وحدات المستوى الأعلى غير معروف للأجزاء الأخرى من برنامجك بالاسم. - لا يسبب ذلك على الفور أي شيء يجب إعادة تحميله. تذكر أن عملية إعادة التحميل كسولة، ويحدث فقط عندما يتم استيراد الوحدة النمطية. - كما أنه لا يسبب أي شيء "تفريغ"، ولا يفعل أي شيء صريح لاستعادة الذاكرة. إذا كان البرنامج يحتفظ بالإشارات إلى الوظائف والفئات، فلا تتوقع أن يتم جمعها من القمامة. (احترس من الداغماء؛ معلومات من الاستثناء الأخير الذي أثيرت هو وسيلة خفية واحدة يمكن أن تبقى الأشياء على قيد الحياة لفترة أطول مما تريد). - لا يطوي لغسيلك أو غسل القطط الخاصة بك. إذا كنت لا تستمتع بهذه الأنشطة بنفسك، فاعتبر العديد من البدائل بأسعار معقولة للحيوانات الأليفة والملابس. متطلبات: بيثون


كسول - تحديث برامج ذات صلة

lazr.enum.

تعدد مع دعم Zope.Schema المفردات وسائل الراحة الصديقة لقاعدة البيانات ...

121

تحميل