这样写python注释让代码更加的优雅


Posted in Python onJune 02, 2021

python这样注释,让你的代码看起来更加的优雅,是不是常常感觉自己的python代码写出来,看起来特别的乱,虽然可以正常运行,但是在优雅性上似乎欠缺的很多,这篇文章主要教你,如何让你的python代码看起来更加的优雅与美观,

一、注释欣赏

这里有一段飞兔小哥哥自己常写的注释模版

这里主要分为表头注释、类注释、欢迎语以及方法注释

表头注释会标注这个项目的名称、文件名、项目作者、时间等基础信息

类注释会标注这个类主要用来做什么的

而方法注释则表示当前方法的作用

​​#!/usr/bin/env python
# encoding: utf-8
'''
#-------------------------------------------------------------------
#                   CONFIDENTIAL --- CUSTOM STUDIOS
#-------------------------------------------------------------------
#
#                   @Project Name : the desc of project
#
#                   @File Name    : main.py
#
#                   @Programmer   : autofelix
#
#                   @Start Date   : 2021/06/01 12:42
#
#                   @Last Update  : 2021/06/01 12:42
#
#-------------------------------------------------------------------
'''
import requests, os, platform, time
from Crypto.Cipher import AES
import multiprocessing
from retrying import retry
 
class M3u8:
    '''
     This is a main Class, the file contains all documents.
     One document contains paragraphs that have several sentences
     It loads the original file and converts the original file to new content
     Then the new content will be saved by this class
    '''
    def __init__(self):
        '''
        Initial the custom file by self
        '''
        self.encrypt = False
 
    def hello(self):
        '''
        This is a welcome speech
        :return: self
        '''
        print("*" * 50)
        print(' ' * 15 + 'm3u8链接下载小助手')
        print(' ' * 5 + '作者: autofelix  Date: 2021-06-01 12:42')
        print(' ' * 10 + '适用于非加密 | 加密链接')
        print("*" * 50)
        return self
 
    def run(self):
        pass
 
if __name__ == '__main__':
    M3u8().hello().run()

附:python函数注释规范

首先来两段优秀开源框架的代码注释

例1 tornado.web.RequestHandler的get_arguments函数.

def get_argument(self, name, default=_ARG_DEFAULT, strip=True):
        """Returns the value of the argument with the given name.

        If default is not provided, the argument is considered to be
        required, and we raise a `MissingArgumentError` if it is missing.

        If the argument appears in the url more than once, we return the
        last value.

        The returned value is always unicode.
        """
        return self._get_argument(name, default, self.request.arguments, strip)

例2 requests的get函数

def get(url, params=None, **kwargs):
    """Sends a GET request.

    :param url: URL for the new :class:`Request` object.
    :param params: (optional) Dictionary or bytes to be sent in the query string for the :class:`Request`.
    :param \*\*kwargs: Optional arguments that ``request`` takes.
    :return: :class:`Response <Response>` object
    :rtype: requests.Response
    """

    kwargs.setdefault('allow_redirects', True)
    return request('get', url, params=params, **kwargs)

对比下例1和例2, tornado框架的函数倾向与给出函数的用途说明,而不提供具体的输入参数说明,并且相对来说函数名字也是浅显易懂,而requests库看起来比较简洁一点,具体的输入和输出都给的很完整,看起来很是赏心悦目,所以我个人更偏向于例2的注释,当然,也有将例1和例2注释特点结合起来的库,比如tensorflow库,因为涉及的输入参数以及函数较为复杂,因此输入参数和函数原理有较为详尽的说明。总之,大部分编写函数的时候参考例2的注释方式,代码也看起来较为优雅,而遇到比较复杂的情况,则可以参考例1加上必要的函数详细说明。

总结

到此这篇关于python注释的文章就介绍到这了,更多相关python注释内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python如何在终端里面显示一张图片
Aug 17 Python
python搭建虚拟环境的步骤详解
Sep 27 Python
利用python编写一个图片主色转换的脚本
Dec 07 Python
pip安装时ReadTimeoutError的解决方法
Jun 12 Python
Python魔法方法功能与用法简介
Apr 04 Python
Django之模板层的实现代码
Sep 09 Python
如何基于python操作json文件获取内容
Dec 24 Python
Python3 读取Word文件方式
Feb 13 Python
django 读取图片到页面实例
Mar 27 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
Apr 13 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
Nov 24 Python
用python制作个音乐下载器
Jan 30 Python
上帝为你开了一扇窗之Tkinter常用函数详解
只用20行Python代码实现屏幕录制功能
TensorFlow中tf.batch_matmul()的用法
Jun 02 #Python
pytorch 运行一段时间后出现GPU OOM的问题
Jun 02 #Python
python flask开发的简单基金查询工具
python爬取网页版QQ空间,生成各类图表
Python爬虫实战之爬取携程评论
You might like
[原创]php求圆周率的简单实现方法
2016/05/30 PHP
Laravel的throttle中间件失效问题解决方法
2016/10/09 PHP
thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
2018/09/07 PHP
JS获取IUSR_机器名和IWAM_机器名帐号的密码
2006/12/06 Javascript
IE6 fixed的完美解决方案
2011/03/31 Javascript
JS 精确统计网站访问量的实例代码
2013/07/05 Javascript
ie8 不支持new Date(2012-11-10)问题的解决方法
2013/07/31 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
js a标签点击事件
2017/03/30 Javascript
Vue2单一事件管理组件通信
2017/05/09 Javascript
详解webpack提取第三方库的正确姿势
2017/12/22 Javascript
vuex中的 mapState,mapGetters,mapActions,mapMutations 的使用
2018/04/13 Javascript
Node 升级到最新稳定版的方法分享
2018/05/17 Javascript
Vuejs监听vuex中值的变化的方法示例
2018/12/02 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
2019/09/11 Javascript
JavaScript 常见的继承方式汇总
2020/09/17 Javascript
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
python encode和decode的妙用
2009/09/02 Python
python实现文本去重且不打乱原本顺序
2016/01/26 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
2018/02/24 Python
python事件驱动event实现详解
2018/11/21 Python
Django xadmin开启搜索功能的实现
2019/11/15 Python
matlab灰度图像调整及imadjust函数的用法详解
2020/02/27 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
2020/04/16 Python
html5 视频播放解决方案
2016/11/06 HTML / CSS
Skechers越南官方网站:来自美国的运动休闲品牌
2021/02/22 全球购物
C#中类(class)与结构(struct)的异同
2013/11/03 面试题
大学生的应聘自我评价
2013/12/13 职场文书
项目考察欢迎辞
2014/01/17 职场文书
银行员工辞职信范文
2014/01/20 职场文书
职位说明书范文
2014/05/07 职场文书
根叔历年演讲稿
2014/05/20 职场文书
刑事辩护授权委托书格式
2014/10/13 职场文书
2015年幼儿园学前班工作总结
2015/05/18 职场文书
JDK8中String的intern()方法实例详细解读
2022/09/23 Java/Android