这样写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实现简单socket通信的方法
Apr 19 Python
python实现汉诺塔递归算法经典案例
Mar 01 Python
python getopt详解及简单实例
Dec 30 Python
对python append 与浅拷贝的实例讲解
May 04 Python
python3实现多线程聊天室
Dec 12 Python
对python借助百度云API对评论进行观点抽取的方法详解
Feb 21 Python
Python3.4学习笔记之列表、数组操作示例
Mar 01 Python
python opencv实现图像边缘检测
Apr 29 Python
python网络应用开发知识点浅析
May 28 Python
Python中判断子串存在的性能比较及分析总结
Jun 23 Python
python标准库OS模块函数列表与实例全解
Mar 10 Python
Python插件机制实现详解
May 04 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
Symfony2框架学习笔记之HTTP Cache用法详解
2016/03/18 PHP
详解yii2实现分库分表的方案与思路
2017/02/03 PHP
Ajax+Jpgraph实现的动态折线图功能示例
2019/02/11 PHP
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
Jqgrid设置全选(选择)及获取选择行的值示例代码
2013/12/28 Javascript
jQuery 鼠标经过(hover)事件的延时处理示例
2014/04/14 Javascript
jQuery通过扩展实现抖动效果的方法
2015/03/11 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
2015/05/15 Javascript
nodejs爬虫抓取数据乱码问题总结
2015/07/03 NodeJs
全面了解addEventListener和on的区别
2016/07/14 Javascript
AngularJS实践之使用ng-repeat中$index的注意点
2016/12/22 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
2017/01/11 Javascript
JS实现旋转木马式图片轮播效果
2017/01/18 Javascript
浅谈ECMAScript6新特性之let、const
2017/08/02 Javascript
Angular中封装fancyBox(图片预览)遇到问题小结
2017/09/01 Javascript
vue-ajax小封装实例
2017/09/18 Javascript
node和vue实现商城用户地址模块
2018/12/05 Javascript
JavaScript展开操作符(Spread operator)详解
2019/07/20 Javascript
openlayers实现图标拖动获取坐标
2020/09/25 Javascript
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
Python实现的简单文件传输服务器和客户端
2015/04/08 Python
Python实现通过文件路径获取文件hash值的方法
2017/04/29 Python
Python深度优先算法生成迷宫
2018/01/22 Python
python写日志文件操作类与应用示例
2019/07/01 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
2019/11/15 Python
Python3.7黑帽编程之病毒篇(基础篇)
2020/02/04 Python
美国Curacao百货连锁店网站:iCuracao.com
2019/07/20 全球购物
为女性购买传统的印度服装和婚纱:Kalkifashion
2019/07/22 全球购物
教师产假请假条
2014/04/10 职场文书
马丁路德金演讲稿
2014/05/19 职场文书
个性车贴标语
2014/06/24 职场文书
党员反对四风问题思想汇报
2014/09/12 职场文书
法人委托书范本格式
2014/09/15 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
婚礼嘉宾致辞
2015/07/28 职场文书
应收账款管理制度
2015/08/06 职场文书