零基础学Python(3)— 注释、代码缩进和编码规范

前言:Hello大家好,我是小哥谈。在使用Python语言进行编程的时候,需要遵循一定的规范标准。本节课就带大家了解下Python语言在注释、缩进和编码方面的规范!~🌈  

     目录

🚀1.注释

🚀2.代码缩进

🚀3.编码规范

🚀1.注释

在Python中,通常包括3种类型的注释,分别是单行注释多行注释中文编码声明注释

🍀(1)单行注释

在Python中,使用“#”作为单行注释的符号。从符号“#”开始直到换行为止,“#”后面所有的内容都作为注释的内容,并被Python编译器忽略。

语法如下:

# 注释内容

单行注释可以放在要注释代码的前一行,也可以放在要注释代码的右侧。例如,下面的两种注释形式都是正确的。

第一种形式:

# 要求输入身高,单位为m(米),如1.75
height=float(input("请输入您的身高:"))

第二种形式:

height=float(input("请输入您的身高:"))        # 要求输入身高,单位为m(米),如1.75

说明:在添加注释时,一定要有意义,即注释能充分解释代码的功能及用途。

🍀(2) 多行注释

在Python中,并没有一个单独的多行注释标记,而是将包含在一对三引号('''……''')或者("""……""")之间,并且不属于任何语句的内容都可视为注释,这样的代码将被解释器忽略。由于这样的代码可以分为多行编写,所以也称为多行注释

语法格式如下:

'''
注释内容1
注释内容2
……
'''

或者

"""
注释内容1
注释内容2
……
"""

多行注释通常用来为Python文件模块或者函数等添加版权、功能等信息。例如,下面代码将使用多行注释为demo.py文件添加版权、功能及修改日志等信息:

'''@ 版权所有:*******©版权所有@ 文件名:demo.py@ 文件功能描述:******@ 创建日期:2023年12月31日@ 创建人:小哥谈'''

注意:在Python中,三引号('''……''')或者("""……""")是字符串定界符。如果三引号作为语句的一部分出现时,就不是注释,而是字符串,这一点要注意区分。

🍀(3) 中文编码声明注释

在Python中,还提供了一种特殊的中文编码声明注释,该注释的出现主要是为了解决Python 2.x中不支持直接写中文的问题。虽然在Python 3.x中,该问题已经不存在了。但是为了规范页面的编码,同时方便其他程序员及时了解文件所用的编码,建议在文件开始加上中文编码声明注释。

语法格式如下:

# -*- coding:编码 -*-

或者

# coding=编码

在上面的语法中,编码为文件所使用的字符编码类型,如果采用UTF-8编码,则设置为utf-8。

例如,指定编码为UTF-8,可以使用下面的中文编码声明注释:

# -*- coding:utf-8 -*-

🚀2.代码缩进

Python不像其他程序设计语言(如Java或者C语言)采用大括号“{}”分隔代码块,而是采用代码缩进和冒号“:”区分代码之间的层次。

缩进可以使用空格或者<Tab>键实现。其中,使用空格时,通常情况下采用4个空格作为一个缩进量,而使用Tab键时,则采用一个Tab键作为一个缩进量。通常情况下建议采用空格进行缩进。

在Python中,对于类定义函数定义流程控制语句异常处理语句等,行尾的冒号和下一行的缩进表示一个代码块的开始,而缩进结束,则表示一个代码块的结束。

例如,下面代码中的缩进为正确的缩进:

height=float(input("请输入您的身高:"))      # 输入身高
weight=float(input("请输入您的体重:"))      # 输入体重
bmi=weight/(height*height)              # 计算BMI指数# 判断身材是否合理
if bmi<18.5:print("您的BMI指数为:"+str(bmi))      # 输出BMI指数print("体重过轻 ~@_@~")
if bmi>=18.5 and bmi<24.9:print("您的BMI指数为:"+str(bmi))      # 输出BMI指数print("正常范围,注意保持 (-_-)")
if bmi>=24.9 and bmi<29.9:print("您的BMI指数为:"+str(bmi))      # 输出BMI指数print("体重过重 ~@_@~")
if bmi>=29.9:print("您的BMI指数为:"+str(bmi))      # 输出BMI指数print("肥胖 ^@_@^")

