00 01 基础语法规则 前言
- 此专栏笔记是个人学习 Python 过程中的个人笔记,记录方式主要以个人习惯为主,记录内容会包括个人学习 Python 中的知识点,以及使用过程中的遇到的问题记录。如果有大佬偶然看见,有错误or不当之处,若顺手的话,请及时指正,感谢🙏🙏🙏。不定期更新。
- 本篇笔记记录了使用 Python 时的一些基础语法规则,注释,缩进,输入输出等基本语法规则
Python 基础学习 00 01 Python 基础语法规则 目录
一、Python 的注释
Python 的注释有单行注释和多行注释。
注释是不被执行的,不是写给机器的,而主要是给人看的,说明某段代码,某段程序的作用,防止时间长了,编写者忘记这段代码的意义,或者是给别人看代码时,让别人能理解代码。
1.1 单行注释
Python 的单行注释用 # 开头表示,只能在一行内写注释,不能换行,适合少量注释。
示例代码
# 这是一句注释,放在一行的开头,但是后面就不能写程序文件要执行的代码
# 输出打印 Hello Python World!
print("Hello Python World!") # 这是一句注释,可以放在一行代码结束的末尾
# 单行注释可以放在一行的开头或者一行代码的末尾,但不能放在代码的中间
运行结果
Hello Python World!
1.2 多行注释
Python 的多行注释用三个单引号(或者双引号)括起来,一般用单引号居多,可以在引号的范围任意换行写注释,没有约束。
注意:
1. 单引号和双引号不可以任意配对,只能用单引号开始,单引号结束,比如用单引号开始,双引号结束是不可以的,
2. 引号是成对出现的,即注释开始之前3个引号,注释结束之后3个引号
示例代码
''' 用单引号表示
这是第一行注释
这是第二行注释
这是第三行注释
'''
print("Hello Python World!")
""" 用双引号表示
这是第一行注释
这是第二行注释
这是第三行注释
"""
运行结果
Hello Python World!
二、Python 的代码结构
2.0 语句划分
Python 的语句不需要以分号 “;” 结尾,代码打完即语句结束,不需要像 C/C++ 中那样用分号 “;” 来确定。
2.1 缩进
Python 的最大特色就是用缩进来表示代码块,不像 C/C++ 那样使用大括号 {} 来表示代码块。因此,在 Python 中,必须严格执行缩进,来规范代码,保证代码逻辑正确。
注意:
1. 同一缩进表示同一个代码块,若同一个代码块使用不同的缩进,则程序执行的结果会与本来设计好的不一样
2. 何为代码块:当程序语句以英文冒号 ‘:’ 结尾时,此时采用同一个缩进的语句视为一个代码块
3. 一个缩进所用的空格是可变的,但一般情况下,一个缩进 = 4 个空格
4. Python是严格区分大小写的
示例代码:要求是执行 if 语句的代码,不执行 else 下面的语句。
# 严格执行缩进
if True:
print ("True")
print (1)
else:
print ("False")
print (2) # 有缩进
# 缩进不统一
if True:
print ("True")
print (1)
else:
print ("False")
print (2) # 没有缩进
运行结果
# 严格执行缩进的结果
True
1
# 缩进不统一的执行结果
True
1
2
# 因为 print(2) 的缩进不同,一个有缩进,一个无缩进
PS: 有时候缩进不严格,程序都跑不下去,就直接报错
2.2 多行语句
C/C++ 中,一行写一条语句,因此也说一行语句,一行语句的结束是以分号 “;” 为标志,一行语句的末尾如果没有分号,则会报错,但是也不能随意将一行语句拆分成多行语句。而 Python 中则没有分号这个规则, 一条语句的结尾不用加什么符号,就可以直接结束。
Python 通常情况下一行写一条语句,if 语句过长,则需要分成多行去写,此时我们可以用反斜杠 “\” 来实现多行语句。
示例代码
total = appples + \
peachs + \
watermelons
在 [ ],( ),{ } 中包括的代码,需要多行书写时,不用反斜杠 “\” 来实现多行,直接 Enter 就可以。
2.3 空行
空行不是 Python 中规定的语法,而是个人书写代码时的一个习惯,在代码中插入空行,Python 解释器执行的时候,也不会报错。
使用空行,可以用来分隔不同含义或者功能的代码,或者用来分隔不同函数,自定义多个函数之间也可以用空行来分隔,引入第三方库的代码和其他代码可以用空行来分隔。
使用空行,便于理解代码的结构,以及长时间不看这部分代码,忘记这部分代码的逻辑 & 功能,配合注释,也可以在极短时间内看懂代码,也就是说空行也是起到了一部分注释的作用。
在示例的代码中就可以看到使用空行的例子
三、Python 的输入输出
3.1 输出函数 print()
print输出函数在 Python 中的定义如下:
def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
"""
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
"""
解释一下 print() 函数里参数的含义
参数 | 含义 |
---|---|
self | 表示类名,一般指当前类,一般不用,可忽略,不用管 |
*args | 表示可变参数,可以多个,一般表示我们要输出的数据,用,隔开多个变量 |
sep | 表示输出多个数据时,多个数据之间的间隔用什么表示,默认是空格,表示形式:sep = " " |
end | 表示print()函数执行完毕后,以什么格式结尾,默认是换行,表示形式:end = ‘\n’ |
file | 表示文件名称,默认是 None,与 “文件” 那块的知识配合 |
示例代码
num1: int = 31
num2 = 32
name = '升升'
# 默认值
print(num1,num2,name)
print('aaa')
'''运行结果是:
31 32 升升
aaa
'''
# 修改 sep 的值 改为 __
print(num1,num2,name,sep = '__')
print('aaa')
'''运行结果是:
31__32__升升
aaa
'''
# 修改 end 的值 改为 ++
print(num1,num2,name,sep = '__',end = '++')
print('aaa')
'''运行结果是:
31__32__升升++aaa
'''
取消print结束换行: 将end = ‘\n’ 改为 end = ‘’,即在末尾加上 end = ‘’
如果要打印输出某段文字,这段文字用单引号或者双引号括起来。
如果要输出的文字中含有单引号或者双引号,在前面加反斜杠 ‘\’ 即可。如果是使用双引号括起来,文字中有单引号,则可不用反斜杠 ‘\’;如果是使用单引号括起来,文字中有单引号,就必须使用单斜杠了;反之亦然。
print(' I\'m single1.')
print(" I'm single2")
''' 运行结果
I'm single1.
I'm single2.
'''
3.2 输入函数 input()
- Python 中获取键盘输入的数据的方法是使用 input() 函数
- input()的小括号中放入的是,提示信息,用来在获取数据之前给用户的一个简单提示
- input()在从键盘获取了数据以后,会存放到等号右边的变量中
- input()会把用户输入的任何值都作为字符串来对待,即给等号右边的变量赋的值为字符串,若要使用其他类型,则需要转换数据类型 (后面的某个文章会说)
- input函数执行时,当输入完内容后,程序并没有执行完毕,一直处于等待状态,只有当按下回车键时,才表示input ( ) 函数执行完毕,才会执行后续的代码。
示例代码
input("请输入:");
print ("你输入的内容是: ", str)
# 运行结果
请输入:Hello Python!
你输入的内容是: Hello Python!
3.3 格式化输出函数 format()
3.3.1 % 输出
% 输出与输入的格式化与 C/C++ 中的用法一样,但在 Python 中不推荐使用
常用几个 % 格式化输出代码
代码 | 含义 |
---|---|
%c | 输出字符 |
%s | 输出字符串 |
%d | 输出十进制带符号整数 |
%o | 输出八进制带符号整数 |
%x | 输出十六进制带符号整数 |
%f | 输出浮点数 |
示例代码
num1 = 20
num2 = 30
print('num1=%d, num2=%d' %(num1, num2))
运行结果
num1=20, num=30
3.3.2 format() 输出
- format()它增强了字符串格式化的功能。
- 基本语法:{:格式说明}.format(要输出的变量)
示例代码
# 转化为百分比并保留两位小数
print('百分比:{:.2%}'.format(0.555555))
# 保留两位小数
print('保留两位小数:{:.2}'.format(0.555555))
运行结果
百分比:55.56%
保留两位小数:0.56
具体的使用可以参考这个博客:python的三种输出格式
四、标识符的命名规则与规范
标识符主要是作为变量、函数、类、模块以及其他对象的名称。
1. 定义合法标识符的规则:
1. 组成成分:数字、字母、下划线,注意,不能以数字作为标识符的开头;
2. 严格区分大小写,num 和 Num 是两个不同的标识符
3. 不能使用 Python 中的关键字作为标识符, 可以通过 keyword模块中的 kwlist属性查看 Python 中的关键字
import keyword
print(kelist)
# 运行结果
['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']
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 |
2. 标识符的命名方法
标识符的命名要做到见名知意,不然时间一长,或者别人看你的代码时,甚至,由于编写一篇代码时间过长,变量太多,不知道这个标识符是表示什么的了,那就不好玩了。下面是几种大家都比较认可的一些命名方法。
- 小驼峰命名法: 第一个单词的首字母小写,以后的每个字母的首字母大写
eg:userNameAndPassword - 大驼峰命名法: 每个单词的首字母大写
eg:userNameAndPassword - 下划线命名法: 单词之间使用下划线连接
eg:user_name_and_password
注意:
- 一般情况下,在 Python 中,变量、函数、模块的标识符用下划线命名法, 类的标识符用大驼峰命名法
- 标识符不能以下划线开头
- 标识符不能是关键字
五、变量的声明与赋值
变量的声明: Python中的变量可以存储不同的数据类型,不需要提前声明变量的数据类型,这与 C/C++ 语言不一样,因此,Python 中每种数据结构都有不同且严格的数据类型表示形式。
变量的赋值:
语法规则: 变量名 = 数据
表示把右边的数据赋值给 = 左边的变量名,等号 = 表示赋值,与数学意义上的等号意义不同,数学意义上的等号用两个 连在一起的等号 == 表示。
具体应用下面简单介绍一下,更多的内容会在接下来 Python 基础学习 01 数据类型 部分
示例代码
# 简单赋值
num = 1
name = "shengsheng"
# 多个变量赋值
# 给多个变量赋同一个值
a = b = c = 20;
# 给不同变量赋不同值 变量之间用逗号隔开,数据之间用逗号隔开
x,y = 21,22
# 打印出来
print(num,name,a,b,c,x,y)
运行结果
1 shengsheng 20 20 20 21 22
总结
本篇笔记主要记录了 Python 代码编写的一些基础知识,在我看来,学习任何一门语言之前,先了解了他的这些东西,再去深入学习他的数据类型,语句结构,函数,等方面的东西,会比较好,当然,最后一部分关于变量的说法, 各个语言大同小异,会有些许不同,但是大部分都是一样的。