当前位置: 首页 > news >正文

python注释格式总结

三个双引号的用于文件,类,函数注释。  没有统一的规定,以下是比较清晰的写法。

文件注释(文件顶部):文件用途+空行+作者信息(每行一个键:值)

类注释(类名下行):类用途+空行

                +属性:+回车tab+属性名(属性类型):属性描述     +空行

                +方法:+回车tab+方法名(参数):方法描述

函数注释(函数名下行):函数用途+空行

                                           +参数:+回车tab+参数名(参数类型):参数描述   +空行

                                           +返回值:+回车tab+返回类型:返回值描述  +空行

                                           +Raises(可无): +回车tab+异常类型:异常描述

1. 文件注释

文件注释通常放在文件的顶部,用于说明文件的用途、作者信息和其他基本信息

"""
This module provides utility functions for data processing.Author: John Doe
Email: john.doe@example.com
Date: 2025-01-22
"""import os
import numpy as np

2. 类注释

类的注释用于说明类的功能、用途以及主要属性和方法

class MyClass:"""This class represents a simple example of a Python class.Attributes:attr1 (str): 属性1的描述attr2 (int): 属性2的描述Methods:method1(): 方法1的描述method2(param): 方法2的描述"""def __init__(self, attr1, attr2):self.attr1 = attr1self.attr2 = attr2

