欢迎来CILMY23的博客喔,本篇为【python】python编程初探1----python中的基本语法,标识符,关键字,注释,多行书写,代码缩进,语句块,模块,感谢观看,支持的可以给个一键三连,点赞关注+收藏。
前言
在前两篇安装完我们所需环境和解决在pycharm所需要选择的python解释器后,本篇我们将了解在python中的基本语法,标识符,关键字,注释,多行书写,代码缩进,一行书写多条语句和多行书写一条语句,空行,语句块,模块和模块对象的导入
文章目录
一、python中的语法规则
1.1 标识符
在 Python 中,标识符是用来给类、对象、方法、变量、接口和自定义数据类型等命名的名称。跟C语言中的内容是差不多的。
Python标识符由数字、字母、汉字和下画线_组成。(不推荐用汉字)
有以下命名规则:
- 标识符可以包含字母(大小写均可)、数字和下划线。
- 标识符必须以字母(a-z, A-Z)或者下划线(_)开头,不能以数字开头。
- 标识符区分大小写,例如 "myVar" 和 "myvar" 是不同的标识符。
- Python 的关键字不能用作标识符。
- 标识符不能使用空格或标点符号(如括号、引号、逗号等)
以下是一些 Python 中的关键字,它们不能被用作标识符:
False, None, True, and, as, assert, async, await, break, class, continue,
def, del, elif, else, except, finally, for, from, global, if, import, in,
is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield
一些示例合法的标识符包括:
var1、my_variable、SomeClass、this_is_a_very_long_variable_name 等。
一些非法的标识符如下:
#myname,1a,class,if
在C语言中我们有命名约定(【C语言】编译和链接----预处理详解【图文详解】-CSDN博客)
在Python中同样也有命名规定:
- 命名约定:
- Python代码中的变量名使用小写字母,单词之间使用下划线分隔(snake_case);而类名使用大写字母开头的驼峰命名法(CamelCase)。
大驼峰:即每个单词首字母都大写,例如: MyName 。
小驼峰:第二个(含)以后的单词首字母大写,例如: myName 。
下划线:例如: my_name 。
1.2 关键字(保留字)
保留字 也被称为关键字,我们更习惯称关键字。
什么是关键字?
关键字(Keyword)是编程语言中预先保留用于特定目的的标识符。这些标识符具有特殊的含义和功能,通常用于定义语言结构、控制流程、声明变量类型等。在任何给定的编程语言中,关键字都有其固定的语法和含义,不能作为变量名或函数名等用户定义的标识符。
在Python中,关键字包括if、else、for、while、def等,而在C语言中,关键字包括int、char、if、else、for等这些都是有特定功能的标识符,所以被称为关键字
在pycharm中我们可以输入以下代码查看关键字(不必在意意思,只需要用就完了,后面会解释)
import keyword
print("Python 中的关键字:\n",keyword.kwlist)
Python 中的关键字:
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
1.3 注释
在 Python 中,注释用于在代码中添加说明和解释,但并不会被解释器执行。Python 支持两种类型的注释:
- 单行注释:以井号(#)开头的部分被视为单行注释,可以出现在代码行的开头,也可以出现在代码行的结尾。
- 多行注释:用三个单引号(''')或三个双引号(""")包围起来的部分被视为多行注释。通常用于多行的注释说明
例如:
# 这是一个单行注释
x = 5 # 这也是一个单行注释
'''
这是一个
多行注释
'''
"""
这也是一个
多行注释
"""
尽管Python 支持多行注释,但它们实际上是被视为字符串而不是注释,因此并不会被完全忽略。在实际开发中,一般还是使用单行注释来对代码进行注释说明。
1.4 代码缩进
在C语言中我们常用{}来表示代码的从属关系,这样会让域的表现清晰可见,而在Python中,它采用严格的缩进方式来体现代码的从属关系,而不使用{}。缩进不仅仅是一种风格,它还是定义代码块和控制流的重要方式。
Python 使用缩进来表示代码块的开始和结束,强制规定了代码的缩进格式,缩进空格数是可变的,但同一个语句块的语句必须包含相同的缩进空格数,否则,要么出现语法错误,要么出现逻辑错误,会导致在检查错误上花费大量的时间。
Python 的缩进规则如下:
- 使用空格缩进:Python 推荐使用四个空格作为缩进的标准,虽然可以使用制表符(tab)来进行缩进,但是在实际开发中更常见的是使用空格。
- 缩进表示代码块:在 Python 中,使用缩进来表示代码块的开始和结束。比如在条件语句、循环、函数定义等中,缩进的部分表示属于代码块内部的代码,缩进的空格数要保持一致。
- 统一缩进风格:Python 代码中的缩进风格应该保持统一,不同的代码块和逻辑结构应该使用一致的缩进风格,这样可以提高代码的可读性和整体风格的一致性。
例如:
# 代码缩进
score = 88
if score >= 60:
print("合格")
else:
print("不合格!")
1.5 一行书写多条语句和多行书写一条语句
1.5.1 多行书写一条语句
在日常编程中,经常会遇到一条语句非常长的情况,所以我们会有多行书写一条语句的情况,我们可以使用反斜杠(\)来表示一行代码的延续。这允许我们在一行的末尾换行继续书写代码,而 Python 解释器会将其视为一行代码。
在后续的学习中,我们如果遇到[],{},或()中的多行语句就不需要使用反斜杠(\),可以直接通过在逗号后回车来延续代码
例如:
a = 5
b = 6
c = a + \
b
print(c)
1.5.2 一行书写多条语句
Python 可以在一行中书写多条语句,语句之间使用分号;隔开( 英文的分号)
a = 5;b = 6;c = a + b
print(c)
1.6 空行
空行也是程序代码的一部分,通常用来提高代码的阅读性
例如:
a = 5
b = 6
c = a + \
b
print(c)
#这里是一个空行
a = 5;b = 6;c = a + b
print(c)
空行在编程中是一种常见的代码组织和可读性的手段,它们通常被用于对代码进行逻辑分组、提高可读性以及符合编码规范。虽然空行对程序的逻辑执行没有直接影响,但在编写清晰易读的代码时起到了重要的作用。在程序代码中,空行是指不包含任何字符的行,只包含空格、制表符、或者其他空白字符的行,也可以是完全没有任何字符的行。
1.7 语句块
缩进相同的一组语句构成一个语句块,又称为语句组。像if、while、def和class这样的复合语句,首行以关键字开始,以冒号结束,改行之后的一行或多行代码构成语句块,注意:同一个语句块中的语句缩进必须相同
1.8 模块及模块对象导入
在 Python 中,模块是一个包含 Python 定义和语句的文件。文件名就是模块名加上 .py
后缀。在模块中,可以定义函数、类和变量,并且可以使用这些函数、类和变量。模块允许你将你的代码逻辑组织成一个独立的单元,便于维护和复用。
当 Python 解释器读取一个源文件时,它会执行这个文件中的所有代码,并且创建一个具有相应变量的模块对象。每个模块都有自己的符号表,用来管理模块的变量和函数名。模块对象就是指代这个符号表和相关功能的对象。
在 Python 中,模块对象是可以被引入其他模块中并使用的。使用 import
语句可以导入其他模块,并使用点号.
运算符来访问导入模块的属性。在导入模块时,Python 解释器会执行被导入模块中的所有顶层代码,然后在当前模块中创建一个指向所导入模块的引用。
在上文中,我们要查看关键字
import keyword
# 导入一个keyword(模块),使用其中的对象kwlist
print("Python 中的关键字:\n",keyword.kwlist)
在python中导入模块主要有几种方式:
1.导入整个模块
格式为:import 模块名 [as 别名]
import nltk
import pandas as pd
其中as就是将pandas 重命名一个名字为pd,二者是一样的只是喊法不同
2. 导入模块的单个对象
格式:from 模块名 import 对象 [as 别名]
from nltk.stem.porter import PorterStemmer
from nltk.tokenize import sent_tokenize
代码从NLTK的stem模块中导入了一个叫做PorterStemmer
的类
代码从NLTK的tokenize模块中导入了一个叫做sent_tokenize
的函数
3.导入模块的多个对象
格式为: from 模块名 import 对象1,对象2……
一般很少会用这种形式来导入模块内容,太少用了
from module_name import object1, object2, object3
4.导入模块的全部对象
格式为: from 模块名 import*
此方式会将模块中的所有对象导入当前命名空间,包括函数、类、变量等。但是这种方式不被推荐,因为它可能会导致命名空间的污染,引起命名冲突。我们更多还是采用第二种形式导入单个
感谢各位同伴的支持,本期python就讲解到这啦,如果你觉得写的不错的话,可以给个一键三连,点赞关注+收藏,若有不足,欢迎各位在评论区讨论。