初识Python(注释、编码规范、关键字...)

news2024/11/26 17:35:49

🥇作者简介:CSDN内容合伙人、新星计划第三季Python赛道Top1
🔥本文已收录于Python系列专栏: 零基础学Python
💬订阅专栏后可私信博主进入Python学习交流群,进群可领取Python视频教程以及Python相关电子书合集
私信未回可以加V:hacker0327 备注零基础学Python
在这里插入图片描述

订阅专栏附赠此专栏思维导图,可直接点击链接跳转学习
在这里插入图片描述

零基础学Python系列专栏面向零基础读者倾心打造,永久免费订阅,一个专栏带你吃透Python,旨在帮助初学者从零开始学习Python
从搭建环境、基础语法入手到深入学习掌握各种核心库和框架,学习利用Requests、Beautiful Soup、Scrapy等库从网络上获取数据、利用Pygame库进行游戏开发、利用NumPy、Pandas、Matplotlib等库进行数据分析,数据可视化、利用Django、Flask框架构建网站和Web应用程序等等,最终掌握并应用于实际项目。学习不断,持续更新,火热订阅中🔥
在这里插入图片描述

初识Python

  • 💬注释
    • 单行注释
    • 多行注释
    • 文件注释
    • 文档注释
    • 代码注释
    • TODO注释
  • 💬代码缩进
  • 💬标识符命名规范
  • 💬编码规范
  • 💬变量与常量
    • 变量
    • 常量
  • 💬Python关键字
    • 关键字简介
    • 查看Python关键字
  • import与from...import...
    • import
    • from...import...
  • 💬结束语

💬注释

单行注释

在Python中使用"#“作为单行注释的符号,从符号”#“开始直到换行为止,”#"后面所有的内容都作为注释内容,同时注释内容会被Python编译器忽略
单行注释可以放在要注释代码的前一行,也可放在要注释代码的右侧

💬第一种方式

# 输出hello world
print("hello world")  

💬第二种方式

print("hello world")  # 输出hello world

上面两种方式运行结果如下:

在这里插入图片描述

多行注释

在Python中,使用三对单引号或者三对双引号进行多行注释,推荐使用三对双引号进行多行注释
多行注释通常为Python文件、模块、类或者函数等添加版权、功能等信息
多行注释主要还是用作字符串,在后面的文章讲解字符串的时候会讲到

💬第一种方式(不推荐)

'''
这是一个多行注释
单引号包裹的部分会被Python解释器忽略
输出hello world
'''
print("hello world")

当使用三对单引号进行多行注释时,Pycharm会显示出来灰色波浪线,虽然不影响代码运行,但很影响程序美观。当代码下面出现波浪线时,通常表示代码存在一些警告或者建议

在这里插入图片描述

我们可以将鼠标悬停在波浪线上查看相应信息,根据提示修改即可
详细解决方案见此文章:Triple double-quoted strings should be used for docstrings.

在这里插入图片描述

💬第二种方式(推荐)

"""
这是一个多行注释
双引号包裹的部分会被Python解释器忽略
输出hello world
"""
print("hello world")

上面两种方式运行结果如下:

在这里插入图片描述

文件注释

文件注释通常放在文件开头,用于描述文件的内容、功能、作者信息以及其他相关信息 在文件注释中,通常包括以下信息

  • 模块名:模块的名称
  • 描述:文件的用途
  • 作者信息:作者的姓名或者用户名
  • 日期:文件创建或最后修改的日期

除了这些基础信息外,文件注释还可以包括其他相关信息,例如版权声明、许可证信息、文件版本等。
良好的文件注释可以帮助其他开发者更好地理解和使用代码,特别是在大型项目或者团队合作的情况下,它们是非常有价值的。

以下是一个典型的Python文件注释示例:

