Python筆記—幫助系統(inspect,dir,help,__doc__,vars)
Python官方文檔:https://docs.python.org
import matplotlib.pyplot as plt
import inspect
inspect
一個自學神器庫,可以查看函數的代碼,參數,以及路徑
- 查看函數的路徑
inspect.getabsfile(...)
- 查看全部代碼
inspect.getsource(模塊.函數)
或者(模塊.類.函數)
- 查看函數參數
inspect.getfullargspec(...)
查看類的參數,則括弧里為(模塊.類.__init__)
inspect.getabsfile(plt.figure) #查看`plt.figure`的路徑
c:\users\administrator\appdata\local\programs\python\python36\lib\site-packages\matplotlib\pyplot.py
print(inspect.getsource(plt.figure)) #查看`plt.figure`的全部代碼
def figure(num=None, # autoincrement if None, else integer from 1-N
figsize=None, # defaults to rc figure.figsize
dpi=None, # defaults to rc figure.dpi
facecolor=None, # defaults to rc figure.facecolor
edgecolor=None, # defaults to rc figure.edgecolor
frameon=True,
FigureClass=Figure,
clear=False,
**kwargs
):
"""
Creates a new figure.
Parameters
----------
inspect.getfullargspec
- 獲取Python函數參數的名稱和默認值
返回結果
GetFullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, annotations)
結果參數
args
:是位置參數名稱的列表varargs
:是*
參數的名稱,None
表示不接受任意位置參數varkw
:是**
參數的名稱,None
表示不接受任意的關鍵字參數。defaults
:是與n
個位置參數相對應的默認參數值的n
元組,None
表示沒有默認值kwonlyargs
:是關鍵字參數名稱的列表。kwonlydefaults
:是一個映射到kwonlyargs
參數默認值字典,None
表示沒有annotations
:是將參數名稱映射到注釋的字典。該特殊鍵return
用於報告函數返回值注釋(如果有的話)
inspect.getfullargspec(plt.figure) #查看`plt.figure`的所有參數
FullArgSpec(args=[num, figsize, dpi, facecolor, edgecolor, frameon, FigureClass, clear], varargs=None, varkw=kwargs, defaults=(None, None, None, None, None, True, <class matplotlib.figure.Figure>, False), kwonlyargs=[], kwonlydefaults=None, annotations={})
Dir
在python中,一切皆對象
dir(object)
:返回object
所有有效的屬性列表object
:對象
fig = plt.figure()
dir(fig)
[_Figure__remove_ax,
__class__,
__delattr__,
__dict__,
__dir__,
__doc__,
__eq__,
__format__,
__ge__,
__getattribute__,
__getstate__,
__gt__,
__hash__,
....
<Figure size 432x288 with 0 Axes>
doc , help
查看對象某個屬性的幫助文檔
a = plt.figure()
print(a.gca.__doc__)
help(a.gca)
Get the current axes, creating one if necessary
The following kwargs are supported for ensuring the returned axes
adheres to the given projection etc., and for axes creation if
the active axes does not exist:
adjustable: [ box | datalim]
agg_filter: a filter function, which takes a (m, n, 3) float array and a dpi value, and returns a (m, n, 3) array
alpha: float (0.0 transparent through 1.0 opaque)
anchor: [ C | SW | S | SE | E | NE | N | NW | W ]
animated: bool
aspect: unknown
autoscale_on: bool
autoscalex_on: bool
...
<Figure size 432x288 with 0 Axes>
# vars
返回對象object
的屬性和屬性值的字典對象。
vars(object)
:返回對象object
的屬性和屬性值的字典對象,如果沒有參數,就列印當前調用位置的屬性和屬性值,類似 locals()
a = plt.figure()
vars(a)
{_stale: True,
stale_callback: None,
figure: None,
_transform: None,
_transformSet: False,
_visible: True,
_animated: False,
_alpha: None,
clipbox: None,
_clippath: None,
_clipon: True,
_label: ,
_picker: None,
_contains: None,
_rasterized: None,
...
<Figure size 432x288 with 0 Axes>
推薦閱讀:
※Python面試筆試300題系列1
※Scrapy爬蟲模擬登錄豆瓣
※python處理json文件?
※《流暢的 Python 》閱讀筆記
※Python——抽象基類