1_3_基础语法与数据类型#

作者: ZhouLong
创建日期: 2026 年 01 月 11 日
版本: 1.0

浏览量:

恭喜你,上一篇你已经输出了你的第一行代码。 现在让我们正式开始Python之旅!

基础知识#

在用Python写代码的之前,对Python的基础知识是必须要会的,不然你可能会寸步难行。基础知识包括输入标识符。

标识符#

  • 第一个字符必须以字母(a-z, A-Z)或下划线 _ 。

  • 标识符的其他的部分由字母、数字和下划线组成。

  • 标识符对大小写敏感,count 和 Count 是不同的标识符。

  • 标识符对长度无硬性限制,但建议保持简洁(一般不超过 20 个字符)。

  • 禁止使用保留关键字,如 if、for、class 等不能作为标识符。

合法标识符例子:

age = 25                # 普通变量名,最常见
user_name = "Alice"     # 用下划线连接单词,清晰易读
_total = 100            # 下划线开头通常表示“内部使用”或“私有”
MAX_SIZE = 1024         # 全大写通常表示“常量”(固定不变的值)
calculate_area()        # 函数名,动词+名词
StudentInfo             # 类名,首字母大写(驼峰命名法)
__private_var           # 双下划线开头,有特殊含义

非法标识符例子:

2nd_place = "silver"    # 错误:以数字开头
user-name = "Bob"       # 错误:包含连字符
class = "Math"          # 错误:使用关键字
$price = 9.99          # 错误:包含特殊字符
for = "loop"           # 错误:使用关键字

Python 3 允许使用 Unicode 字符作为标识符,可以用中文作为变量名,非 ASCII 标识符也是允许的了。 但是不推荐在代码中的非注释部分包含中文

姓名 = "张三"  # 合法
π = 3.14159   # 合法

Python 保留关键字#

此外,保留字即关键字,我们不能把它们用作任何标识符名称。

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

注释#

Python中单行注释以 # 开头,实例如下:

# 第一个注释
print ("Hello, Python!") # 第二个注释

执行以上代码,输出结果为: Hello, Python!

多行注释可以用多个 # 号,还有 ''' 和 """:

# 第一个注释
# 第二个注释
 
'''
第三注释
第四注释
'''
 
"""
第五注释
第六注释
"""
print ("Hello, Python!")

行与缩进#

python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。 缩进的空格数一般是4个,或按下键盘的Tab键可以直接缩进(Shift+Tab可以反缩进)。实例如下:

if True:
    print ("True")
else:
    print ("False")

以下代码最后一行语句缩进数的空格数不一致,会导致运行错误:

if True:
    print ("Answer")
    print ("True")
else:
    print ("Answer")
  print ("False")    # 缩进不一致,会导致运行错误

多行语句#

Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ 来实现多行语句,例如:

item_one = 1
item_two = 2
item_three = 3
total = item_one + \
        item_two + \
        item_three
print(total) # 输出为 6

但在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \,例如:

total = ['item_one', 'item_two', 'item_three',
        'item_four', 'item_five']

空行#

空行分隔,表示一段新的代码的开始。空行与代码缩进不同,空行并不是 Python 语法的一部分。书写时不插入空行,Python 解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

Python 包导入#

包导入就是让 Python 程序能够使用别人已经写好的代码。一般在脚本的开始导入。

# 1. 导入整个包(最常用)
import math  # 导入数学模块
# 使用时要加上包名
result = math.sqrt(16)  # 计算平方根
print(f"√16 = {result}")

# 2. 导入特定功能
from math import sqrt, pi  # 只导入需要的功能
# 使用时不用写包名
result = sqrt(25)
print(f"√25 = {result}")
print(f"π ≈ {pi}")

基本数据类型#

Python 中的变量不需要声明数据类型。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。Python3 中常见的数据类型有:

  • Number(数字)

  • bool(布尔类型)

  • String(字符串)

  • List(列表)

  • Tuple(元组)

  • Set(集合)

  • Dictionary(字典)

按照是否可变,Python3 的六个标准数据类型中可分为:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);

  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

数字(Number)类型#

