Python-编码规范

article/2025/10/14 17:00:09

学习内容:Python基础入门知识-代码编写规范

专栏作者不渴望力量的哈士奇不渴望力量的哈士奇擅长Python全栈白宝书[更新中],⑤ - 数据库开发实战篇,网安之路,等方面的知识,不渴望力量的哈士奇关注云原生,算法,python,集成测试,去中心化,web安全,智能合约,devops,golang,功能测试,测试工具,推荐算法领域.https://blog.csdn.net/weixin_42250835?type=blog

学习专栏:① - 零基础入门篇_不渴望力量的哈士奇的博客-CSDN博客

声明:本文内容大部分为引用,是在学习过程中复制的大佬的文章,仅供学习使用,仅作为笔记参考。

笔记目录

目录

📣 Python学习笔记

🧭  头部注释

🧭  缩进规则

⭐    💡必须使用缩进的场景

🧭  注释

⭐  单行注释

⭐  多行注释

⭐  注释可以帮助调试程序

🧭  空格的使用

🧭  空行规则

🧭  模块导入规则

🧭  变量命名规范


📣 Python学习笔记

首先我们要知道 Python 采用的是 PEP 8 作为编码规范,其中PEP 是Python Enhancement Proposal (Python 增强建议书) 的缩写,8 代表的是 Python 代码的样式指南。

🧭  头部注释

  • 头部注释(声明编码格式)几乎在主流的编程语言脚本中是必需的。

  • 在 Python 中如果没有头部注释,Python解释默认会使用 ASCII 编码格式。这就会造成一个问题,比如我们国内使用的是中文,一旦出现中文字符(中文字符属于 UTF-8 编码格式)Python 解释器就会报错。

一般情况下,我们会在Python文件的开头写上以下这两行:

# !/usr/bin/env python
# -*- coding:utf-8 -*-  

第一行注释是为了提醒Linux/os X 系统这是一个Python文件,根据usr/bin/env路径去找python的运行程序来运行。如果Windows系统看到这个注释会主动忽略。

第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

现在一般情况下会直接写一行:

# coding:utf-8

Python头部注释主要是为了告诉运行系统或者解释器一些内容,和接下来的代码主体没有关系。

  • 国内常用 # coding:utf-8 :定义 coding 规则告诉系统脚本是何种编码格式
  • 目前很少使用 # !/usr/bin/env python :定义 python 解释器的指定执行路径 [WIN系统不生效]

🧭  缩进规则

if 2 > 1:print('2 > 1 is true')# 该两行代码的意思为 "如果 2 大于 1 ,则打印输出 '2 > 1 is true' "

 在 Python 中,可以使用 TAB 或者空格作为缩进,大部分代码规范建议使用 4 个空格作为缩进。

如果不使用缩进:

if 2 > 1:
print('2 > 1 is true')
else:
print('2 > 1 is false')
print('End')

看起来代码乱糟糟的,并且梳理代码逻辑时也会很不方便,脑瓜子嗡嗡的

如果使用缩进:

if 2 > 1:print('2 > 1 is true')
else:print('2 > 1 is false')
print('End')

 层次分明,结构比较清晰。代码读起来也更舒服(可读性比较高)。

⭐    💡必须使用缩进的场景

Python 语言要求在需要表达代码层次关系的场景中,必须使用缩进。如果不使用缩进,程序运行时则会报告错误。包括再是有pycharm时,如果缩进不规范也会有警告。

(学习Python之前就听说过有人用尺子量Python的缩进,我还以为是个段子)

if 2 > 1:
print('2 > 1 is true')# 执行结果如下
# >>> print('2 > 1 is true')^
# >>> IndentationError: expected an indented block

🧭  注释

💡 最烦两种人,一种是写代码不写注释的人,一种是让我写注释的人。(doge)

写注释的好处有两个:、记录自己的思路,防止后续看不懂。好记性不如烂笔头;、记录自己的思路,如果是多人协同项目,让别人能看懂自己写的啥。

⭐  单行注释

# 首先定义变量 name
name = 'Neo'# 将变量 name 修改为 'Jack'
name = 'Jack'

第一行和第四行中的"#"是注释的开始,表示这一行的后面的内容都是注释内容。

在执行该程序的时候,会自动忽略注释和空行。

⭐  多行注释

多行注释用三个单引号 ' ' ' 或者三个双引号 “ ” " 将注释括起来。

'''
# 首先定义变量 name
# 将变量 name 修改为 'Jack'
name = 'Neo'
name = 'Jack'
'''"""
# 首先定义变量 name
# 将变量 name 修改为 'Jack'
name = 'Neo'
name = 'Jack'
"""'''
————————————————
版权声明:本文为CSDN博主「不渴望力量的哈士奇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42250835/article/details/123031042
'''

⭐  注释可以帮助调试程序

这事儿我经常干,如果想要知道这句代码是否有问题,只需要将这句代码注释掉,再运行程序,看看是否有问题。如果程序可以正常执行,则可以说明错误就是由这段代码引起的;反之,如果依然出现相同的错误,则可以说明错误不是由这段代码引起的。

