字面量
字面量指代码中被写下来的固定的值。
Python 中常用的 6 种值(数据)类型如下(此处重点了解前三种):
Python 常用的数据类型表
| 类型(Type) | 描述 | 说明 |
|---|---|---|
| 数字(Number) | 支持: • 整数(int) • 浮点数(float) • 复数(complex) • 布尔(bool) | 整数(int),如:10、-10 浮点数(float),如:13.14、-13.14 复数(complex),如:4+3j,用以存储表示复杂的数 布尔(bool)表达逻辑学中的逻辑值,True 表示真,False 表示假。布尔值本质是整数,True=1,False=0 |
| 字符串(String) | 描述文本的一种数据类型 | 由任意数量字符组成 |
| 列表(List) | 有序可变序列 | Python 使用最频繁的数据类型,可存储一堆数据 |
| 元组(Tuple) | 有序不可变序列 | 可存储一堆数据 |
| 集合(Set) | 无序不重复集合 | 可用于记录一堆不重复的数据 |
| 字典(Dictionary) | 键值对构成的映射 | 可存储 Key-Value 的映射数据 |
目前仅需理解以下三种:整数、浮点数、字符串。
整数(int)
类似数学上的整数,例如:
- 10
- -10
示例:
print(10) # 输出 10
浮点数(float)
类似数学上的小数,例如:
- 13.14
- 5.21
示例:
print(13.14) # 输出 13.14
字符串(String)
定义:字符串是由任意数量的字符组成的文本内容,可包含中文、字母、符号、数字等。
示例:
"观止blog"
"!@#$%^&"
字符串需要使用以下任意方式包围:
- 双引号
" " - 单引号
' ' - 三引号
""" """
示例:
print("观止blog") # 输出 观止blog
print('观止blog') # 输出 观止blog
print("""观止blog""") # 输出 观止blog
注释
注释是在程序代码中,用于对代码进行解释说明的文字。
注释不是程序,不能被执行,它的作用是让阅读代码的人能更好地理解代码的意图。
单行注释
使用 # 开头,# 右侧的所有文本都视为注释。
一般建议 # 与注释内容之间保留一个空格。
示例:
# 我是单行注释
多行注释
使用一对三个双引号 """ """ 包裹一段文字,可用于描述一段代码的作用。
示例:
"""
我是
多行注释
"""
说明:
三引号除了作为多行注释使用,也可以用于字符串定义。
变量的定义格式
变量的基本定义方式如下:
变量名 = 变量值
解释:
- 变量名:每个变量自己的名称
- =:表示将等号右侧的值赋给左侧变量
- 变量值:变量储存的内容
示例:
name = "观止"
变量的赋值(可重复覆盖)
变量可以被多次赋值,每次赋值都会覆盖原来的值。
示例:
name = "观止"
print(name) # 输出 观止
name = "study"
print(name) # 输出 study
数据类型查看
在 Python 中,变量本身无类型,但数据是有类型的。
可以使用 type() 来查看某个数据或变量存储的数据类型。
使用 type() 查看类型
直接查看字面量的数据类型
print(type(13.14))
# 输出 <class 'float'>
将 type() 的返回值存入变量
int_type = type(521)
print(int_type)
# 输出 <class 'int'>
查看变量中存储的数据类型
name = "观止"
print(type(name))
# 输出 <class 'str'> (str 为 string 的缩写)
数据类型转换
在特定场景下,数据类型之间可以相互转换。
转为整数:int(x)
将 x 转换为整数。
示例(字符串 → 整数):
num = "666"
print(int(num)) # 输出 666
print("初始值类型:", type(num), ",转换后类型:", type(int(num)))
输出:
初始值类型: <class 'str'> ,转换后类型: <class 'int'>
示例(浮点数 → 整数,会丢失小数部分):
print(int(13.14)) # 输出 13
转为浮点数:float(x)
示例(字符串 → 浮点数):
num = "5.21"
print(float(num))
print("初始值类型:", type(num), ",转换后类型:", type(float(num)))
示例(整数 → 浮点数,自动补 .0):
print(float(5)) # 输出 5.0
转为字符串:str(x)
示例(浮点数 → 字符串):
num = 13.14
print(str(num))
print("初始值类型:", type(num), ",转换后类型:", type(str(num)))
小结
- 与
type()一样,int()、float()、str()都有返回值,可直接打印或存入变量。 - 任何类型都能通过
str()转换为字符串。 - 字符串内必须是真正的数字,才能转换为整数或浮点数,否则报错。
数据类型转换
在特定场景下,数据类型之间可以相互转换。
转为整数:int(x)
将 x 转换为整数。
示例(字符串 → 整数):
num = "666"
print(int(num)) # 输出 666
print("初始值类型:", type(num), ",转换后类型:", type(int(num)))
输出:
初始值类型: <class 'str'> ,转换后类型: <class 'int'>
示例(浮点数 → 整数,会丢失小数部分):
print(int(13.14)) # 输出 13
转为浮点数:float(x)
示例(字符串 → 浮点数):
num = "5.21"
print(float(num))
print("初始值类型:", type(num), ",转换后类型:", type(float(num)))
示例(整数 → 浮点数,自动补 .0):
print(float(5)) # 输出 5.0
转为字符串:str(x)
示例(浮点数 → 字符串):
num = 13.14
print(str(num))
print("初始值类型:", type(num), ",转换后类型:", type(str(num)))
小结
- 与
type()一样,int()、float()、str()都有返回值,可直接打印或存入变量。 - 任何类型都能通过
str()转换为字符串。 - 字符串内必须是真正的数字,才能转换为整数或浮点数,否则报错。
运算符
Python 中的运算符主要分为:
- 算数运算符
- 赋值运算符
- 复合赋值运算符
以下为完整内容整理:
算数(数学)运算符
| 运算符 | 描述 | 示例 |
|---|---|---|
| + | 加法:两个对象相加 | a + b 输出 30 |
| – | 减法:得到负数或相减结果 | a - b 输出 -10 |
| * | 乘法:数值相乘或字符串重复 | a * b 输出 200 |
| / | 除法 | b / a 输出 2 |
| // | 取整除(向下取整) | 9 // 2 结果 4;9.0 // 2.0 输出 4.0 |
| % | 取余 | b % a 输出 0 |
| ** | 指数(幂运算) | a ** b 输出一个非常大的数 |
示例代码:
print("加:", 1 + 1)
print("减:", 10 - 1)
print("乘:", 2 * 5)
print("除:", 5 / 4)
print("整数除:", 5 // 4)
print("取余:", 5 % 4)
print("指数:", 2 ** 3)
赋值运算符
| 运算符 | 描述 |
|---|---|
| = | 把等号右边的结果赋给左侧变量,如:num = 1 + 2 * 3 得 num = 7 |
示例:
name = "观止"
复合赋值运算符
| 运算符 | 描述 |
|---|---|
| += | 加法赋值,例如 c += a 等同 c = c + a |
| -= | 减法赋值 |
| *= | 乘法赋值 |
| /= | 除法赋值 |
| %= | 取模赋值 |
| **= | 幂赋值 |
| //= | 取整除赋值 |
示例:
num = 2
num += 1 # 等效于 num = num + 1
print(num) # 输出 3
字符串扩展知识
字符串的三种定义方式
Python 中可通过以下三种方式定义字符串:
name = '观止blog' # 单引号定义法
name = "观止blog" # 双引号定义法
name = """观止blog""" # 三引号定义法
三引号既可以定义字符串,也可以作为多行注释使用。
字符串引号嵌套
若字符串内部需要包含单引号或双引号,可以使用不同的包裹方式,或通过转义符 \ 移除特殊意义。
示例:
name = '观"study"止'
print(name) # 输出 观"study"止
name = "观'study'止"
print(name) # 输出 观'study'止
name = '观\'study\'止'
print(name) # 输出 观'study'止
字符串的拼接
通过 + 可以将多个字符串拼接为一个整体。
示例:
print("观止" + "study") # 输出 观止study
name = "study"
print("观止" + name) # 输出 观止study
字符串格式化 v1(占位符 %)
占位符 % 可以将变量快速插入字符串中,支持三种类型:
| 格式符号 | 转换内容 |
|---|---|
| %s | 转换为字符串 |
| %d | 转换为整数 |
| %f | 转换为浮点数 |
示例:
name = "study"
message = "观止 %s" % name
print(message)
多个变量需要用括号进行组合:
hobby = "study"
name = "观止"
message = "爱好 %s ,姓名 %s" % (hobby, name)
print(message)
混合类型占位:
name = "study"
age = 19
money = 1.00
message = "姓名:%s,年龄:%d,家当:%f" % (name, age, money)
print(message)
格式化精度控制
格式:%m.nf
- m:宽度(不常用,如果不够宽则忽略)
- n:小数点精度(四舍五入)
示例:
age = 18
money = 1.00
message = "观止%5d,身价:%.2f" % (age, money)
print(message)
# 输出观止 18,身价:1.00
字符串格式化 v2(f-string,更优雅)
语法:
f"内容{变量}"
示例:
age = 18
money = 1.00
message = f"观止:{age},身价:{money}"
print(message)
格式化表达式:
print(f"观止:{2022 - 2003}")
数据输入
在 Python 中:
- 输出使用
print() - 输入使用
input()
input() 能从键盘获取数据输入,并且——
⚠ 所有输入的数据默认都会被当成字符串(string)处理。
若需要其他类型,需结合类型转换函数 int()、float() 等使用。
input() 的基本用法
接收用户输入
name = input() # 输入:观止
print(name) # 输出:观止
带提示信息的 input()
可以在 input() 中写入提示文字,运行时会先显示提示内容。
name = input("tell me your name?")
# 控制台打印:tell me your name?
# 用户输入:观止
print(name) # 输出:观止
input() 的类型特性
所有 input 的数据都会变成字符串:
name = input() # 输入 5
print(type(name)) # 输出 <class 'str'>
print(type(int(name))) # 输出 <class 'int'>
全文概览
此部分对前面内容进行整体回顾,其中包含格式化表达式、类型转换、输入输出等综合示例。
格式化精度控制示例
age = 18 # %5d 表示宽度控制为 5 位,不足用空格补齐
money = 1.00 # %.2f 表示小数点精度为 2 位(四舍五入)
message = "观止%5d,身价:%.2f" % (age, money)
print(message)
# 输出:观止 18,身价:1.00
f-string 格式化示例
age = 18
money = 1.00
message = f"观止:{age},身价:{money}"
print(message)
# 输出:观止:18,身价:1.0
格式化表达式示例
print(f"观止:{2022 - 2003}") # 输出:观止:18
print("观止:%d" % (2022 - 2003)) # 输出:观止:18
数据输入示例
name = input() # 输入:观止
print(name) # 输出:观止
带提示内容的 input:
name = input("tell me your name?")
# 控制台打印:tell me your name?
# 输入:观止
print(name) # 输出:观止
input 输入默认是字符串,可使用类型转换函数:
name = input() # 输入 5
print(type(name)) # 输出 <class 'str'>
print(type(int(name))) # 输出 <class 'int'>