Python对代码的缩进要求非常严格,同一个级别的代码块的缩进量必须相同。如果不采用合理的代码缩进,将抛出SyntaxError异常


🚀3.编码规范

在使用Python语言编程时,遵循一定的代码编写规则和命名规范可以使代码更加规范化,对代码的理解与维护都会起到至关重要的作用。

🍀(1)编写规则

Python中采用PEP 8作为编码规范,其中PEP是Python Enhancement Proposal(Python增强建议书)的缩写,而“PEP 8”中的“8”表示版本号。PEP 8是Python代码的样式指南。

下面给出PEP 8编码规范中的一些应该严格遵守的条目。

A.每个import语句只导入一个模块,尽量避免一次导入多个模块。

推荐写法:

import platform
import sys

不推荐写法:

import platform,sys

B.不要在行尾添加分号“;”,也不要用分号将两条命令放在同一行。

下面所示的代码为不规范的写法:

y = torch.cat((xy, wh, conf), 4);

C.建议每行不超过80个字符,如果超过,建议使用小括号“()”将多行内容隐式的连接起来,而不推荐使用反斜杠“\”进行连接。

例如,如果一个字符串文本不能在一行上完全显示,那么可以使用小括号“()”将其分行显示,代码如下:

s=("我一直认为我是一只蜗牛。我一直在爬,也许还没有爬到金字塔的顶端。""但是只要你在爬,就足以给自己留下令生命感动的日子。")

以下通过反斜杠“\”进行连接的做法是不推荐使用的:

s="我一直认为我是一只蜗牛。我一直在爬,也许还没有爬到金字塔的顶端。\
但是只要你在爬,就足以给自己留下令生命感动的日子。"

D.使用必要的空行可以增加代码的可读性。一般在顶级定义(如函数或者类的定义)之间空两行,而方法定义之间空一行。另外,在用于分隔某些功能的位置也可以空一行。

E.通常情况下,运算符两侧、函数参数之间、“,”两侧建议使用空格进行分隔。

F.应该避免在循环中使用“+”和“+=”运算符累加字符串。这是因为字符串是不可变的,这样做会创建不必要的临时对象。推荐将每个子字符串加入列表,然后在循环结束后使用join()方法连接列表。

G.适当使用异常处理结构提高程序容错性,但不能过多依赖异常处理结构,适当的显式判断还是必要的。

🍀(2)命名规范

命名规范在编写代码中起到很重要的作用,虽然不遵循命名规范,程序也可以运行,但是使用命名规范可以更加直观地了解代码所代表的含义。

本节将介绍Python中常用的一些命名规范。

A.模块名尽量短小,并且全部使用小写字母,可以使用下划线分隔多个字母。例如,game_main、game_register、bmiexponent都是推荐使用的模块名称。

B.包名尽量短小,并且全部使用小写字母,不推荐使用下划线。例如,com.mingrisoft、com.mr、com.mr.book都是推荐使用的包名称,而com_mingrisoft就是不推荐的。

C.类名采用单词首字母大写形式(即Pascal风格)。例如,定义一个借书类,可以命名为BorrowBook。

D.模块内部的类采用下划线“_”+Pascal风格的类名组成。例如,在BorrowBook类中的内部类,可以使用_BorrowBook命名。

E.函数、类的属性和方法的命名规则同模块类似,也是全部使用小写字母,多个字母间用下划线“_”分隔。

F.常量命名时全部使用大写字母,可以使用下划线

G.使用单下划线“_”开头的模块变量或者函数是受保护的,在使用 from ××× import *语句从模块中导入时这些变量或者函数不能被导入。

H.使用双下划线“__”开头的实例变量或方法是类私有的


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/635442.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[晓理紫]每日论文分享(有中文摘要,源码或项目地址)--大模型、扩散模型、视觉导航