这种做法可以缩小排错范围。提升写代码效率。

🧭  空格的使用

空格的使用原则如下:

①、在二元运算符的两边各一个格,算术操作符两边的空格可灵活使用,但两侧要保持一致
②、不在逗号、分号、冒号的前面加空格,但可以在它们的后面加空格(行尾的特殊情况除外)
③、函数的参数列表中,逗号后面要有空格
④、函数的参数列表中,默认值等于号左右两边不要添加空格
⑤、左括号之后,右括号之前不要加添加空格
⑥、参数列表, 索引或切片的左括号之前不能加空格

通常情况下,在运算符两侧、函数参数之间以及逗号两侧,都建议使用空格进行分隔。


版权声明:本文为CSDN博主「不渴望力量的哈士奇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42250835/article/details/123031042

🧭  空行规则

①、编码格式声明、模块导入、常量和全局变量声明、顶级定义和执行代码之间空两行

②、类和顶层函数定义之间空两行;类中的方法定义之间空一行;

③、函数内逻辑无关段落之间空一行;

④、在函数或方法内部,可以在必要的地方空一行以增强节奏感,但应避免连续空行

⑤、其他地方尽量不要再空行。
————————————————
版权声明:本文为CSDN博主「不渴望力量的哈士奇」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42250835/article/details/123031042

合理的使用空行可以增加代码的可读性和美观性。在后期排除bug或者修改代码逻辑时也会很方便。

🧭  模块导入规则

导入语句放到整个Python文件的顶部,这是很多语言通用的规则,如:Node.js、TypeScript等。

同时应当注意导入语句应当放到模块注释和文档字符串之后。模块、全局变量、常量之前。

应该按照从最通用到最不通用的顺序进行排序,分组之间应该空出一行

        标准库导入

        第三方库导入

        应用程序指定导入

💡  注意:每个import语句只导入一个模块,尽量避免同时导入多个模块。

🧭  变量命名规范

变量是Python用来存储某些运算的结果。变量的存取通过变量名对变量所占用的内存空间进行访问与操作。

Python命名建议遵循的命名规范:

①、变量名尽量小写, 如有多个单词,用下划线隔开

②、常量采用全大写,如有多个单词,使用下划线隔开

③、函数名一律小写,如有多个单词,用下划线隔开

④、私有函数可用一个下划线开头

⑤、类名使用驼峰命名法,首字母大写,私有类可用一个下划线开头

⑥、模块尽量使用小写命名,首字母保持小写,能不使用下划线尽量不要用下划线

# 合法变量名举例
name = 'zs'
age_now = 18
money = 1800.03
SEX = '男'
NATION_CHINA = '汉族'
_last_name = 'ls'# 不合法变量名
# last$name 变量名中含有$符
# 00name 数字开头的变量名不符合规范
# ab\c 含有特殊符号\,并且该变量名毫无意义

🌞长风破浪会有时,直挂云帆济沧海。🌞


http://chatgpt.dhexx.cn/article/ePSsVD66.shtml

相关文章

前端编码规范

最近整理了一份HTML/CSS/JS编码规范,供大家参考。 目录: 一、HTML编码规范 二、CSS编码规范 三、JS编码规范 一、HTML编码规范 1. img标签要写alt属性 根据W3C标准,img标签要写alt属性,如果没有就写一个空的。但是一般要写一个…

C语言编码规范

C语言编码规范 1、代码总体规则 2、代码规范之头文件 3、代码规范之函数 4、标识符命名与定义 5、代码规范之变量 6、宏、常量

【代码规范】常见编码规范

文章来源:公众号-智能化IT系统。 1.明确方法功能,精确(而不是近似)地实现方法设计。如果一个功能将在多处实现,即使只有两行代码,也应该编写方法实现。 说明: 虽然为仅用一两行就可完成的功能…

Python的编码规范(超详细)

目录 一、前言二、编写规范三、命名规范四、结语 一、前言 编码的规范性对代码的整体展现有着较大的影响。 先让我们看两张规范与不规范的代码截图来感受下。 先让我们看看不规范的吧。 看完有什么感觉吗?或许你会没有感觉,在让我们来看看我自认为很规…

标准的Java编码规范手册

编码规范体现出一个开发者的基本素质,良好的编码规范可以提高团队编码的效率,避免很多不必要的问题。今天分享一个标准的Java编码规范给大家,希望对于大家今后的开发工作带来帮助。 编码规范的意义 在项目开发维护中,编码…

Java编码规范总结(参考腾讯编码规范)

一、java文件组织 文件组织规则:由于超过2000行的程序难以阅读,应该尽量避免出现超过2000行的程序。一个Java源文件都包含一个单一的公共类或接口。若私有类和接口与一个公共类相关联,可以将它们和公共类放入同一个源文件。公共类必须是这个…

编码体系与规范