"""
模块: 初识Python.py
描述: 讲解Python基础知识,包括输出、变量、运算符等
作者: hacker707
日期: 2024-04-09
"""
print("hello world")  # 输出hello world
a = 10  # 定义变量a
b = 20  # 定义变量b
print(a + b)  # 输出a + b的值

文档注释

在Python中,文档注释(docstrings)是用来描述函数、类、模块等代码单元的文本。这些注释以三对单引号 ‘’’ 或者三对双引号’‘’‘’'包裹起来,推荐使用三对双引号''''''
可以跨越多行,并且可以被Python解释器识别为文档字符串。文档注释可以通过__doc__属性进行访问。
文档注释的主要目的是提供有关代码单元的使用方法、功能说明、参数说明、返回值说明等信息。这些信息可以被工具和IDE用来提供代码提示、文档查看等功能,也可以用于自动生成文档。

以下是一个简单的函数文档注释示例:

def calculate_area(inner_radius):
    """
    计算圆的面积

    该函数接受一个半径值作为参数,并返回对应圆的面积。

    参数:
    inne_radius (float): 圆的半径值,必须为非负实数。

    返回:
    float: 圆的面积,以平方单位表示。
    """
    if inner_radius < 0:
        raise ValueError("半径值必须为非负实数")
    return 3.14159 * inner_radius ** 2


# 使用示例
outer_radius = 5.0
area = calculate_area(outer_radius)
print("圆的面积:", area)

在这个示例中,文档注释清晰地描述了函数的功能、参数和返回值,以及参数的数据类型。
良好的文档注释可以提高代码的可读性和可维护性,让其他开发者更容易理解和使用你的代码。

运行结果如下:
在这里插入图片描述

代码注释

代码注释是给阅读源代码的人参考的,起到解释说明,帮助阅读者理解代码功能的作用 ,一般使用单行或者多行注释

在这里插入图片描述

TODO注释

在 PyCharm 中,TODO 注释是一种特殊类型的注释,用于标记代码中需要完成或者需要注意的任务。这些注释通常用于标记临时的、尚未完成的工作,或者需要后续处理的问题,以便开发者可以方便地找到并跟踪这些任务。
通常,TODO 注释以 TODO: 开头,后面跟着任务的描述或者说明。在 PyCharm 中,TODO 注释通常会被特殊地高亮显示,以便开发者更容易地识别它们。

以下是一个示例 TODO 注释:

# TODO: 1. 输出hello world
print("hello world")
# TODO: 2. 使用for循环分别输出a字符串中每个字符
a = "hello world"
for i in a:
    print(i)

通过在代码中添加 TODO 注释,开发者可以快速识别出需要处理的任务,并在后续的开发过程中进行跟踪和处理。PyCharm 还提供了工具和功能,可以让开发者方便地查看项目中所有的 TODO 注释,并跳转到相应的位置进行处理。这有助于提高代码的可维护性和开发效率。

可以在View—>Tool Windows中点击TODO即可进入TODO视图界面

在这里插入图片描述

我的图标与默认的不同是因为使用了PyCharm里的一个美化图标的插件,感兴趣的可以看以下文章自行探索:
PyCharm使用指南(个性化设置、开发必备插件、常用快捷键)

也可以在Pycharm左下角点击TODO视图图标即可打开TODO视图界面

在这里插入图片描述

点击即可跳转至相应的TODO注释位置

在这里插入图片描述

💬代码缩进

Python不像其他程序设计语言(如Java或者C语言)采用大括号"{}"来分隔代码块,而是采用代码缩进来区分代码之间的层次。Python 的语法规定,代码块之间的缩进必须保持一致.
注意事项:缩进可以使用空格或者Tab键实现,其中,使用空格时,通常情况下采用4个空格作为一个缩进单位,而使用tab键,则采用一个Tab键作为一个缩进单位。通常情况下建议采用空格进行缩进。

num = 10

if num > 5:
    print("num is greater than 5")

else:
    print("num is not greater than 5")

print("This line is outside the if-else block")

在这里插入图片描述
代码讲解(通过讲解代码来了解代码缩进级别)

以上代码实现的功能是当num的值大于5也就是符合条件时输出num is greater than 5,否则输出num is not greater than 5
这段代码中红色块、蓝色块分别表示一个缩进级别,同一个级别缩进量必须相同。如果同级缩进量不同就会报错,详细报错解决方案见此文章::IndentationError: expected an indented block
num的值大于5,满足条件所以会执行if代码块中的print语句,而else代码块中的print语句不会执行。在这段代码中还有一个print语句也会执行,因为该代码块和最外层缩进一样,属于最外层的代码,无论符不符合条件都会执行
在这里插入图片描述

💬标识符命名规范

在Python中,标识符是用来命名变量、函数、类以及其他对象的名称。 以下是Python标识符的命名规范:

  • 标识符可以包含字母(大小写均可)、数字和下划线
  • 标识符不能以数字开头
  • 标识符不能包含空格,可以使用下划线 _ 来分隔单词
  • 标识符不能使用Python中的关键字
  • 标识符不能使用Python中的内置函数
  • Python是区分大小写的,因此大写字母和小写字母被视为不同的标识符

遵循这些命名规范可以使你的代码更易读、易维护,并且与Python社区的约定保持一致。

❎错误示例:

1variable = 10  # 使用数字开头
my variable = 10 # 使用空格
my@variable = 10 # 使用特殊字符
if = 10 # 使用关键字
max = 10 # 使用内置函数

✅正确示例:

variable_name = 10  # 包含字母和下划线,但不以数字开头
my_variable1 = 10  # 包含字母、数字和下划线,但不以数字开头
_variable = 10  # 包含字母和下划线,以下划线开头
variable1 = 10  # 包含字母和数字,但不以数字开头

💬Python 的标识符命名规范通常包括以下几种分类:

  • 变量名:用于标识存储数据的名称。变量名应当具有描述性,清晰地表达所代表的含义,变量名通常使用蛇形命名法
    ✨示例:my_variable、num_of_students、total_sum
  • 常量名:用于标识不可变的值,通常在程序中固定不变。变量名通常使用大写字母,使用下划线分割单词
    ✨示例:PI 、DEFAULT_TIMEOUT、MAX_SIZE
  • 函数名:用于标识可调用的代码块,执行特定任务或操作数据,函数名应当具有描述性,函数名通常使用蛇形命名法
    ✨示例:calculate_total 、display_results 、get_user_input
  • 类名:用于定义对象类型,类名通常使用驼峰命名法
    ✨示例:Student 、FetchUserDetailsFromDatabase 、generateRandomNumber
  • 模块名:用于组织代码,并将相关功能组织成单个单元,模块名应当简介明了,使用小写字母,使用下划线分割单词
    ✨示例:math 、random、requests

遵循这些命名规范可以使你的代码更易读、易维护,并且与Python社区的约定保持一致。

💬编码规范

Python中采用PEP8作为编码规范,官方详细参考文档:https://peps.python.org/pep-0008/
下面列出一些需要严格遵守的编码规范

  • 每个import语句只导入一个模块,尽量避免一次导入多个模块
    推荐写法:import math
  • 不要在行尾添加;
  • 每行代码建议不超过79个字符,如果超过,可以使用()将多行内容连接起来
    ✨示例:
motto = ("不断的翻越一座又一座的高山,那样的人生才是我想要的。"
         "这一马平川,一眼见底的活,我不想要。我的人生,我自己书写"
         "余生很长,请多关照,我的人生,敬请期待")

💬变量与常量

变量

变量是用来存储数据值的标识符。
在 Python 中,变量不需要显式声明类型,可以直接进行赋值操作。
变量的值可以随时被改变。
变量名是由字母、数字和下划线组成,但不能以数字开头。

✨示例:

x = 5  # 将整数值 5 赋给变量 x
name = "Alice"  # 将字符串值 "Alice" 赋给变量 name

常量

在 Python 中,没有严格的常量概念,因为 Python 不提供内置的常量类型。
通常,程序员会使用全大写字母命名的变量来表示常量,表示这个变量的值不应该被修改。
尽管 Python中的常量并不是真正意义上的常量,但这种命名约定有助于提高代码的可读性和维护性。

✨示例:

PI = 3.14159  # 表示圆周率的常量,通常使用全大写字母命名
MAX_SIZE = 100  # 表示最大尺寸的常量,通常使用全大写字母命名

总之,变量是可变的、可以被赋予不同值的标识符,而常量是不可变的,通常通过使用全大写字母命名的变量来表示。

💬Python关键字

关键字简介

关键字是Python语言中被赋予特殊含义的单词,开发程序时,不可以把这些关键字作为变量、函数、类、模块、和其他对象的名称来使用
如果使用关键字进行命名会报以下异常:SyntaxError: invalid syntax:语法错误

在这里插入图片描述

在Python3.12.2版本中,一共有35个关键字,如下表所示
False、None、True首字母为大写,其他关键字为小写

FalseNoneTrueandasassertasync
awaitbreakclasscontinuedefdelelif
elseexceptfinallyforfromglobalif
importinislambdanonlocalnotor
passraisereturntrywhilewithyield

查看Python关键字

如果想要查看Python中所有的关键字可以使用以下代码进行查看

import keyword  # 引入关键字模块

print(keyword.kwlist)  # 打印关键字列表

在这里插入图片描述

如果想要依次输出关键字可以使用列表中的for循环和enumerate()函数遍历(后面讲解列表的时候会讲到,这里仅作了解即可)

import keyword  # 引入关键字模块

# 输出所有关键字
for index, key in enumerate(keyword.kwlist):
    # 输出序号和关键字
    print(index + 1, key)

在这里插入图片描述

import与from…import…

import

1️⃣使用import语句导入整个模块,然后通过模块名访问其中的对象
✨示例:

import math  # 导入math模块

print(math.pi)  # 输出圆周率

2️⃣导入整个模块并使用别名
✨示例:

import math as m  # 导入math模块并重命名为m

print(m.pi)  # 输出圆周率

from…import…

1️⃣导入模块中单个对象
✨示例:

from math import pi  # 导入math模块中的pi

print(pi)  # 输出圆周率

2️⃣导入模块中多个对象
✨示例:

from math import pi, sqrt  # 导入math模块中的pi和sqrt函数

print(pi, sqrt(100))  # 输出圆周率和100的平方根

3️⃣导入模块中所有对象(不推荐)

这样会导入 math 模块中的所有对象到当前命名空间。不推荐在实际开发中使用,因为可能导致命名冲突和代码可读性问题。

✨示例:

from math import *

💬结束语

以上就是零基础学Python之初识Python(注释、编码规范、关键字…)

  • 专栏订阅地址: https://blog.csdn.net/xqe777/category_12252384.html
  • 专栏订阅者可私信博主领取专栏订阅福利,进入Python学习交流群,如私信未回可以加V:hacker0327 备注零基础学Python
  • 此专栏内容会持续更新直到完结为止(如有任何纰漏请在评论区留言或者私信)

在这里插入图片描述

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

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

相关文章

网安小白常用五大靶场安装思路总结

网安小白常用五大靶场安装思路总结 一、安装 phpstudy二、查看服务器地址三、查看数据库的地址四、查看数据库用户的账号密码五、pikachu 靶场搭建六、DVWA 靶场搭建七、sqli-labs 靶场搭建八、uplod-labs 靶场九、xss-labs 靶场十、navicat 连接数据库 环境获取&#xff1a;获…

【Algorithms 4】算法(第4版)学习笔记 24 - 5.5 数据压缩

文章目录 前言参考目录学习笔记1&#xff1a;介绍2&#xff1a;游程编码 run-length encoding2.1&#xff1a;介绍2.2&#xff1a;Java 实现3&#xff1a;霍夫曼压缩 Huffman compression3.1&#xff1a;变长前缀码 variable-length codes3.1.1&#xff1a;介绍3.1.2&#xff1…

软文写作技巧,媒介盒子揭秘

数字化时代,想要获取用户的注意力难上加难&#xff0c;只有紧跟互联网的创作节奏&#xff0c;在软文写作中,根据用户的浏览偏好进行适当调整,让软文具有更高的审美性、易读性和启示性,才能有效地吸引当下受众的注意力。今天媒介盒子就来和大家聊聊软文写作技巧。 一、文章选题 …

OpenAI推出GPTBot网络爬虫:提升AI模型同时引发道德法律争议

文章目录 一、GPTBot 简介二、功能特点三、技术细节3.1、用户代理标识3.2、数据采集规则3.3、数据使用目的3.4、网站屏蔽方法3.5、数据过滤 四、GPTBot 的道德和法律问题五、GPTBot 的使用方法和限制六、总结 一、GPTBot 简介 OpenAI 推出的网络爬虫GPTBot旨在通过从互联网上收…

Todesstern:一款针对注入漏洞识别的强大变异器引擎

关于Todesstern Todesstern是一款功能强大的变异器引擎&#xff0c;该工具基于纯Python开发&#xff0c;该工具旨在辅助广大研究人员发现和识别未知类型的注入漏洞。 Todesstern翻译过来的意思是Death Star&#xff0c;即死亡之星&#xff0c;该工具是一个变异器引擎&#xff…

低代码平台适合谁用?业务岗能用它做什么?开发岗能用它做什么?一文讲清!

近期&#xff0c;低代码开发平台以其独特的魅力&#xff0c;迅速引发了大众的广泛关注。众多人士纷纷寻求了解各类低代码产品&#xff0c;以探究其功能与特点。 然而&#xff0c;有些人可能因一两款产品的体验不佳&#xff0c;便对整个低代码行业产生了偏见。但我要指出的是&am…

Latex写文章时,使用.bib方式添加参考文献方法,再也不用手动调整格式了

一、背景 使用Latex写文章时&#xff0c;有的模板添加参考文献是使用\begin{thebibliography}{99}和\end{thebibliography}方式&#xff0c;如下图所示&#xff0c;这样的话得手动添加参考文献。如果参考文献多的话特别麻烦&#xff0c;其中{99}指的是参考文献条目编号的最大宽…

提示词专场:从调整提示改善与LLMs的沟通,到利用LLMs优化提示效果

编者按&#xff1a;欢迎阅读“科研上新”栏目&#xff01;“科研上新”汇聚了微软亚洲研究院最新的创新成果与科研动态。在这里&#xff0c;你可以快速浏览研究院的亮点资讯&#xff0c;保持对前沿领域的敏锐嗅觉&#xff0c;同时也能找到先进实用的开源工具。 提示词的好坏决…

多个代理proxy配置——日志查看代理后的地址

一个项目接口有两个域名&#xff0c;需要配置两个代理复制一个axios封装文件&#xff0c;修改baseUrl为新的标识 ququ新接口文件引入新的request1即可 proxy: {// 新接口采用 /ququ前缀/ququ: {target: http://192.168.2.82:8888, //鑫哥 changeOrigin: true,logLevel: debug, …

SOLIDWORKS教育版使学生了解如何加快设计项目的速度

在当今信息爆炸的时代&#xff0c;设计项目的速度和效率对于工程专业的学生来说至关重要。SOLIDWORKS教育版作为一款专门为学生设计的3D CAD软件&#xff0c;不仅提供了强大的设计工具&#xff0c;更致力于帮助学生了解如何加快设计项目的速度&#xff0c;提升他们的设计能力和…

HarmonyOS 开发-应用新功能引导实现案例

介绍 本文介绍如何使用high_light_guide三方库完成应用新版本功能导航。通过高亮区域与蒙版背景的明暗度对比&#xff0c;让用户快速锁定重点功能&#xff0c;了解版本变更和业务入口。 效果图预览 使用说明 点击页面上对应按钮或空白区域进入下一个提示&#xff0c;直至提示…

CAXA电子图版2020版 下载地址及安装教程

CAXA电子图板是一款由国内软件公司CAXA开发的专业CAD&#xff08;计算机辅助设计&#xff09;软件。它主要用于绘制和编辑各种类型的二维图纸和工程图纸&#xff0c;广泛应用于建筑、机械、电气和电子等行业。 CAXA电子图板具有以下主要功能和特点&#xff1a; 二维绘图&…

大型语言模型(LLMs)面试常见问题解析

概述 这篇文章[1]是关于大型语言模型&#xff08;LLMs&#xff09;的面试问题和答案&#xff0c;旨在帮助读者准备相关职位的面试。 token&#xff1f; 在大型语言模型中&#xff0c;token 指的是什么&#xff1f; 分词&#xff08;Tokenization&#xff09;&#xff1a;可以将…

正则问题【蓝桥杯】/dfs

正则问题 dfs 刚开始用的是栈&#xff0c;没有想到dfs… #include<iostream> #include<stack> using namespace std; string s; int pos; int dfs() {//ans表示到当前位置最多的x数目//num表示暂存的x数目int num0,ans0;while(pos<s.size()){if(s[pos](){pos;…

FireShellCTF 2020 - The Return of the Side Effect

前言 打算做几道 jsc 的 CTF 题目熟悉熟悉 jsc 的漏洞利用方式&#xff0c;但是发现很多题目都比较老了&#xff0c;commit 似乎已经没了。所以直接最新的 WebKit 上手动引入漏洞&#xff0c;然后尝试进行利用。 环境搭建 sudo apt install cmake sudo apt install ruby sud…

常用的启发式算法

1.蚁群算法&#xff08;Ant Colony Optimization, ACO&#xff09;&#xff1a;想象一下&#xff0c;蚂蚁们寻找食物的过程中留下的信息素轨迹&#xff0c;就是一种高效的搜索策略。这种算法模仿自然界中的这一现象&#xff0c;适用于解决复杂的路径规划问题。 2. A*算法&…

进制转换(0123456789ABCDEF)

题目 import java.util.Scanner;public class Main {public static void main(String[] args) {//将十进制数M转化为N进制数Scanner sc new Scanner(System.in);int m sc.nextInt();int n sc.nextInt();StringBuffer sb new StringBuffer();//1String s "0123456789…

stack: ‘FetchError: request to https://registry.npm.taobao.org/cssom failed,

npm install的时候报stack: FetchError: request to https://registry.npm.taobao.org/cssom failed, 查找了一下&#xff0c;原来是早在 2021 年&#xff0c;淘宝就发文称&#xff0c;npm 淘宝镜像已经从 registry.npm.taobao.org 切换到了 registry.npmmirror.com 解决方式&…

最长公共子序列、最长上升子序列(LCS与LIS)算法

最长公共子序列、最长上升子序列(LCS与LIS) 最长公共子序列(LCS) #include <bits/stdc.h> using namespace std; #define int long long const int N 1e39; int a[N],b[N],dp[N][N]; signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int n,m;cin>>…

铁山靠之数学建模-基础篇

小黑子的数模基础篇 一、什么是数学建模1.1 数学模型分类1.2 备战准备什么1.3 组队学习路线1.4 赛前准备1.5 赛题选择1.5.1 赛题类型1.5.2 ABC赛题建议 1.6 学会查询1.6.1 百度搜索技巧1.6.2 查文献1.6.3 数据预处理 1.7 建模全过程 二、数模论文2.1 论文排版2.2 标题怎么写2.3…