这样写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的包管理器pip更换软件源的方法详解
Jun 20 Python
pygame加载中文名mp3文件出现error
Mar 31 Python
儿童编程python入门
May 08 Python
Python常见数字运算操作实例小结
Mar 22 Python
python实现从本地摄像头和网络摄像头截取图片功能
Jul 11 Python
详解Python Opencv和PIL读取图像文件的差别
Dec 27 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
May 26 Python
Python爬取微信小程序通用方法代码实例详解
Sep 29 Python
python利用opencv保存、播放视频
Nov 02 Python
详解Pycharm第三方库的安装及使用方法
Dec 29 Python
python实现批量移动文件
Apr 05 Python
Python爬虫入门案例之回车桌面壁纸网美女图片采集
Oct 16 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中利用XML技术构造远程服务(下)
2006/10/09 PHP
php简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
php中getservbyport与getservbyname函数用法实例
2014/11/18 PHP
PHP性能分析工具XHProf安装使用教程
2015/05/13 PHP
Javascript代码混淆综合解决方案-Javascript在线混淆器
2006/12/18 Javascript
基于jQuery的Tab选项框效果代码(插件)
2011/03/01 Javascript
JS打开新窗口的2种方式
2013/04/18 Javascript
JS cookie中文乱码解决方法
2014/01/28 Javascript
js实现iframe自动自适应高度的方法
2015/02/17 Javascript
JavaScript改变CSS样式的方法汇总
2015/05/07 Javascript
JQuery中Text方法用法实例分析
2015/05/18 Javascript
jquery图片轮播特效代码分享
2020/04/20 Javascript
详解JavaScript语言的基本语法要求
2015/11/20 Javascript
JavaScript遍历Json串浏览器输出的结果不统一问题
2016/11/03 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
2017/01/19 Javascript
微信小程序联网请求的轮播图
2017/07/07 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
js实现简单的日历显示效果函数示例
2019/11/25 Javascript
浅谈python对象数据的读写权限
2016/09/12 Python
Python实现通过文件路径获取文件hash值的方法
2017/04/29 Python
python爬取亚马逊书籍信息代码分享
2017/12/09 Python
Python实现PS图像调整之对比度调整功能示例
2018/01/26 Python
Python进阶之递归函数的用法及其示例
2018/01/31 Python
python标记语句块使用方法总结
2019/08/05 Python
python 基于opencv操作摄像头
2020/12/24 Python
Python+MySQL随机试卷及答案生成程序的示例代码
2021/02/01 Python
CSS3 开发工具收集
2010/04/17 HTML / CSS
建筑工程专业毕业生自荐信
2013/10/19 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
写给医院的感谢信
2015/01/22 职场文书
学校扫黄打非工作总结
2015/10/15 职场文书
如何写好一份优秀的工作总结?
2019/06/21 职场文书
python异常中else的实例用法
2021/06/15 Python
Python+Selenium自动化环境搭建与操作基础详解
2022/03/13 Python
使用kubeadm命令行工具创建kubernetes集群
2022/03/31 Servers