跳到主要内容

Python 基础语法

本章将介绍 Python 的基础语法,包括变量、数据类型和运算符。

变量

变量是存储数据的容器。在 Python 中,创建变量非常简单。

创建变量

# 创建一个名为 age 的变量,值为 18
age = 18

# 创建一个名为 name 的变量,值为 "张三"
name = "张三"

# 创建一个名为 price 的变量,值为 19.99
price = 19.99

变量命名规则

  1. 变量名只能包含字母、数字和下划线
  2. 变量名不能以数字开头
  3. 变量名区分大小写
  4. 不能使用 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)

布尔值只有两个取值:TrueFalse

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. 变量的创建和使用
  2. 各种数据类型(整数、浮点数、字符串、布尔值)
  3. 类型转换
  4. 各种运算符(算术、赋值、比较、逻辑、身份、成员)
  5. 字符串格式化

练习

  1. 创建一个变量存储你的名字和年龄,然后输出
  2. 计算 1 到 100 的总和
  3. 判断一个数是奇数还是偶数
  4. 交换两个变量的值