python笔记30-docstring注释添加变量

前言

”””美程序员枪击4同事,竟因代码不写注释?”””

python里面添加字符串注释非常简单,如何将变量放入 python 的函数注释里面呢?docstring也就是给代码加注释的内容了,python可以给函数,类、方法,模块添加注释内容,注释标准格式一般是三个双引号(或三个单引号)

docstring

先看一个简单案例,在函数里面添加注释内容,函数下方三个双引号里面就可以写该函数的注释文档了,如果需要调用此函数的注释内容

# coding:utf-8 def yoyo():    """函数功能:打印hello world!"""    print("hello world!") a = yoyo.__doc__ print(a)

运行结果:函数功能:打印hello world!

类、方法和模块也能添加注释内容

# coding:utf-8 """ 这个是该模块的注释内容:hello.py """ class Hello():    """hello类,实现xx功能"""    def world(self):        """world方法,打印world"""        print("world") a = __doc__  # 获取模块的docstring内容 print(a) b = Hello.__doc__   # 获取类的docstring内容 print(b) c = Hello.world.__doc__  # 获取方法的docstring内容 print(c)

运行结果

这个是该模块的注释内容:hello.py hello类,实现xx功能 world方法,打印world

如果函数里面带有参数,也能给参数添加注释
一个标准的函数注释应该包含着几个部分:

  • 函数实现功能、
  • 参数说明(需传的参数是什么意思,参数类型)
  • 函数返回值,没return 默认为None
    ```
    def login(user, psw):
     “””
     登录函数-连着输入三个双引号后回车,自动出来格式
     :param user: 用户名,str
     :param psw: 密码, str
     :return: resut是登录结果, True or False
     “””
     print(user)
     print(psw)
     resut = “登录结果”
     return resut

print(login.doc)

运行结果登录函数-连着输入三个双引号后回车,自动出来格式 :param user: 用户名,str :param psw: 密码, str :return: resut是登录结果, True or False# docstring添加变量 在docstring里面添加变量内容,变量的部分用%s代替,最后取值的时候,前面加一行代码 用变量替换里面的%s部分

coding:utf-8

c = “这里是变量内容”

def hello():
   “””添加的注释部分,%s”””
   print(“hello world!”)

hello.doc %= c  # 先用变量c替换里面的%s部分
a = hello.doc
print(a)

运行结果: 添加的注释部分,这里是变量内容 还有一种写法,可以先不在函数里面加内容,直接给函数.__doc__赋值

coding:utf-8

c = “这里是变量内容”

def hello():
   print(“hello world!”)

用hello.doc方法添加注释内容

hello.doc = “””添加的注释部分,%s”””%c
a = hello.doc
print(a)

运行结果:添加的注释部分,这里是变量内容 # 使用装饰器decorator 上面的方法虽然能实现添加变量注释,但是不太优雅,接下来可以封装一个函数,使用装饰器来把变量传入进去

coding:utf-8

def docstringparameter(*sub):
   “””写一个可以添加变量注释的装饰器”””
   def dec(obj):
      obj.doc = obj.
_doc.format(*sub)
      return obj
   return dec

案例1-添加一个参数

@docstring_parameter(“打印hello world”)
def hello():
   “”” 实现功能:{0}”””
   print(“hello world!”)

a = hello.doc
print(a)

案例2-添加2个参数

@docstring_parameter(“打印hello”, “打印world”)
def world():
   “”” 实现功能:{0}, {1}”””
   print(“hello world!”)

b = world.doc
print(b)

```
运行结果:
实现功能:打印hello world
实现功能:打印hello, 打印world

参考文档:https://ask.helplib.com/python-2.7/post_1277206

(0)

相关推荐

  • pyhon笔记入门

    人生苦短,我用Python 博客园精华区01-15 23:46 (一)认识Python Python背景介绍 Python的格言: Life is short,use python. (人生苦短,我用 ...

  • Python期末复习笔记

    Python期末复习笔记 簟纹 关注 0.154 · 字数 4487 · 阅读 1780 2021-01-07 21:54 本篇根据老师画的重点基本上将期末考点都囊括了 如果发现有错误或遗漏欢迎各位在 ...

  • python注释、变量、常量的学习

    注释.变量.常量的学习 注释 什么是注释 注释是对代码的解释,方便后期的阅读代码,可以使在后期的代码维护中事半功倍. 注释的作用 注释可以用来排查代码中的BUG,在一段有BUG的代码当中,用注释选中其 ...

  • python笔记11-多线程之Condition(条件变量)

    前言 当小伙伴a在往火锅里面添加鱼丸,这个就是生产者行为:另外一个小伙伴b在吃掉鱼丸就是消费者行为.当火锅里面鱼丸达到一定数量加满后b才能吃,这就是一种条件判断了. 这就是本篇要讲的Condition ...

  • python笔记49-yaml文件中变量的使用(锚点& 与 引用*)

    前言 在yaml文件中如何引用变量?当我们在一个yaml文件中写很多测试数据时候,比如一些配置信息像用户名,邮箱,数据库配置等很多地方都会重复用到. 重复的数据,如果不设置变量,后续维护起来就很困难. ...

  • Python学习之路第二节Python语句缩进和注释(代码块以缩进开始以第一条未缩进的行结束缩进量取决于您但是在整个块中缩进量必须一致)

    (代码块以缩进开始以第一条未缩进的行结束缩进量取决于您但是在整个块中缩进量必须一致) Python语句 Python解释器可以执行的指令称为语句.例如,a = 1是一个赋值语句.if陈述,for陈述, ...

  • 完整版Python笔记|超级有用

    完整版Python笔记|超级有用

  • 胡希恕伤寒论学习笔记——30

    30.问曰:证象阳旦,按法治之而增剧,厥逆,咽中干,两胫拘急而谵语.师曰:言夜半手足当温,两脚当伸.后如师言,何以知此?答曰:寸口脉浮而大,浮为风,大为虚,风则生微热,虚则两胫挛,病形象桂枝,因加附子 ...

  • 【python笔记】python java 语法,对比学习

    【python笔记】python java 语法,对比学习

  • 《难经》学习笔记30

    十八难(第二段,脉有三部九候,各所主) [原文]     脉有三部九侯,各何主之?   然:三部者,寸.关.尺也.九侯者,浮.中.沉也.  上部法天,主胸上至头之有疾也:中部法人,主鬲以下至脐之有疾也 ...

  • python笔记2-冒泡排序

    前言 面试的时候经常有面试官喜欢问如何进行冒泡排序?这个问题相信能难倒一批英雄好汉,本篇就详细讲解如何用python进行冒泡排序. 一.基本原理 1.概念: 冒泡排序(Bubble Sort),是一种 ...