二、python基础语法
| 规则 | 官方强制要求的编写语法 | 不遵守会对影响代码执行 |
|---|---|---|
| 规范 | 官方和大厂建议的编写要求,不强制 | 不遵守也不会对影响代码执行,尽量遵守,让代码更高级、更易懂 |
2.1 字面量
字面量:在代码中,被写下来的的固定的值(6中常见的数据类型)。
Python中常用的有6种固定的值(数据类型)如下。
| python的6种数据类型 | 说明 |
|---|---|
| 数字(number) | ①整数(int):如10、-10 ②浮点数(float):如3.14、-0.1 ③复数(complex):如4+3j(以j为结尾表示复数) ④布尔(bool) :True表示真,False表示假。 |
| 字符串(string) | 又称文本,由英文下的单引号或者双引号及其英文引号里的任意数量的字符如中文、英文、各类符号、数字等组成。如"HelloWorld"、‘HelloWorld’ |
| 列表(list) | 以 [ ] 作为标识,容器内每一个元素之间用英文逗号隔开 |
| 元组(tuple) | 以 ( ) 作为标识,容器内每一个元素之间用英文逗号隔开 |
| 集合(set) | 以 { } 作为标识,容器内每一个元素之间用英文逗号隔开 |
| 字典(dict) | 以 { } 作为标识,存储的元素是一个个的键值对,容器内每一个元素之间用英文逗号隔开 |
| 类型 | 代码实现 | 说明 |
|---|---|---|
| 整数 | 10 | 和现实中的写法一致 |
| 浮点数 | 3.14 | 和现实中的写法一致 |
| 复数 | 4+3j | 现实一般用i来表示 |
| 布尔数 | True | 逻辑数只有True和False |
| 字符串 | “HelloWorld” | 程序中需要加上双引号来表示字符串 |
#注意,#号和注释内容一般建议以一个空格隔开
# 字面量:在代码中,被写下来的的固定的值(6中数据类型)
10 # 整数字面量
3.14 # 浮点数字面量
4+3j # 复数自字面量
True # 布尔数字面量
"HelloWorld" # 字符串
print(10) # 10
print(3.14) # 3.14
print(4+3j) # 4+3j
print(True) # True
print("HelloWorld") # HelloWorld
"""
单行注释:以#开头,#右边的所有文字当作说明。
多行注释:以一对三个双引号引起来的注释内容,来解释说明一段代码的作用使用方法
"""
2.2 注释
定义:在程序代码中对程序代码进行解释说明的文字。
说明:注释不是程序,不能被执行。
作用:对程序代码进行解释说明,能够大大增强程序的可读性。
| 注释类型 | 定义 | 说明 | 使用场景 | 是否允许换行 | 是否允许嵌套 |
|---|---|---|---|---|---|
| 单行注释 | 以#开头,#右边的所有文字当作说明 | #号和注释内容一般建议以一个空格隔开,否则就会提示书写不规范,代码下方会出现波浪线警告 | 一般用于一行或者一段代码进行解释 | 否 | 是 |
| 多行注释 | 以一对三个双引号引起来的注释内容 | 警告不影响代码的执行 | 一般用于python文件、类或方法进行解释 | 是 | 否 |