3. 函数注释

  • 使用三引号 """
  • 包括以下部分:
    • 简要描述:函数的总体用途。
    • Args:列出所有参数及其描述。
    • Returns:返回值及其类型。
    • Raises(可选):列出可能引发的异常。
def add_numbers(a: int, b: int) -> int:"""Adds two numbers and returns the result.Args:a (int): The first number.b (int): The second number.Returns:int: The sum of the two numbers.Raises:ValueError: If the input values are not integers."""if not isinstance(a, int) or not isinstance(b, int):raise ValueError("Both inputs must be integers.")return a + b

4. 单行注释

x = 42  # This is the answer to life, the universe, and everything

5. 设置pycharm自动注释

对于文件注释和函数注释,pycharm设置中有直接的相应设置。而对于类注释,需要使用pycharm设置中的live templates间接实现,同理也可以用于实现文件注释和函数注释。

文件注释

相当于是给对应格式的文件添加的,比如说python文件。所以其设置在文件和代码模板中,设置方法如下,ctrl+alt+s打开设置界面。

"""
This module provides ______________Author: ${USER}
Email: 1345314460@qq.com
Date: ${YEAR}-${MONTH}-${DAY}
"""

之后新建文件的时候注意不要选file, 要选Python File如下图。

类注释

live templates说白了就是根据你的缩写(abbreviation) 以及你设置的展开触发键(Expand with), 进行展开为相应的内容(Template text).

还是通过ctrl+alt+s打开设置界面

"""This class _______Attributes:attr1 (str): 属性1的描述Methods:method1(param): 方法1的描述
"""

实际上,缩写写成"""class不能被激活,可能是因为"""表示注释,这一部分就不被解析了。经测试""class比较方便,所以这里写为""class, 其他和上图保持一致。之后点击define后勾选python下的class就只能在class范围激活.

测试一下,输入""class, 点击回车或tab键即可自动补全。注意写template text的时候,不要有多余的缩进空格。

函数注释

函数注释不再是一个文件对应的模板,其设置方法有所不同。在设置界面中,tool下的python integrated tools中。 

之后写完函数后,在函数名下边,打三个双引号回车就会自动补全。

over~

相关文章:

python注释格式总结

三个双引号的用于文件,类,函数注释。 没有统一的规定,以下是比较清晰的写法。 文件注释(文件顶部):文件用途空行作者信息(每行一个键:值) 类注释(类名下行&#xff09…...

Django实现数据库的表间三种关系

Django实现数据库的表间三种关系 1. 一对多(One-to-Many)关系示例:关系说明:查询示例: 2. 一对一(One-to-One)关系示例:关系说明:查询示例: 3. 多对多&#x…...

C++蓝桥真题讲解

本篇文章和大家一起来试试一些简单的蓝桥真题 注意:本篇文章将全程使用devc和蓝桥官网,如果有小伙伴找不到devc安装包的可以本篇文章中下载。 赛前必知点 1.正式比赛时,先从蓝桥官网下载题目文档,然后用devc进行编译&#xff0c…...

【21】Word:德国旅游业务❗

目录 题目 NO1.2.3 NO4 NO5.6 NO7 NO8.9.10.11 题目 NO1.2.3 F12:另存为布局→页面设置→页边距:上下左右选中“德国主要城市”→开始→字体对话框→字体/字号→文本效果:段落对话框→对齐方式/字符间距/段落间距 NO4 布局→表对话框…...

如何分辨ddos攻击和cc攻击?

DDoS(分布式拒绝服务)攻击和 CC(Challenge Collapsar)攻击都属于网络攻击手段,主要通过消耗目标服务器资源使其无法正常提供服务,但它们在攻击原理、攻击特征等方面存在区别: 攻击原理 DDoS 攻…...

enum EPOLL_EVENTS详解

enum EPOLL_EVENTS 是 Linux 中 epoll 机制的核心定义之一,它定义了 epoll 支持的所有事件类型。每个事件类型对应一个唯一的位掩码(bitmask),通过按位或(|)可以组合多个事件类型,通过按位与&am…...

阿里前端开发规范

文章目录 1. 为什么前端写代码要规范?一、代码规范的必要性二、 规范带来的好处 2. 资源一、推荐 1. 为什么前端写代码要规范? 一、代码规范的必要性 可维护性 统一的代码风格便于理解和修改减少代码维护成本降低项目交接难度 团队协作 提高团队开发效…...

从函数式编程到响应式编程:现代开发中的范式转变

引言 随着软件开发领域的不断进化,编程范式也在经历着一场又一场的变革。从面向过程到面向对象,再到近年来流行的函数式编程和响应式编程,开发者正逐步适应不同的编程思想来解决现代软件开发中的复杂问题。本文将带你了解函数式编程和响应式编…...

Django学习笔记(启动项目)-03

Django学习笔记(启动项目)-03 1、在urls文件中配置一个路由url 2、在views文件中创建视图函数 3、启动项目测试结果 # 输入项目启动命令 python manage.py runserver4、创建HTML模版和静态文件 1、在templates文件夹中创建一个html 2、创建url路由与视图函数 3、测试效果 4、…...

量变引起质变

量变引起质变,这个是最本质的规律,重复进行一件事情,这件事情就会越来越完善,越来越完美,哪怕是菜鸟,重复多了就是大佬。 我从说话结结巴巴,到说话流畅,只是用了15天直播写代码&…...

NewStar CTF week1 web wp

谢谢皮蛋 做这题之前需要先去学习一些数据库的知识 1 order by 2 1可以理解为输入的id,是一个占位符,按第二列排序用来测试列数,如果没有两列则会报错-1 union select 1,2 -1同样是占位符,union的作用是将注入语句合并到原始语句…...

李沐vscode配置+github管理+FFmpeg视频搬运+百度API添加翻译字幕

终端输入nvidia-smi查看cuda版本 我的是12.5,在网上没有找到12.5的torch,就安装12.1的。torch,torchvision,torchaudio版本以及python版本要对应 参考:https://blog.csdn.net/FengHanI/article/details/135116114 创…...

深度学习中Batch Normalization(BN)原理、作用浅析

最近做剪枝学习,其中一种是基于BN层的γ作为缩放因子进行剪枝的,那么我想搞懂BN的工作原理更好的理解网络、剪枝等,所以有了该文。 首先先说BN的作用在详细拆解,理解。以知乎一条高赞评论说明BN层到底在干什么。 Batch Norm 为什…...

C语言常用字符串处理函数

头文件&#xff1a;#include <string.h> strlen size_t strlen( char *str ); 功能&#xff1a;函数返回一个整数值&#xff0c;表示给定字符串的长度&#xff08;不包括结束符\0&#xff09; strcat char *strcat( char *str1, const char *str2 )&#xff1b; 功能&a…...

文件上传漏洞详解

第一关&#xff08;JS绕过&#xff09; 1.1使用bp进行绕过 先将要上传的php文件的后缀改为png&#xff0c;然后在上传时抓包&#xff0c;将png后缀再改为php&#xff0c;发包&#xff0c;此时上传成功 1.2使用js进行绕过 打开浏览器的检查&#xff0c;将其中的checkFile函数…...

关于linux的ld.so.conf.d

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…...

pytest执行报错:found no collectors

今天在尝试使用pytest运行用例的时候出现报错&#xff1a;found no collectors&#xff1b;从两个方向进行排查&#xff0c;一是看文件名和函数名是不是符合规范&#xff0c;命名要是"test_*"格式&#xff1b;二是是否存在修改文件名的情况&#xff0c;如果修改过文件…...

如何实现网页不用刷新也能更新

要实现用户在网页上不用刷新也能到下一题&#xff0c;可以使用 前端和后端交互的技术&#xff0c;比如 AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;、Fetch API 或 WebSocket 来实现局部页面更新。以下是一个实现思路&#xff1a; 1. 使用前端 AJAX 或 Fetch…...

c#调用c++的dll,字符串指针参数问题

一.背景 在 C# 中没有 char* 类型&#xff0c;因为 C# 是一种托管语言&#xff0c;它的设计目标是提供更高级别的安全性和内存管理&#xff0c;避免使用像 C 或 C 中的指针操作&#xff0c;以防止常见的指针相关错误&#xff0c;如内存泄漏和悬空指针。 二.c#调用c的dll&#x…...

HTML5 新表单属性详解

HTML5 为 <form> 和 <input> 标签引入了一系列新属性&#xff0c;极大地增强了表单的功能和用户体验。这些新属性不仅简化了开发者的工作&#xff0c;还为用户提供了更友好、更高效的交互方式。本文将详细介绍这些新属性&#xff0c;并结合代码示例帮助大家更好地理…...

如何突破音频收听限制?打造个人离线音频库的完整方案

如何突破音频收听限制&#xff1f;打造个人离线音频库的完整方案 【免费下载链接】xmly-downloader-qt5 喜马拉雅FM专辑下载器. 支持VIP与付费专辑. 使用GoQt5编写(Not Qt Binding). 项目地址: https://gitcode.com/gh_mirrors/xm/xmly-downloader-qt5 作为音频爱好者&a…...

从无人机防抖到股票预测:聊聊卡尔曼滤波在你身边的那些‘隐藏’应用

从无人机防抖到股票预测&#xff1a;卡尔曼滤波如何悄悄优化你的日常生活 想象一下&#xff0c;你正在用手机拍摄一段奔跑中的宠物视频&#xff0c;画面却出奇地稳定&#xff1b;或者驾驶着搭载自动驾驶辅助系统的车辆&#xff0c;它总能精准预判前车距离。这些看似"智能&…...

AI for Science:当语言学遇见人工智能,一场研究范式的革命

AI for Science&#xff1a;当语言学遇见人工智能&#xff0c;一场研究范式的革命 引言 语言学&#xff0c;这门探索人类语言本质的古老学科&#xff0c;正与人工智能发生前所未有的深度碰撞。从濒危语言的数字化抢救&#xff0c;到古籍文献的自动化解析&#xff0c;再到语言…...

不升级系统也能用VSCode远程开发:老版本Linux的glibc兼容方案大全

老版本Linux系统下VSCode远程开发的五大兼容方案 在企业开发环境中&#xff0c;生产服务器往往运行着CentOS 7或Ubuntu 18.04等长期支持版本&#xff0c;这些系统的glibc库版本可能无法满足最新VSCode远程开发组件的需求。本文将深入探讨五种无需升级系统即可解决glibc兼容性问…...

如何让模拟人生1实现宽屏显示?3步打造经典游戏现代体验

如何让模拟人生1实现宽屏显示&#xff1f;3步打造经典游戏现代体验 【免费下载链接】Sims-1-Complete-Collection-Widescreen-Patcher Patches The Sims 1 to a custom resolution. 项目地址: https://gitcode.com/gh_mirrors/si/Sims-1-Complete-Collection-Widescreen-Patc…...

DS4Windows终极教程:3分钟让PlayStation手柄完美兼容Windows游戏

DS4Windows终极教程&#xff1a;3分钟让PlayStation手柄完美兼容Windows游戏 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows 还在为PC游戏不支持你的PlayStation手柄而烦恼吗&#xff1f;…...

BGE-Large-Zh效果可视化:向量维度投影图+相似度分布直方图双模展示

BGE-Large-Zh效果可视化&#xff1a;向量维度投影图相似度分布直方图双模展示 1. 项目概述 BGE-Large-Zh是一款专为中文语义理解设计的本地化向量化工具&#xff0c;基于BAAI的bge-large-zh-v1.5模型开发。这个工具能够将中文文本转换为1024维的语义向量&#xff0c;并通过计…...

告别‘白边’!用HBuilderX给你的UniApp应用做个全屏SPA:安卓透明导航栏+iOS安全区域配置详解

全屏SPA美学&#xff1a;UniApp应用透明导航栏与安全区域配置实战指南 当你在手机上打开一个视频应用&#xff0c;最影响沉浸感的往往不是内容本身&#xff0c;而是那些挥之不去的系统UI元素——安卓底部的虚拟导航栏、iOS标志性的"刘海"安全区域。这些设计本意是为…...

3步找回青春记忆:GetQzonehistory完整导出QQ空间说说终极指南

3步找回青春记忆&#xff1a;GetQzonehistory完整导出QQ空间说说终极指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾在深夜翻看QQ空间&#xff0c;想要重温那些年写下的心…...

BepuPhysics2多线程架构解密:如何充分利用现代CPU实现并行物理仿真

BepuPhysics2多线程架构解密&#xff1a;如何充分利用现代CPU实现并行物理仿真 【免费下载链接】bepuphysics2 Pure C# 3D real time physics simulation library, now with a higher version number. 项目地址: https://gitcode.com/gh_mirrors/be/bepuphysics2 BepuPh…...