• 技术文章 >Python技术 >Python基础教程

    一分钟学会如何查看Python内置函数的用法及其源码

    silencementsilencement2019-07-09 16:36:51原创4365

    在用Python进行各种分析的时候,我们会用到各种各样的函数,比如,我们用SQL时,经常使用join、max等各种函数,那么想看Python是否有这个函数,这个时候可能大部分人会百度,那么如何不使用百度,而用Python本身来查找函数,学习函数的用法呢?下面,小白就总结一下自己一些经历~

    比如,我们在用math模块,但是不知道这个模块下是否有自己常用的函数,那么如何做呢?

    方法一

    import math
    dir(math)

    首先,我们导入这个模块,使用dir函数,就可以看到,这个模块下都有哪些函数。

    ['__doc__',
     '__loader__',
     '__name__',
     '__package__',
     '__spec__',
     'acos',
     'acosh',
     'asin',
     'asinh',
     'atan',
     'atan2',
     'atanh',
     'ceil',
     'copysign',
     'cos',
     'cosh',
     'degrees',
     'e',
     'erf',
     'erfc',
     'exp',
     'expm1',
     'fabs',
     'factorial',
     'floor',
     'fmod',
     'frexp',
     'fsum',
     'gamma',
     'gcd',
     'hypot',
     'inf',
     'isclose',
     'isfinite',
     'isinf',
     'isnan',
     'ldexp',
     'lgamma',
     'log',
     'log10',
     'log1p',
     'log2',
     'modf',
     'nan',
     'pi',
     'pow',
     'radians',
     'sin',
     'sinh',
     'sqrt',
     'tan',
     'tanh',
     'tau',
     'trunc']

    这种方法是得到一个函数列表,当然,这里还可以使用help函数:

    import math
    help(math)

    如果还是对函数不是特别了解,可以到方法的文件中去看函数的定义,利用***.__file__查看位置,然后打开后缀名为.py的文件。

    import random
    random.__file__

    结果为:这样就可以到这个py文件中查看源码

    'D:\\Anaconda2\\envs\\py3\\lib\\random.py'

    这里需要注意一下:

    ***.pyc的文件是编译后的文件,打开是看不懂的,所以要看***.py文件。

    在里面可以搜想看的函数,具体的定义,比如说,搜了expovariate函数,下面把该方法贴出来,这样就可以看到该方法是如何声明的辣,这样是不是也很方便,而且了解的更加透彻呢~

    def expovariate(self, lambd):
            """Exponential distribution.
            lambd is 1.0 divided by the desired mean.  It should be
            nonzero.  (The parameter would be called "lambda", but that is
            a reserved word in Python.)  Returned values range from 0 to
            positive infinity if lambd is positive, and from negative
            infinity to 0 if lambd is negative.
            """
            # lambd: rate lambd = 1/mean
            # ('lambda' is a Python reserved word)
     
            # we use 1-random() instead of random() to preclude the
            # possibility of taking the log of zero.
            return -_log(1.0 - self.random())/lambd
    专题推荐:内置函数
    上一篇:Python如何按PEP8风格自动排版代码 下一篇:Python如何运用matplotlib库绘制3D图形

    相关文章推荐

    • 鲜为人知的python位运算

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网