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

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

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

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

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

    方法一

    1

    2

    import math

    dir(math)

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    ['__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函数:

    1

    2

    import math

    help(math)

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

    1

    2

    import random

    random.__file__

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

    1

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

    这里需要注意一下:

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

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    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学习网