python中数字有四种类型:整数、布尔型、浮点数和复数。

  • int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。

  • bool (布尔), 如 True。

  • float (浮点数), 如 1.23、3E-2

  • complex (复数) - 复数由实部和虚部组成,形式为 a + bj,其中 a 是实部,b 是虚部,j 表示虚数单位。如 1 + 2j、 1.1 + 2.2j

# 整数 - 任意大小的整数
a = 10
b = -5
c = 100_0000  # Python 3.6+ 支持使用下划线提高可读性
d = 0b1010    # 二进制: 10
e = 0o12      # 八进制: 10
f = 0xA       # 十六进制: 10

# 布尔型 - True 或 False(实际上是 int 的子类)
bool_true = True
bool_false = False
bool_true = 1    # True
bool_true = 2    # True,不建议使用
bool_false = 0    # False
bool_true = "hello"  # True (非空字符串),不建议使用

# 浮点数 - 带小数点的数
float1 = 3.14
float2 = -2.5
float3 = 1.23e5    # 科学计数法: 1.23 × 10^5,常用
float4 = 3E-2      # 科学计数法: 3 × 10^-2,不常用
float5 = float('inf')  # 无穷大
float6 = float('nan')  # 非数字

# 复数 - 实部 + 虚部*j
complex1 = 1 + 2j
complex2 = 3 - 4j
complex3 = complex(5, 6)  # 另一种创建方式
complex4 = 7j             # 纯虚数

字符串(String)#

字符串就是用引号(单引号、双引号或三引号)括起来的文本数据。

# 方法1: 单引号
str1 = 'Hello, Python!'

# 方法2: 双引号
str2 = "你好,Python!"

# 方法3: 三引号(多行字符串),一般用于作为注释
str3 = '''这是一个
多行
字符串'''

# 方法4: 三双引号,一般用于作为注释
str4 = """这也可以
创建
多行字符串"""

列表(List)#

列表用方括号 [] 创建,元素可以修改
特点:

  1. 有序排列(有固定顺序)

  2. 元素可以重复

  3. 可以增删改元素

  4. 用索引访问(从0开始)

# 创建列表
friends = ["小明", "小红", "小刚", "小红"]  # 可以重复
scores = [95, 88, 92, [1,2,"1"]]  #可以存放任何类型的数据,包括嵌套的列表

# 可以修改
friends[1] = "小李"      # 修改元素 "小红" 成 "小李"
friends.append("小王")   # 添加元素
friends.remove("小刚")   # 删除元素

元组(Tuple)#

元组:用圆括号 () 创建,元素不能修改
特点:

  1. 有序排列(有固定顺序)

  2. 元素可以重复

  3. 不能增删改元素(只读)

  4. 比列表更安全、更快

# 创建元组
student_info = ("张三", 18, "男")  # 可以存放任何类型的数据
colors = ("红", "绿", "蓝", "红")  # 可以重复

# 不能修改(会报错)
# student_info[1] = 19  ❌ 错误!
# student_info.append("北京") ❌ 错误!

集合(Set)#

集合用花括号 {} 或 set() 创建
特点:

  1. 无序排列(没有固定顺序)

  2. 元素不能重复(自动去重)

  3. 可以进行数学集合运算

  4. 查找元素非常快

# 创建集合
lottery_numbers = {3, 7, 12, 7, 3, 20}  # 花括号创建,重复的会被自动去除
unique_names = set("Alice", "Bob", "Alice", "Charlie") # set() 创建,重复的会被自动去除
mix_set = {3, lottery_numbers, 12, 7, unique_names, 20} # 可以存放任何类型的数据

字典#

字典用花括号 {} 创建,包含 键:值 对(和集合相似,关键点在键值对)。
特点:

  1. 无序排列(Python 3.7+ 保持插入顺序)

  2. 键不能重复,值可以重复

  3. 通过键快速查找值

  4. 键必须是不可变类型(字符串、数字、元组)

# 创建字典
phonebook = {
    "小明": "13800138000",
    "小红": "13900139000", 
    "老师": "13700137000"
}
student = {
    "姓名": "李四",
    "年龄": 20,
    "成绩": [85, 92, 78]
}

# 修改和添加
phonebook["小明"] = "13800998877"  # 修改
phonebook["小李"] = "13600668899"  # 添加新联系人