2.3 变量
定义:在程序运行时,能储存计算结果或能表示值的抽象概念(记录数据)。
特点:程序运行时,可能会改变变量的值。
语法:变量名 = 变量值,其中变量名就是变量本身,=表示赋值(不是等于),变量值就是变量名存储的数值。
功能:把等号右侧的值赋值给等号左侧的变量。
money1 = 50
money2 = 100
# 格式:print("字符串1",变量名1,"字符串2",变量名2......"字符串n",变量名n,)
print("钱包1有", money1 ,",钱包2有:", money2) # 钱包1有 50 ,钱包2有: 100
money1 = money1 - 10
# 变量值是可变的
print("钱包1有", money1) # 40
2.4 数据类型
数据是有类型的,但是变量是无类型的,只有在变量存储的数据的时候才有。比如对于字符串变量,不是说变量是字符串,而是说变量存储了字符串。
语法:type(要查看的字面量或者变量)
功能:查看字面量或者变量的数据类型。
my_str = "HelloWorld"
print(type(name)) # 等价于print(type("HelloWorld")) str类型
2.5 数据类型转换
案例:①从文件中读取的数字,默认是字符串,需要转换成数字类型;
②input()语句,默认结果是字符串,若需要数字也需要转换。
| 函数 | 功能 | 说明 |
|---|---|---|
| int(x) | 将x转化为1个整数 | 字符串内容不是数字类型的不可以通过int()转为整数,浮点数转成整数是向下取整,丢失精度(小数部分) |
| float(x) | 将x转化为1个浮点数 | 字符串内容不是整数和浮点数的不可以通过float()转为浮点数 |
| str(x) | 将x转化为字符串 | 任何数据类型都可以通过str()转化为字符串,只需要加双引号即可 |
int_num = 12
print(float(int_num)) # 12
print(type(float(int_num))) # float
print(str(int_num)) # 12
print(type(str(int_num))) # str
float_num = 3.99
print(int(float_num)) # 3,向下取整
print(type(int(float_num))) # int
print(str(float_num)) # 3.99
print(type(str(float_num))) # str
str_int_num = "10" # 字符串里面的内容是整数,可以转化为整数和浮点数
print(int(str_int_num)) # 10
print(type(int(str_int_num))) # int
print(float(str_int_num)) # 10
print(type(float(str_int_num))) # float
str_float_num = "10.01" # 字符串里面的内容是浮点数,可以转化为浮点数,但不能转化为整数
# print(int(str_float_num)) # ValueError:不可转换
# print(type(int(str_float_num))) # error
print(float(str_float_num)) # 10.01
print(type(float(str_float_num))) # float
str_num = "python" # 字符串里面的内容是不是数字类型,不可以转化为整数和浮点数
# print(int(str_num)) # ValueError:不可转换
# print(type(int(str_num))) # error
# print(float(str_num)) # ValueError:不可转换
# print(type(float(str_num))) # float

2.6 标识符
定义:变量名、方法名、类名、包名统一的称为标识符。
功能:用来做内容的标识。
规则:①不可以使用关键字,否则会报SyntaxError语法错误;②只能由数字、下划线、英文、中文组成,不能使用其他字符,否则会报SyntaxError语法错误;③开头不允许是数字,否则会报SyntaxError语法错误;④区分大小写。

