注释
python中注释为 #
python
print("hello") #这是注释
字面量
Python 常见的基础数据类型
| 标准名称 | 描述 | 说明 |
|---|---|---|
| int | 整数 | 数字类型,存放整数,如:10、-5 |
| float | 浮点数 | 数字类型,存放小数,如:8.5、3.14、1.0、-3.5 |
| str | 字符串 | 用引号引起来的都是字符串,如:"Python" |
| bool | 布尔 | 布尔类型,描述真和假,如:True、False |
| NoneType | 空值 | 表示空或无值,仅包含一个值 None |
布尔类型本质是数字类型, 在涉及到数学运算的时候, 会自动将 True 转为 1 , 将 Flase 转为 0
字符串 str "hello world"
空值 (NoneType) None
数据容器 数组, 元组, 集合, 字典
python
print(True) # True
print(3.14) # 3.14
print(True + 1) # 2
print(False) # False
print(None) # None
变量
定义格式
python
变量名 = 变量的值
python是动态类型的语言, 在程序运行的时候才进行类型检查, 变量的类型可以在程序运行的过程中改变 (一个变量可以接受不同类型的变量)
python
num = 342.3
print(num)
但是在项目开发中, 一般推荐变量只存储一种类型的值
可以一次性定义多个变量
python
a, b = 45, "hello"
print(a) # 45
print(b) # hello
标识符
- 标识符 是程序员在代码中为变量、函数、类等元素所起的名字。
- 命名规则(规定):
- 只能包含字母(a-z,A-Z)、数字(0-9)、下划线(_)
- 不能以数字开头
- 不能使用关键字:True、False、None、and、or、if、else、elif、for、while 等
- 严格区分大小写,比如:age,Age,AGE 是三个变量
查看数据类型
通过type () 语句来得到数据的类型
py
type (要查看类型的数据)
python
a = True
b = 4
print(type(a)) # 输出: <class 'bool'>
print(type(b)) # 输出: <class 'int'>
变量本身是没有类型的, type (变量) 输出的类型是变量中存储的数据的类型
python
print(type(None)) # <class 'NoneType'>
通过isinstance() 检查数据是否属于指定的类型, 返回的是一个bool 值, 具体语法为: isinstance(数据, 类型)
python
a = 5
print(a) # 5
b = isinstance(a, int)
print(b) # True
字符串
定义字符串
python
s1 = "hello" # 双引号定义
s2 = 'world' # 单引号定义
s3 = """ # 三引号定义
hello
dear girl
"""
print(s1, s2, s3)
输出:
python
hello world
hello
dear girl
三引号定义的字符串可以换行
单引号字符串和双引号字符串的区别
字符串内部包含单引号:用双引号包裹字符串
python# 推荐写法(无需转义) str5 = 'He said: "Python is easy"' # 等价写法(需要转义双引号) str5 = "He said: \"Python is easy\"" print(str5 == str6) # 输出 True
字符串内部包含双引号:用单引号包裹字符串
python# 推荐写法(无需转义) str5 = 'He said: "Python is easy"' # 等价写法(需要转义双引号) str5 = "He said: \"Python is easy\"" print(str5 == str6) # 输出 True
字符串拼接
要将多个字符串拼接, 可以直接使用 ( + ) 进行拼接
python
a = "hello" "world"
print(a) # helloworld
b = "hello" + "xinyan"
print(b) # helloxinyan
c = "hello"
d = "world"
print(c + d) # helloworld
注意: + 号可以用来拼接两个字符串, 但是无法将非字符串与字符串进行拼接(非字符串类型需要转换为字符串类型)
str() 可以将非字符串转换为字符串类型
python
name = "John"
age = 18
print("I am " + name, "today age is " + str(age))
# 输出: I am John today age is 18
# 不转换也可以一起输出:
name = "John"
age = 18
print("I am ", name, "today age is " , age)
# 输出: I am John today age is 18
字符串格式化
通过 % (占位符) 的形式完成字符串和变量的快速拼接, 其中 ( % ) 表示要占位, s 表示将变量转为字符串放入占位的位置
如果有多个变量, 则需要用 ( ) 将变量括起来
python
name = "John"
age = 18
print("I am %s, today age is %s" %(name, age))
注意: 在变量前面的 % 前面不可以写逗号 ( , )
也可以通过 f"内容{变量/表达式}" 的形式来完成快速格式化
python
name = "John"
age = 18
print(f"I am {name}, today age is {age}")
# I am John, today age is 18
输入和输出 (input, print)
input : 获取键盘输入的数据, s = input(提示信息)
print: 将数据输出到控制台, print(数据)
python
name = input("请输入姓名: ");
print(f"欢迎你", name)
print(type(name)) # <class 'str'>
print默认是以 "\n"结束的, 如果不想再输出结束时换行, 可以指定以空字符结尾
print("*", end = "")
这样就不会自动换行了
无论键盘输入的是什么类型的数据, 获取到的数据永远都是 字符串类型
**将其它类型转换为int类型: int() **
python
total = 1000
password = input("请输入密码: ")
print("密码正确", password)
print(type(password))
num = input("请输入取款金额: ")
print(f"取款后银行余额为: {total - int(num)}")
- 其他类型转为 int 类型:int (...)
- 其他类型转为 str 类型:str (...)
- 其他类型转为 float 类型:float (...)
- 其他类型转为 bool 类型:bool (...)
字符串的格式化
我们可以使用辅助符号 "m.n" 来控制数据的宽度和精度:
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。
以上格式符属于 旧式字符串格式化(% 格式化),适用于 print("%5d" % value) 等语法;现代 Python 更推荐使用 f-string 或 .format() 方法
python
pi = 3.1415926
num = 42
# 小数精度(四舍五入)
print(f"{pi:.2f}") # → 3.14
# 宽度 + 对齐(默认右对齐数字,左对齐字符串)
print(f"{num:>6d}") # → ' 42' (右对齐,宽度6)
print(f"{num:<6d}") # → '42 ' (左对齐)
print(f"{num:^6d}") # → ' 42 ' (居中对齐)
# 填充字符(默认空格,可自定义)
print(f"{num:*^8d}") # → '***42***'
# 千分位分隔符
print(f"{1234567:,}") # → 1,234,567
print(f"{1234567.89:,.2f}") # → 1,234,567.89
运算符
算数运算符
| 运算符 | 描述 | 举例说明 |
|---|---|---|
| + | 加法 | 1 + 5:1 加上 5 |
| - | 减法 | 8 - 3:8 减 3 |
| * | 乘法 | 3 * 8:3 乘以 8 |
| / | 除法 | 10 / 5:10 除以 5,除法结果是小数 |
| // | 整除 | 10 // 3:10 整除 3,整除结果为整数 |
| % | 取余 / 求模 | 10 % 3:10 模于 3,结果为 1(10 除 3 取余数) |
| ** | 幂指数 | 10 ** 3:10 的 3 次方 |
由于计算机底层是基于二进制进行数据的存储与处理, 二进制是无法准确的表示所有的小数, 因此涉及到浮点数的运算, 可能会损失精度
赋值运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| = | 赋值运算符 | 把 = 号右边的结果赋值给左边的变量,如 num = 1+2,结果 num 的值为 3 |
| += | 加法赋值运算符 | num += 2 等效于 num = num + 2 |
| -= | 减法赋值运算符 | num -= 2 等效于 num = num - 2 |
| *= | 乘法赋值运算符 | num *= 2 等效于 num = num * 2 |
| /= | 除法赋值运算符 | num /= 2 等效于 num = num / 2 |
| %= | 取模赋值运算符 | num %= 2 等效于 num = num % 2 |
| //= | 取整除赋值运算符 | num //= 2 等效于 num = num // 2 |
| **= | 幂赋值运算符 | num **= 2 等效于 num = num ** 2 |
逻辑运算符
逻辑运算符用于连接多个条件(布尔)表达式,返回最终布尔结果。
| 运算符 | 描述 | 实例说明 |
|---|---|---|
| and | 逻辑与 (并且) | 同时成立才符合条件(左右两边都为 True,结果才为 True) |
| or | 逻辑或 (或者) | 只要有一个符合要求即可(只要左右两边有一个为 True,结果就为 True) |
| not | 逻辑非 (取反) | 取反操作,True 变为 False,False 变为 True |