这样写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 基础学习教程
Feb 08 Python
Python实现的数据结构与算法之队列详解
Apr 22 Python
Python实现程序的单一实例用法分析
Jun 03 Python
在Python的Django框架中获取单个对象数据的简单方法
Jul 17 Python
为Python的Tornado框架配置使用Jinja2模板引擎的方法
Jun 30 Python
numpy自动生成数组详解
Dec 15 Python
Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
Mar 22 Python
windows 10 设定计划任务自动执行 python 脚本的方法
Sep 11 Python
python 中的[:-1]和[::-1]的具体使用
Feb 13 Python
区分python中的进程与线程
Aug 13 Python
python dir函数快速掌握用法技巧
Dec 09 Python
python文件目录操作之os模块
May 08 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 session处理的定制
2009/03/16 PHP
Fine Uploader文件上传组件应用介绍
2013/01/06 PHP
PHP Cookie的使用教程详解
2013/06/03 PHP
深入php socket的讲解与实例分析
2013/06/13 PHP
php实现文件编码批量转换
2014/03/10 PHP
ThinkPHP模板Volist标签嵌套循环输出多维数组的方法
2016/03/23 PHP
php array_reverse 以相反的顺序返回数组实例代码
2017/04/11 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
PHP sdk文档处理常用代码示例解析
2020/12/09 PHP
Jquery插件 easyUI属性汇总
2011/01/19 Javascript
js中window.open()的所有参数详细解析
2014/01/09 Javascript
Jquery代码实现图片轮播效果(一)
2015/08/12 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
详谈AngularJs 控制器、数据绑定、作用域
2017/07/09 Javascript
vue 指定组件缓存实例详解
2018/04/01 Javascript
使用elementUI实现将图片上传到本地的示例
2018/09/04 Javascript
Three.JS实现三维场景
2018/12/30 Javascript
Vue动态修改网页标题的方法及遇到问题
2019/06/09 Javascript
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
Python while 循环使用的简单实例
2016/06/08 Python
python递归查询菜单并转换成json实例
2017/03/27 Python
python使用MQTT给硬件传输图片的实现方法
2019/05/05 Python
python单例模式的多种实现方法
2019/07/26 Python
PIL对上传到Django的图片进行处理并保存的实例
2019/08/07 Python
pytorch 图像中的数据预处理和批标准化实例
2020/01/15 Python
Python实现从N个数中找到最大的K个数
2020/04/02 Python
Anaconda和ipython环境适配的实现
2020/04/22 Python
审计主管岗位职责
2014/01/31 职场文书
暑期培训心得体会
2014/09/02 职场文书
户籍证明模板
2014/09/28 职场文书
初中英语教师个人工作总结2015
2015/07/21 职场文书
2019广播稿怎么写
2019/04/17 职场文书
《追风筝的人》:人心中的成见是座大山,但请不忘初心
2019/11/15 职场文书
Python中使用ipython的详细教程
2021/06/22 Python