اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

يمكن استخدام الدالة  getsource بغرض الحصول على الكود المصدرى لكائن ما , ويتم كتابتها بالصيغة الاتية:

inspect.getsource(object)

ويكون استخدامها كما فى المثال الاتي:

#baz.py
import inspect
class foo:
      def bar():
          print 'Hello'
print(inspect.getsource(foo))

////////output//////////
C:/Users/TutorialsPoint1/~.py
class foo:
      def bar():
          print 'Hello'
 

بالاضافة لذلك, بما ان المكتبة مثبتة على الحاسوب خاصتك, يمكن فتح الملف المراد الحصول على الكود المصدرى الخاص به وقراءة الكود مباشرة

من اجل الحصول على موقع الملف على جهازك نستخدم الخاصية ._file_ كما موضح فى المثال الاتي

import numpy.random 
print(numpy.random.__file__)

فى المثال السابق قمنا باستدعاء الmodule المسمى numpy.random 

وقمنا بالحصول على موقعه , من ثم يمكنك فتحه بشكل مباشر وقراءة الكود باستخدام محرر الاكواد او الide المفضل لديك

  • 0
نشر

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

>>> help('numpy')
Help on package numpy:

NAME
    numpy

DESCRIPTION
    NumPy
    =====

    Provides
      1. An array object of arbitrary homogeneous items
      2. Fast mathematical operations over arrays
      3. Linear Algebra, Fourier Transforms, Random Number Generation

    How to use the documentation
    ----------------------------
    Documentation is available in two forms: docstrings provided
    with the code, and a loose standing reference guide, available from
    `the NumPy homepage <https://www.scipy.org>`_.

    We recommend exploring the docstrings using
    `IPython <https://ipython.org>`_, an advanced Python shell with
    TAB-completion and introspection capabilities.  See below for further
    instructions.

    The docstring examples assume that `numpy` has been imported as `np`::

      >>> import numpy as np

-- More  --

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

كما يمكنك أن تستعمل نفس الدالة لقراءة توثيق دالة ميعنة أو صنف معين من خلال كتابة اسم المكتبة ثم اسم الدالة أو الصنف ويفصلهما نقطة، كالتالي:

>>> help('numpy.array')
Help on built-in function array in numpy:

numpy.array = array(...)
    array(object, dtype=None, *, copy=True, order='K', subok=False, ndmin=0,
          like=None)

    Create an array.

    Parameters
    ----------
    object : array_like
        An array, any object exposing the array interface, an object whose
        __array__ method returns an array, or any (nested) sequence.
    dtype : data-type, optional
        The desired data-type for the array.  If not given, then the type will
        be determined as the minimum type required to hold the objects in the
        sequence.
    copy : bool, optional
        If true (default), then the object is copied.  Otherwise, a copy will
        only be made if __array__ returns a copy, if obj is a nested sequence,
        or if a copy is needed to satisfy any of the other requirements
        (`dtype`, `order`, etc.).
    order : {'K', 'A', 'C', 'F'}, optional
        Specify the memory layout of the array. If object is not an array, the
        newly created array will be in C order (row major) unless 'F' is
        specified, in which case it will be in Fortran order (column major).
        If object is an array the following holds.

        ===== ========= ===================================================
-- More  --

للخروج من التوثيق يمكنك الضغط على q أو Ctrl + c فقط.

ولطباعة محتوى مكتبة معينة يمكنك أن تستعمل دالة open والتابع __file__ لقراءة ملفات المكتبة ثم طبعاتها، كالتالي:

>>> import flask
>>> f = open(flask.json.__file__, 'r')
>>> content = f.read()
>>> print(content)

بالتأكيد فتح ملفات المكتبة وتصفحها سيكون أفضل وأسهل وأكثر عملية، ويمكنك الحصول على مسار أي مكتبة من خلال التابع __file__ أيضًا كالتالي:

>>> flask.__file__
'C:\\Python38\\lib\\site-packages\\flask\\__init__.py'

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...