Python 基础语法
本章将介绍 Python 的基础语法,包括变量、数据类型和运算符。
变量
变量是存储数据的容器。在 Python 中,创建变量非常简单。
创建变量
# 创建一个名为 age 的变量,值为 18
age = 18
# 创建一个名为 name 的变量,值为 "张三"
name = "张三"
# 创建一个名为 price 的变量,值为 19.99
price = 19.99
变量命名规则
- 变量名只能包含字母、数字和下划线
- 变量名不能以数字开头
- 变量名区分大小写
- 不能使用 Python 关键字作为变量名
# 合法的变量名
user_name = "张三"
age1 = 20
_private = "私有变量"
# 非法的变量名(会报错)
# 1name = "错误" # 不能以数字开头
# class = "类" # 不能使用关键字
变量类型
Python 中变量不需要声明类型,解释器会自动推断类型。
# 整数
count = 10
# 浮点数
price = 19.99
# 字符串
name = "张三"
# 布尔值
is_student = True
动态类型
Python 是动态类型语言,同一个变量可以赋值不同类型的值:
x = 10 # 现在是整数
x = "hello" # 现在是字符串
x = 3.14 # 现在是浮点数
数据类型
Python 中主要的数据类型包括:
1. 数值类型
整数(int)
整数是没有小数部分的数。
# 十进制
a = 100
b = -50
# 二进制(以 0b 开头)
c = 0b1010 # 等于 10
# 八进制(以 0o 开头)
d = 0o12 # 等于 10
# 十六进制(以 0x 开头)
e = 0xA # 等于 10
浮点数(float)
浮点数是带有小数部分的数。
pi = 3.14159
price = 19.99
negative = -5.5
复数(complex)
复数由实部和虚部组成。
c = 3 + 4j
print(c.real) # 输出:3.0
print(c.imag) # 输出:4.0
2. 字符串(str)
字符串用于存储文本数据。
# 使用单引号
name = '张三'
# 使用双引号
message = "你好"
# 使用三引号(多行字符串)
text = '''这是
一个多行
字符串'''
3. 布尔值(bool)
布尔值只有两个取值:True 和 False。
is_active = True
is_deleted = False
4. 空值
None 表示空值,类似于其他语言中的 null。
result = None
查看变量类型
使用 type() 函数查看变量类型:
a = 10
b = 3.14
c = "hello"
d = True
print(type(a)) # <class 'int'>
print(type(b)) # <class 'float'>
print(type(c)) # <class 'str'>
print(type(d)) # <class 'bool'>
类型转换
Python 提供了类型转换函数:
# 转整数
int("123") # 123
int(3.14) # 3
# 转浮点数
float("3.14") # 3.14
float(10) # 10.0
# 转字符串
str(123) # "123"
str(3.14) # "3.14"
# 转布尔值
bool(1) # True
bool(0) # False
bool("") # False
bool("hello") # True
运算符
1. 算术运算符
a = 10
b = 3
print(a + b) # 13 - 加法
print(a - b) # 7 - 减法
print(a * b) # 30 - 乘法
print(a / b) # 3.333... - 除法
print(a // b) # 3 - 整除
print(a % b) # 1 - 取余
print(a ** b) # 1000 - 幂运算
2. 赋值运算符
x = 10
x += 5 # x = 15
x -= 3 # x = 12
x *= 2 # x = 24
x /= 2 # x = 6.0
x //= 2 # x = 3
x %= 2 # x = 1
x **= 2 # x = 1
3. 比较运算符
比较运算符返回布尔值(True 或 False)。
print(5 == 5) # True - 等于
print(5 != 3) # True - 不等于
print(5 > 3) # True - 大于
print(5 < 3) # False - 小于
print(5 >= 5) # True - 大于等于
print(5 <= 3) # False - 小于等于
4. 逻辑运算符
# and:两边都为 True 结果才为 True
print(True and True) # True
print(True and False) # False
print(False and False) # False
# or:任意一边为 True 结果就为 True
print(True or False) # True
print(False or False) # False
# not:取反
print(not True) # False
print(not False) # True
5. 身份运算符
| 运算符 | 描述 |
|---|---|
| is | 判断两个对象是否是同一个对象 |
| is not | 判断两个对象是否不是同一个对象 |
a = [1, 2, 3]
b = a
c = [1, 2, 3]
print(a is b) # True(a 和 b 指向同一个对象)
print(a is c) # False(a 和 c 是不同的对象)
print(a is not c) # True
6. 成员运算符
| 运算符 | 描述 |
|---|---|
| in | 检查值是否在序列中 |
| not in | 检查值是否不在序列中 |
fruits = ["苹果", "香蕉", "橙子"]
print("苹果" in fruits) # True
print("葡萄" in fruits) # False
print("葡萄" not in fruits) # True
运算符优先级
如果不确定优先级,可以使用括号来明确:
# 不使用括号
result = 2 + 3 * 4 # 14
# 使用括号
result = (2 + 3) * 4 # 20
字符串格式化
1. f-string(推荐)
name = "张三"
age = 20
print(f"我的名字是{name},今年{age}岁")
2. format() 方法
name = "张三"
age = 20
print("我的名字是{},今年{}岁".format(name, age))
3. 占位符
name = "张三"
age = 20
print("我的名字是%s,今年%d岁" % (name, age))
小结
本章我们学习了:
- 变量的创建和使用
- 各种数据类型(整数、浮点数、字符串、布尔值)
- 类型转换
- 各种运算符(算术、赋值、比较、逻辑、身份、成员)
- 字符串格式化
练习
- 创建一个变量存储你的名字和年龄,然后输出
- 计算 1 到 100 的总和
- 判断一个数是奇数还是偶数
- 交换两个变量的值