跳转至

基础语法与变量

在 Python 中,变量不需要声明类型,直接赋值即可创建。本章将介绍 Python 的核心数据类型、变量操作以及输入输出机制。

变量 (Variables)

变量是用于存储数据值的容器。

变量赋值

x = 5           # 整数
name = "Alice"  # 字符串
pi = 3.14       # 浮点数
is_valid = True # 布尔值

多变量赋值

# 同时赋值
a, b, c = 1, 2, 3

# 链式赋值
x = y = z = 0

# 变量交换 (Python 特有)
a, b = b, a

变量命名规则

  1. 只能包含字母、数字和下划线 (_)。
  2. 不能以数字开头。
  3. 区分大小写 (ageAge 是不同的变量)。
  4. 不能使用 Python 关键字(如 if, class, import 等)。

命名惯例

Python 推荐使用 蛇形命名法 (snake_case),即用小写字母和下划线连接单词,例如 user_name, total_count

基本数据类型

Python 内置了多种数据类型,最常用的包括:

类型 名称 示例 说明
int 整数 10, -5, 0 无大小限制,支持大整数
float 浮点数 3.14, 1.2e-3 双精度浮点数
str 字符串 "Hello", 'Python' 文本数据,不可变
bool 布尔值 True, False 逻辑值
NoneType 空值 None 表示"无"或"空"

1. 数值类型 (Numbers)

# 整数
count = 100
large_num = 1_000_000_000  # 使用下划线增加可读性

# 浮点数
score = 98.5
sci_notation = 1.23e4      # 科学计数法 (1.23 * 10^4)

# 复数 (较少用)
z = 3 + 4j

2. 字符串 (Strings)

字符串可以使用单引号或双引号。

s1 = 'Hello'
s2 = "World"
s3 = '''这是一个
多行字符串'''

# 字符串拼接
full_msg = s1 + " " + s2  # "Hello World"

# 字符串重复
stars = "*" * 10          # "**********"

常用字符串方法

方法 描述
.upper() / .lower() 转换大小写
.strip() 去除两端空白
.replace(old, new) 替换内容
.split(sep) 分割字符串
.join(iterable) 连接字符串
.startswith() / .endswith() 检查前缀/后缀

3. 布尔值 (Booleans)

常用于条件判断。

is_admin = True
is_active = False

# 布尔运算
# True 相当于 1, False 相当于 0
print(True + 1) # 输出 2

4. 空值 (None)

None 是一个特殊的常量,表示“没有值”。它不同于 0、False 或空字符串。

result = None
if result is None:
    print("没有结果")

类型检测与转换

查看类型

使用 type() 函数查看变量类型。

x = 10
print(type(x))  # <class 'int'>

类型转换 (Type Casting)

Python 是强类型语言,不会自动进行隐式类型转换(除了数值混用),需要显式转换。

# 转整数
int("123")      # 123
int(3.14)       # 3 (截断小数)

# 转浮点数
float("3.14")   # 3.14
float(10)       # 10.0

# 转字符串
str(100)        # "100"
str(True)       # "True"

# 转布尔值
# 0, 0.0, None, "", [], {}, () 都会转换为 False,其余为 True
bool(0)         # False
bool("abc")     # True

输入与输出

输出:print()

# 基本输出
print("Hello")

# 输出多个值 (默认用空格分隔)
print("Name:", "Alice", "Age:", 25)

# 自定义分隔符和结束符
print("A", "B", "C", sep="-", end="!")
# 输出: A-B-C! (且不换行)

格式化字符串 (f-strings) - 强烈推荐

Python 3.6+ 引入的最便捷的字符串格式化方式。

name = "Bob"
age = 30
height = 175.5

# 使用 f 前缀,大括号内直接写变量或表达式
print(f"姓名: {name}, 年龄: {age}")
print(f"明年年龄: {age + 1}")
print(f"身高: {height:.2f}cm")  # 保留两位小数

输入:input()

input() 函数始终返回字符串类型。

# 获取输入
user_input = input("请输入数字: ")

# 必须进行转换才能用于计算
num = int(user_input)
print(f"输入数字的平方是: {num ** 2}")

动态类型的特性

Python 变量可以随时改变类型(虽然不建议频繁这样做)。

var = 10        # int
print(var)

var = "Hello"   # 变为 str
print(var)

注意

虽然动态类型很灵活,但在大型项目中,建议结合 Type Hints (类型提示) 来增加代码的可读性和健壮性。

# 类型提示示例 (Python 3.5+)
name: str = "Alice"
age: int = 18

本章小结

概念 要点
变量赋值 name = value,无需声明类型
基本类型 int, float, str, bool, None
类型转换 int(), float(), str(), bool()
输出 print(),推荐使用 f-string (f"{var}")
输入 input() 返回总是字符串

练习题

  1. 类型转换:编写程序,提示用户输入两个小数,计算它们的和,并以整数形式输出结果。
  2. 字符串操作:定义一个变量 sentence = " python is Good ", 请将其转换为 "Python is good" (去除首尾空格,首字母大写,其余小写)。
  3. 名片生成器:使用 input 获取姓名、职位、公司,使用 f-string 打印一张格式整齐的名片。

下一章:核心数据结构