规范:①不推荐使用中文;②见名知意,简洁明了;③涉及多单词组合,使用下划线分隔命名;④全部小写。
2.7 运算符
2.7.1 算数运算符
| 术语 | 运算符 | 实例 | 结果 |
|---|---|---|---|
| 乘 | * | 10 * 3 | 30 |
| 除 | / | 10 / 3 | 3.333333 |
| 取整除 | // | 10 // 3 | 3 |
| 取模(取余) | % | 10 % 3 | 1 |
| 指数 | ** | 10**3 | 1000 |
| 加 | + | 10 + 3 | 13 |
| 减 | - | 10 - 3 | 7 |
print("1 + 1 = ", 1 + 1)
print("2 - 1 = ", 2 - 1)
print("3 * 3 = ", 3 * 3)
print("4 / 2 = ", 4 / 2)
print("11 // 2 = ", 11 // 2)
print("9 % 2 = ", 9 % 2)
print("2 ** 2 = ", 2 ** 2)

2.7.2 赋值运算符
| 术语 | 运算符 | 实例 | 等价 | 结果 |
|---|---|---|---|---|
| 赋值 | = | a = 2; b = 3; | a = 2; b = 3; | |
| 加等于 | += | a = 0; a += 2; | a = 0; a = a+2 | a = 2; |
| 减等于 | -= | a = 5; a -= 3; | a = 5; a = a-3 | a = 2; |
| 乘等于 | *= | a = 1; a *= 2; | a = 1; a = a * 2 | a = 2; |
| 除等于 | /= | a = 4; a /= 2; | a = 4; a = a / 2 | a = 2; |
| 取模等于 | %= | a = 5; a %= 3; | a = 5; a = a % 5 | a = 2; |
| 整除等于 | //= | a = 5; a//= 3; | a = 5; a = a // 3 | a = 1; |
| 幂指数等于 | **= | a = 10; a **= 2; | a = 10; a = a*a | a = 100; |
# 赋值运算符
num = 1 + 2 * 3
# 复合赋值运算符
num = 1
num += 1 # num = num + 1
print("num += 1: ", num) # 2
num -= 1
print("num -= 1: ", num) # 1
num *= 4
print("num *= 4: ", num) # 4
num /= 2
print("num /= 2: ", num) # 2.0
num = 11
num %= 4
print("num %= 2: ", num) # 3
num **= 3
print("num **=2: ", num) # 27
num = 9
num //= 2
print("num //= 2:", num) # 4
2.7.3 比较运算符
python语言的比较运算中, "真"用数字"True"来表示, "假"用数字"False"来表示(很多语言是用True和False来分真假,C语言是底层语言,用1和0来表示真假),其中布尔类型首字母大写。
| 布尔值 | 逻辑 | 在底层的本质 |
|---|---|---|
| True | 真 | 1 |
| False | 假 | 0 |
语法:变量名 = 布尔类型字面量
来源:布尔类型的数据,不仅可以通过定义得到,也可以通过比较运算符进行内容比较得到。
| 术语 | 运算符 | 实例 | 结果 |
|---|---|---|---|
| 大于或等于 | >= | 4 >= 3 | True |
| 小于或等于 | <= | 4 <= 3 | False |
| 大于 | > | 4 > 3 | True |
| 小于 | < | 4 < 3 | False |
| 不等于 | != | 4 != 3 | True |
| 等于 | == | 4 == 3 | False |
数字类型之间的比较:

字符串之间的比较:

bool1 = True
print(f"布尔值是:{bool1},类型是{type(bool1)}") # True bool
2.7.4 逻辑运算符
| 术语 | 运算符 | 实例 | 结果 |
|---|---|---|---|
| 逻辑与,等价于数学中的“且” | and | a and b | 当a和b两个表达式都为真时,a and b的结果才为真,否则为假 |
| 逻辑或,等价于数学中的“或” | or | a or b | 当a和b两个表达式都为假时,a or b的结果才是假,否则为真 |
| 逻辑非,等价于数学中的“非” | not | not a | 如果a为真,那么not a的结果为假;如果a为假,那么not a的结果为真。相当于对a取反 |
2.8 字符串
2.8.1 定义
| 定义方式 | 语法 |
|---|---|
| 单引号定义 | ‘单引号定义,不允许换行,不允许嵌套’ |
| 双引号定义 | “双引号定义,不允许换行,不允许嵌套” |
| 三引号定义 | ‘"三引号定义,允许换行,不允许嵌套’",三引号定义法和多行注释的写法一样,如果使用变量接收它,它就是字符串;不使用变量接收它,就作为多行注释使用 |
2.8.2 字符串的引号嵌套
| 输出 | 语法 |
|---|---|
| 输出双引号 | 使用单引号定义法,内含双引号 |
| 输出单引号 | 使用双引号定义法,内含单引号 |
| 输出非三引号 | 使用转移字符\来将引号解除效用,变成普通的符号 |
define1 = '单引号定义'
define2 = "双引号定义"
define3 = """
三引号定义
只有三引号定义支持换行
"""
print('单引号定义:', define1, "类型是:", type(define1)) # 单引号定义 str
print("双引号定义:", define2, "类型是:", type(define2)) # 双引号定义 str
print("三引号定义:", define3, "类型是:", type(define3)) # 三引号定义\n只有三引号定义支持换行 str
print("'输出单引号'") # '输出单引号'
print('"输出双引号"') # "输出双引号"
print("\'输出单引号\'") # '输出双引号'
print("\"输出双引号\"") # "输出双引号"
2.8.3 字符串的拼接
字符串之间的拼接通过+完成字符串的拼接,不能用于字符串和数字类型进行拼接。否则会报TypeError类型错误。

bank = "交通银行"
telephone = 95566
print(bank + "的电话:") # 交通银行的电话
print(bank + "的电话:" + telephone) # TypeError
2.8.4 字符串的格式化
问题:①如果变量过多,拼接字符串会很麻烦;②字符串无法和数字类型或者其他类型的数据完成拼接。
解决:字符串格式化。
2.8.4.1 占位型拼接
语法:"字符串 数据类型占位符" % 变量
说明:%s中的%表示占位,s表示将变量变成字符串放入占位的地方。
功能:%s先占个位置,将%后面的变量变成字符串放到占位的位置。
注意:多个变量占位,变量要用括号括起来,并按照占位的顺序填入,变量之间用逗号分隔。
如下图:数字也能用%s占位,这里是将数字转换成字符串,也就是数字57,变成字符串"57"被放入占位的地方。

| 数据类型占位符 | 转化 |
|---|---|
| %s | 将内容转换成字符串,放入占位位置 |
| %d | 将内容转换成整数,放入占位位置 |
| %f | 将内容转换成浮点型,放入占位位置 |
如果让数字以原本的面貌拼接进去。将代码更改成如下形式:
subject = "Python大数据"
class_num = 57
avg_salary = 16781.0
message = "%s学科,北京%d期,毕业平均工资%f元" % (subject, class_num, avg_salary)
print(message) # Python大数据学科,北京57期,毕业平均工资16781.000000元
2.8.4.2 格式化
语法:f"字符串1{变量3}字符串2{变量1}....字符串m{变量n}"
说明:f表示formet格式化,利用{ }进行占位,{ }里面填写变量。
功能:快速格式化字符串。
说明:格式化字符串不需要精度控制,不限制数据类型,原样输出。适合对精度没有要求的输出。
subject = "Python大数据"
class_num = 57
avg_salary = 16781.0
message = f"{subject}学科,北京{class_num}期,毕业平均工资{avg_salary}元"
print(message) # Python大数据学科,北京57期,毕业平均工资16781.0元
2.8.5 格式化的精度控制
问题:上个案例中,非格式化方法去输出字符串,浮点数输出的时候出现很多位小数。
原因:没有控制精度。
语法:%m.nf来控制数据的宽度和精度,精度可能会被四舍五入。
说明:m表示数据的宽度,设置的宽度小于数字自身,不生效。.n表示控制小数点精度,会进行小数的四舍五入。
示例:①%5d:表示将整数的宽度控制在5位,如数字11,被设置为5d,就会变成:[空格][空格][空格]11,用三个空格补足宽度;
②%5.2f:表示将宽度控制为5,将小数点精度设置为2,小数点和小数部分也算入宽度计算。如数字11.345,被设置%7.2f,结果是:[空格][空格]11.35。2个空格补足宽度,小数部分限制2位精度后,四舍五入为 .35;
③%.2f:表示不限制宽度,只设置小数点精度为2,如数字11.345,被设置为%.2f,结果是11.35。

2.8.6 表达式格式化
表达式:一条具有明确执行结果的代码语句。
例如:1 + 1、5 * 2,就是表达式,因为有具体的结果,结果是一个数字;又或者常见的变量定义,name = “张三”,age = 11 + 11,等号右侧的都是表达式,因为它们有具体的结果,结果赋值给等号左侧的变量。
作用:在无需使用变量进行数据存储的时候,可直接格式化表达式,简化代码。

2.9 数据的输入和输出
语法:print(字面量1/变量名1,字面量2/变量名2......,sep=,end=)
说明:如果sep=不写任何字符,默认多个参数之间的分隔符为一个空格,输出到屏幕的时候多个字面量/变量名之间用1个空格分隔。如果end=不写任何字符,默认是换行符,输出到屏幕的时候会自动换行。
作用:打印字面量/直接打印变量值,把内容输出到标准输出设备(屏幕)。
语法:input("提示性字符串语句")
作用:在标准输入设备中(键盘)输入内容,读取输入的字符串。
注意:无论键盘输入什么数据类型,获取到的数据都是字符串,要想input()得到结果是数字类型,需要数据类型转换。
print("请输入PI的值:")
pi = input() # 程序在这句代码中断运行,等待键盘输入字符串并读取,接着执行下一句
print(type(pi)) # str
print(pi)
print("请输入PI的值:")
pi = float(input()) # 数据类型转换
print(type(pi)) # float
print(pi)
pi = float(input("请输入PI的值:")) # 等价于print("请输入PI的值:") 加上 pi = float(input())
print(type(pi)) # float
print(pi)

码字不易,如果大家觉得有用,请高抬贵手给一个赞让文章上推荐让更多的人看到吧,也可以评论提出意见让后面的文章内容越来越生动丰富。
本文详细介绍Python的基础语法,包括字面量、注释、变量、数据类型及转换等内容,并提供了丰富的示例帮助理解。

1603

被折叠的 条评论
为什么被折叠?



