python 中的内置类属性__name__和__doc__

__doc__

__doc__为模块字符串,模块字符串写在Python文件的第一行,三个引号包含起来的字符串。

为什么要写文档字符串?

因为规范的书写文档字符串可以通过sphinx等工具自动生成文档。

文档字符串的风格有很多。

  • Plain

    • # Plain
      def foo1(a, b):
          """
      
          """
          return a+b
      
  • Epytext

    • # Epytext
      def foo(a, b):
          """
          @param a:
          @param b:
          @return:
          """
          return a+b
      
  • reStucturedText

    • # reStructuredText
      def foo2(a, b):
          """
          :param a:
          :param b:
          :return:
          """
          return a+b
      
  • Numpy

    • # Numpy
      def foo3(a, b):
          """
          Parameters
          ----------
          a
          b
      
          Returns
          -------
      
          """
      
  • Google

    • # Google
      def foo4(a, b):
          """
          Args:
              a:
              b:
      
          Returns:
      
          """
          return a + b
      
  • Pycharm 设置

    • settings->Tools->python integrated tools ->Docstrings->Docstring format

__name__

  • __name__ 是属于 python 中的内置类属性,代表对应程序名称。
  • 当__name__在当前执行的文件中使用时,它的值为__main__;但是当__name__在被调用的模块中时,其值为被调用文件所在的路径。
  • __name__的实际应用
    • 我们在写程序时,经常是功能模块和业务逻辑模块分离,在写功能函数时,经常要进行调试函数是否正常,那么此时我们可以直接在功能模块最下面加上

      if __name__ == '__main__':
          # 需要调试的内容
          pass
      

      这样就可以在下方直接来测试函数的功能了。
      同时在其他模块来调用这些函数时,由于此时if语句不成立,所以此时将不会执行下面的代码块,也就是说在你在调用其他模块时,被调用的模块下方的if函数将不会被执行从而不会影响整个程序的正常使用。

    • 总而言之:方便程序进行测试。

posted @ 2020-04-09 10:25  wenshinlee  阅读(689)  评论(0编辑  收藏  举报