专属领域论文订阅 关注{晓理紫|小李子}&#xff0c;每日更新论文&#xff0c;如感兴趣&#xff0c;请转发给有需要的同学&#xff0c;谢谢支持 VX关注&#xff0c;并留下邮箱可获得每日定时推送 分类: 大语言模型LLM视觉模型VLM扩散模型视觉导航具身智能&#xff0c;机器人强化…

网络爬虫原理介绍

网络爬虫是一种按照一定规则自动浏览、检索网页信息的程序或者脚本。它能够自动请求网页&#xff0c;并将所需要的数据抓取下来。通过对抓取的数据进行处理&#xff0c;从而提取出有价值的信息。 Python 爬虫是指用 Python 语言编写的网络爬虫程序。Python 爬虫几乎成了网络爬…

Mysql三种常用的删除方式

前言 在 MySQL 中&#xff0c;有三种常用的方式可以删除表中的数据或整个表&#xff0c;它们分别是 TRUNCATE、DROP 和 DELETE。 TRUNCATE TABLE TRUNCATE TABLE属于DDL语言&#xff0c;不走事务&#xff0c;数据不会回滚 TRUNCATE TABLE 语句会删除表中的所有数据&#xff…

深入Android S (12.0) 探索Framework之输入子系统InputReader的流程

Framework层之输入系统 第一篇 深入Android S (12.0) 探索Framework之输入系统IMS的构成与启动 第二篇 深入Android S (12.0) 探索Framework之输入子系统InputReader的流程 文章目录 Framework层之输入系统前言一、基础知识1、输入子系统2、INotify 与 Epoll2.1、INotify 机制…

SpringBoot+dynamic-datasource实现多数据源(msyql、sqlserver、postgresql)手动切换

场景 SpringBootMybatisPlusdynamic-datasources实现连接Postgresql和mysql多数据源&#xff1a; SpringBootMybatisPlusdynamic-datasources实现连接Postgresql和mysql多数据源-CSDN博客 上面实现通过注解和配置文件的方式去进行多数据源操作。 如果业务需求&#xff0c;比…

Python 循环结构的一些案例练习

题目1&#xff1a;找出100-999之间的水仙花数&#xff08;各位数字的立方和刚好等于这个数本身&#xff09; 如&#xff1a;153 1^3 5^3 3^3算法分析&#xff1a; 123 // 100 1 ---> 23 获取百位数 123 // 10 12 % 10 2 --> 获取十位数&#xff08;法一&#x…

Spark流式读取文件数据

流式读取文件数据 from pyspark.sql import SparkSession ss SparkSession.builder.getOrCreate() # todo 注意1&#xff1a;流式读取目录下的文件 --》一定一定要是目录&#xff0c;不是具体的文件&#xff0c;# 目录下产生新文件会进行读取# todo 注意点2&#xff1…

大模型日报-20240120

这里写目录标题 视觉Mamba来了&#xff1a;速度提升2.8倍&#xff0c;内存能省87%一键实景转动画&#xff0c;清华系初创公司全球首发4D骨骼动画框架&#xff0c;还能生成个性化角色如何利用革命性的蛋白质结构工具来发现药物&#xff1f;AlphaFold 发现了数千种可能的致幻剂扎…

Unity关于纹理图片格式带来的内存问题和对预制体批量格式和大小减半处理

我们经常会遇到内存问题&#xff0c;这次就是遇到很多图片的默认格式被改成了RGB32&#xff0c;导致Android打包后运行内存明显增加。 发生了什么 打包Android后&#xff0c;发现经常崩溃&#xff0c;明显内存可能除了问题&#xff0c;看了内存后发现了问题。 见下图&#xf…

1.C语言——基础知识

C语言基础知识 1.第一个C语言程序2.注释3.标识符4.关键字5.数据类型6.变量7.常量8.运算符9.输入输出输入输出 1.第一个C语言程序 C语言的编程框架 #include <stdio.h> int main() {/* 我的第一个 C 程序 */printf("Hello, World! \n");return 0; }2.注释 单行…

