python這樣注釋,讓你的代碼看起來更加的優(yōu)雅,是不是常常感覺自己的python代碼寫出來,看起來特別的亂,雖然可以正常運行,但是在優(yōu)雅性上似乎欠缺的很多,這篇文章主要教你,如何讓你的python代碼看起來更加的優(yōu)雅與美觀,
這里有一段飛兔小哥哥自己常寫的注釋模版
這里主要分為表頭注釋、類注釋、歡迎語以及方法注釋
表頭注釋會標注這個項目的名稱、文件名、項目作者、時間等基礎(chǔ)信息
類注釋會標注這個類主要用來做什么的
而方法注釋則表示當前方法的作用
#!/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()
首先來兩段優(yōu)秀開源框架的代碼注釋
例1 tornado.web.RequestHandler的get_arguments函數(shù).
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函數(shù)
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框架的函數(shù)傾向與給出函數(shù)的用途說明,而不提供具體的輸入?yún)?shù)說明,并且相對來說函數(shù)名字也是淺顯易懂,而requests庫看起來比較簡潔一點,具體的輸入和輸出都給的很完整,看起來很是賞心悅目,所以我個人更偏向于例2的注釋,當然,也有將例1和例2注釋特點結(jié)合起來的庫,比如tensorflow庫,因為涉及的輸入?yún)?shù)以及函數(shù)較為復雜,因此輸入?yún)?shù)和函數(shù)原理有較為詳盡的說明。總之,大部分編寫函數(shù)的時候參考例2的注釋方式,代碼也看起來較為優(yōu)雅,而遇到比較復雜的情況,則可以參考例1加上必要的函數(shù)詳細說明。
到此這篇關(guān)于python注釋的文章就介紹到這了,更多相關(guān)python注釋內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!