前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python笔记30-docstring注释添加变量

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

作者头像
上海-悠悠
发布2018-10-24 11:22:24
1.7K0
发布2018-10-24 11:22:24
举报

前言

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

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

docstring

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

代码语言:javascript
复制
# coding:utf-8

def yoyo():
    """函数功能:打印hello world!"""
    print("hello world!")

a = yoyo.__doc__
print(a)

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

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

代码语言:javascript
复制
# 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)

运行结果

代码语言:javascript
复制
这个是该模块的注释内容: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)

代码语言:javascript
复制
运行结果
代码语言:javascript
复制
登录函数-连着输入三个双引号后回车,自动出来格式
:param user: 用户名,str
:param psw: 密码, str
:return: resut是登录结果, True or False
代码语言:javascript
复制
# docstring添加变量

在docstring里面添加变量内容,变量的部分用%s代替,最后取值的时候,前面加一行代码
用变量替换里面的%s部分

coding:utf-8

c = “这里是变量内容”

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

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

代码语言:javascript
复制
运行结果:
添加的注释部分,这里是变量内容

还有一种写法,可以先不在函数里面加内容,直接给函数.__doc__赋值

coding:utf-8

c = “这里是变量内容”

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

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

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

代码语言:javascript
复制
运行结果:添加的注释部分,这里是变量内容

# 使用装饰器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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-10-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • docstring
  • coding:utf-8
  • coding:utf-8
  • 用hello.doc方法添加注释内容
  • coding:utf-8
  • 案例1-添加一个参数
  • 案例2-添加2个参数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档