编码体系与规范 网页编码是指网页中字符的编码方式。目前国内常见的网页字符编码主要有utf-8、gbk、gb2312,其中 utf-8为国际化编码,在各国各地区的网站中都很常见,可以说是最通用的字符编码。此外,有些日本网页会使用EUC-JP、SH…

python编码规范

PE8基本规范: 建议修改在使用的 IDE 中修改 PEP8 的每行字数不超79字符规范,可修改为 Django 建议的 119 字符 一、python编码规范: (一)代码编码: 1、国际惯例,文件编码和 Python 编码格式全部为 utf-8 ,…

JAVA编码规范

命名风格 代码命名不能以下划线或者美元符号开头或者结尾代码命名不能以中文拼音或者中文拼音与英文混合方式类名使用UpperCamCamelCase风格,但DO、PO、DTO、VO、BO等除外方法名、参数名、变量名统一使用lowerCamelCase,必须遵守驼峰命名常量名全部大写…

【编码规范篇】| C#编码规范 代码规范总结,包括命名规范,代码规范 注释规范等

🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN🙉 🎄 学习专栏推荐:Unity精品学习专栏 🌲 游戏制作专栏推荐:游戏制作分享 &…

编码的一些基本规范

1. 数据库表设计 Rule 1. 【强制】表名小写,多个word之间用英文下横线_分隔Rule 2. 【强制】表名普通表前缀t_;临时表tmp_;备份表bak_;视图v_;主键pk_;外键fk_;唯一索引uix_;普通索引idx_Rule 3. 【强制】关系表统一用relation结尾Rule 4. 【强制】表名和业务字段必…

编码规范汇总【持续更新】

目录 前言规范标准C规范C#规范 规范记录命名硬编码单例类【线程安全】Qt定义类【隐式内存共享】 前言 作为软件工程师,出产物就应该具备工程的健壮性和美观性。因此代码规范是作为软件工程师的职业素养。但总所周知,程序员的工作基本就是在维护一座屎山…

51单片机串口波特率

SCON SCON 0X50工作方式1 波特率需要使用定时器1 波特率 ((2^SMOD)/32) * (定时器溢出率) 定时器溢出率 系统时钟/指令周期/装载数 SMOD 1 ,波特率加倍 TH1 TL1 -(FOSC / INSTRU_CYCLE / 32 / BAUD); //Set auto-reload vaule TR1 1;

关于51单片机串口1发送完整的数据包

关于51单片机串口1发送完整的数据包 在参考这样的协议的条件下我们想发送一套完整的数据包该如何发送呢?可以设计这样的程序。 1. 串行口1接收特定包头数据包函数。 参数: Uart_Rec_Data:串口接收到的数据 ; USER_Get_DataPacket: 数据存储目…

51单片机串口收发

#include<reg52.h>#define uint unsigned int #define uchar unsigned char/*本代码实现串口的收发功能&#xff0c;PC发送什么单片机就接收什么&#xff0c; 然后单片机又把接收的发出去&#xff0c;本次编写了在发送单个字符串 函数上添加了字符串函数&#xff0c;方便…

学习51单片机串口工作方式及应用

1.串口控制寄存器SCON SM2:多机通信控制位 REN:允许接收控制位 TB8:发送第九位数据 RB8:接收第九位数据 TI:发送中断标志位 RI:接收中断标志位 2.电源控制寄存器PCON 当SMOD位为1&#xff0c;则串行口方式1、方式2、方式3的波特率加倍。 3.串口的工作方式 &#xff08;1…

关于51单片机串口通信的相关知识(寄存器)

一、51单片机串口概念 1、51单片机的串行口 51单片机的串行口是一个可编程全双工的通信接口&#xff0c;具有UART&#xff08;通用异步收发器&#xff09;的全部功能。 2、51单片机的硬件连接 简单双向串口通信有两根数据通信线&#xff1a; 发送端TXD&#xff08;Transmit Da…

C51单片机串口点亮一个led

C51单片机串口点亮一个led 因为最近要用到51的串口做一些通信&#xff0c;这里写一个点led的程序记录一下。 说是一个led&#xff0c;其实可以随意多个。 主要使用到的东西&#xff1a; STC89C52芯片&#xff0c;USB转TTL下载器&#xff0c;led灯若干&#xff0c;面包板&am…

51单片机 串口

串口说白了&#xff0c;就是初始化后&#xff0c;用中断接收发送字符而已。 TXD 是 80C51 单片机的P3.1口&#xff0c;RXD 是80C51 单片机的 P3.0口 T1 溢出率 是定时器1的溢出率 &#xff0c;SMOD是发送速率倍频的16分频&#xff0c;T1每溢出一次发送一位&#xff0c;每次发送…

【记录】一次51单片机串口乱码问题排查

【记录】一次51单片机串口乱码问题排查 项目场景问题描述原因分析解决方案结语 项目场景 在51串口收发仿真实验中使用两个单片机互相通信&#xff0c;程序设定A上电1s后通过串口以16进制给B发送AA,直到B收到AA后回复BB&#xff0c;当A机确认收到AA后开始发送数据&#xff0c;若…