阿里云服务器GPU实例规格代表含义,gn/vgn/gi/f/ebm和scc说明

阿里云GPU服务器提供GPU加速计算能力&#xff0c;GPU卡支持A100、V100、T4、P4、P100、A10等&#xff0c;NVIDIA V100&#xff0c;GPU实例规格是什么意思&#xff1f;如搭载NVIDIA V100的ecs.gn6v-c8g1.2xlarge、A10卡ecs.gn7i-c32g1.8xlarge、T4卡ecs.gn6i-c4g1.xlarge、P4卡e…

【Qt5】QString的成员函数chop

2024年1月19日&#xff0c;周五下午 QString 的 chop 方法用于从字符串的末尾移除指定数量的字符。这个方法会修改原始字符串&#xff0c;并返回 void。 下面是一个简单的示例&#xff1a; #include <QString> #include <QDebug>int main() {QString originalStr…

Jetson AGX Orin安装archiconda、Pytorch

想在Jetson AGX Orin创建一个虚拟环境&#xff0c;然后安装pytorch&#xff0c;过程中遇到了很多的坑&#xff0c;这篇文章主要用于记录过程~因为Orin本身是Arm架构&#xff0c;X86架构可以装Anaconda&#xff0c;对于ARM要装archiconda。 1.安装archiconda 1.1确定操作系统架…

如何有效清理您的Python环境:清除Pip缓存

Python是一个广泛使用的高级编程语言&#xff0c;以其强大的库和框架而闻名。然而&#xff0c;随着时间的推移和不断安装新的包&#xff0c;Python环境可能会变得混乱不堪&#xff0c;尤其是pip缓存可能占用大量的磁盘空间。本文将向您展示如何有效地清理pip缓存&#xff0c;保…

KBP206-ASEMI小功率家用电源KBP206

编辑&#xff1a;ll KBP206-ASEMI小功率家用电源KBP206 型号&#xff1a;KBP206 品牌&#xff1a;ASEMI 正向电流&#xff08;Id&#xff09;&#xff1a;2A 反向耐压&#xff08;VRRM&#xff09;&#xff1a;600V 正向浪涌电流&#xff1a;60A 正向电压&#xff08;V…

BeanUtils工具类简介

BeanUtils工具类 一、简介 ​ BeanUtils 是 Apache commons组件的成员之一&#xff0c;主要用于简化JavaBean封装数据的操作。可以将一个表单提交的所有数据封装到JavaBean中。 二、pom依赖 <dependency><groupId>commons-beanutils</groupId><artifa…

容器技术1-容器与镜像简介

目录 1、容器与虚拟化 2、容器发展历程 3、镜像简介 4、镜像原理 &#xff08;1&#xff09;分层存储 &#xff08;2&#xff09;写时复制 &#xff08;3&#xff09;内容寻址 &#xff08;4&#xff09;联合挂载 1、容器与虚拟化 容器技术在操作系统层面实现了对计算机…

山西电力市场日前价格预测【2024-01-21】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2024-01-21&#xff09;山西电力市场全天平均日前电价为266.42元/MWh。其中&#xff0c;最高日前电价为359.17元/MWh&#xff0c;预计出现在08:15。最低日前电价为0.00元/MWh&#xff0c;预计出…

76.网游逆向分析与插件开发-背包的获取-背包地址的逆向分析

内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;75.网游逆向分析与插件开发-背包的获取-背包结构与指针的逆向分析-CSDN博客 通过上一个内容&#xff0c;知道了背包的结构&#xff0c;它是一个指针数组&#xff0c;它里面还记录的背包有多少格。 然…

web练习题题解

1.Maven是用于构建的工具&#xff0c;使用前需要配置&#xff08;C &#xff09;文件&#xff0c;在里边添加阿里云的镜像便于自动下载相关的依赖jar包。 A.web.xml B.pom.xml C.Settings.xml 2.&#xff08;B &#xff09;是一个用 Java 编写的程序&#xff0c;是一种实现了…