Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
4700d864
Kaydet (Commit)
4700d864
authored
Ara 02, 2016
tarafından
Serhiy Storchaka
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Sade Fark
Merge from 3.6.
üst
b9362640
3c35fdb8
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
74 additions
and
34 deletions
+74
-34
inspect.rst
Doc/library/inspect.rst
+37
-17
3.6.rst
Doc/whatsnew/3.6.rst
+7
-0
inspect.py
Lib/inspect.py
+25
-17
NEWS
Misc/NEWS
+5
-0
No files found.
Doc/library/inspect.rst
Dosyayı görüntüle @
4700d864
...
...
@@ -815,45 +815,65 @@ Classes and functions
.. function:: getargspec(func)
Get the names and default values of a Python function's
argument
s. A
Get the names and default values of a Python function's
parameter
s. A
:term:`named tuple` ``ArgSpec(args, varargs, keywords, defaults)`` is
returned. *args* is a list of the
argument
names. *varargs* and *keywords*
are the names of the ``*`` and ``**``
argument
s or ``None``. *defaults* is a
returned. *args* is a list of the
parameter
names. *varargs* and *keywords*
are the names of the ``*`` and ``**``
parameter
s or ``None``. *defaults* is a
tuple of default argument values or ``None`` if there are no default
arguments; if this tuple has *n* elements, they correspond to the last
*n* elements listed in *args*.
.. deprecated:: 3.0
Use :func:`signature` and
Use :func:`getfullargspec` for an updated API that is usually a drop-in
replacement, but also correctly handles function annotations and
keyword-only parameters.
Alternatively, use :func:`signature` and
:ref:`Signature Object <inspect-signature-object>`, which provide a
better introspecting
API for callables.
more structured introspection
API for callables.
.. function:: getfullargspec(func)
Get the names and default values of a Python function's
argument
s. A
Get the names and default values of a Python function's
parameter
s. A
:term:`named tuple` is returned:
``FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults,
annotations)``
*args* is a list of the argument names. *varargs* and *varkw* are the names
of the ``*`` and ``**`` arguments or ``None``. *defaults* is an *n*-tuple
of the default values of the last *n* arguments, or ``None`` if there are no
default arguments. *kwonlyargs* is a list of
keyword-only argument names. *kwonlydefaults* is a dictionary mapping names
from kwonlyargs to defaults. *annotations* is a dictionary mapping argument
names to annotations.
*args* is a list of the positional parameter names.
*varargs* is the name of the ``*`` parameter or ``None`` if arbitrary
positional arguments are not accepted.
*varkw* is the name of the ``**`` parameter or ``None`` if arbitrary
keyword arguments are not accepted.
*defaults* is an *n*-tuple of default argument values corresponding to the
last *n* positional parameters, or ``None`` if there are no such defaults
defined.
*kwonlyargs* is a list of keyword-only parameter names.
*kwonlydefaults* is a dictionary mapping parameter names from *kwonlyargs*
to the default values used if no argument is supplied.
*annotations* is a dictionary mapping parameter names to annotations.
The special key ``"return"`` is used to report the function return value
annotation (if any).
Note that :func:`signature` and
:ref:`Signature Object <inspect-signature-object>` provide the recommended
API for callable introspection, and support additional behaviours (like
positional-only arguments) that are sometimes encountered in extension module
APIs. This function is retained primarily for use in code that needs to
maintain compatibility with the Python 2 ``inspect`` module API.
.. versionchanged:: 3.4
This function is now based on :func:`signature`, but still ignores
``__wrapped__`` attributes and includes the already bound first
parameter in the signature output for bound methods.
.. deprecated:: 3.5
Use :func:`signature` and
:ref:`Signature Object <inspect-signature-object>`, which provide a
better introspecting API for callables.
.. versionchanged:: 3.6
This method was previously documented as deprecated in favour of
:func:`signature` in Python 3.5, but that decision has been reversed
in order to restore a clearly supported standard interface for
single-source Python 2/3 code migrating away from the legacy
:func:`getargspec` API.
.. function:: getargvalues(frame)
...
...
Doc/whatsnew/3.6.rst
Dosyayı görüntüle @
4700d864
...
...
@@ -1155,6 +1155,13 @@ implicit ``.0`` parameters generated by the compiler for comprehension and
generator expression scopes as if they were positional-only parameters called
``implicit0``. (Contributed by Jelle Zijlstra in :issue:`19611`.)
To reduce code churn when upgrading from Python 2.7 and the legacy
:func:`inspect.getargspec` API, the previously documented deprecation of
:func:`inspect.getfullargspec` has been reversed. While this function is
convenient for single/source Python 2/3 code bases, the richer
:func:`inspect.signature` interface remains the recommended approach for new
code. (Contributed by Nick Coghlan in :issue:`27172`)
json
----
...
...
Lib/inspect.py
Dosyayı görüntüle @
4700d864
...
...
@@ -1019,24 +1019,30 @@ def _getfullargs(co):
ArgSpec
=
namedtuple
(
'ArgSpec'
,
'args varargs keywords defaults'
)
def
getargspec
(
func
):
"""Get the names and default values of a function's
argument
s.
"""Get the names and default values of a function's
parameter
s.
A tuple of four things is returned: (args, varargs, keywords, defaults).
'args' is a list of the argument names, including keyword-only argument names.
'varargs' and 'keywords' are the names of the * and **
argument
s or None.
'defaults' is an n-tuple of the default values of the last n
argument
s.
'varargs' and 'keywords' are the names of the * and **
parameter
s or None.
'defaults' is an n-tuple of the default values of the last n
parameter
s.
Use the getfullargspec() API for Python 3 code, as annotations
and keyword arguments are supported. getargspec() will raise ValueError
if the func has either annotations or keyword arguments.
This function is deprecated, as it does not support annotations or
keyword-only parameters and will raise ValueError if either is present
on the supplied callable.
For a more structured introspection API, use inspect.signature() instead.
Alternatively, use getfullargspec() for an API with a similar namedtuple
based interface, but full support for annotations and keyword-only
parameters.
"""
warnings
.
warn
(
"inspect.getargspec() is deprecated, "
"use inspect.signature()
instead"
,
DeprecationWarning
,
stacklevel
=
2
)
"use inspect.signature()
or inspect.getfullargspec()"
,
DeprecationWarning
,
stacklevel
=
2
)
args
,
varargs
,
varkw
,
defaults
,
kwonlyargs
,
kwonlydefaults
,
ann
=
\
getfullargspec
(
func
)
if
kwonlyargs
or
ann
:
raise
ValueError
(
"Function has keyword-only
argument
s or annotations"
raise
ValueError
(
"Function has keyword-only
parameter
s or annotations"
", use getfullargspec() API which can support them"
)
return
ArgSpec
(
args
,
varargs
,
varkw
,
defaults
)
...
...
@@ -1044,18 +1050,20 @@ FullArgSpec = namedtuple('FullArgSpec',
'args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations'
)
def
getfullargspec
(
func
):
"""Get the names and default values of a callable object's
argument
s.
"""Get the names and default values of a callable object's
parameter
s.
A tuple of seven things is returned:
(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults annotations).
'args' is a list of the
argument
names.
'varargs' and 'varkw' are the names of the * and **
argument
s or None.
'defaults' is an n-tuple of the default values of the last n
argument
s.
'kwonlyargs' is a list of keyword-only
argument
names.
(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults
,
annotations).
'args' is a list of the
parameter
names.
'varargs' and 'varkw' are the names of the * and **
parameter
s or None.
'defaults' is an n-tuple of the default values of the last n
parameter
s.
'kwonlyargs' is a list of keyword-only
parameter
names.
'kwonlydefaults' is a dictionary mapping names from kwonlyargs to defaults.
'annotations' is a dictionary mapping
argument
names to annotations.
'annotations' is a dictionary mapping
parameter
names to annotations.
This function is deprecated, use inspect.signature() instead.
Notable differences from inspect.signature():
- the "self" parameter is always reported, even for bound methods
- wrapper chains defined by __wrapped__ *not* unwrapped automatically
"""
try
:
...
...
Misc/NEWS
Dosyayı görüntüle @
4700d864
...
...
@@ -160,6 +160,11 @@ Core and Builtins
Library
-------
- Issue #27172: To assist with upgrades from 2.7, the previously documented
deprecation of ``inspect.getfullargspec()`` has been reversed. This decision
may be revisited again after the Python 2.7 branch is no longer officially
supported.
- Issue #28740: Add sys.getandroidapilevel(): return the build time API version
of Android as an integer. Function only available on Android.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment