基础语法与变量
在 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
变量命名规则
- 只能包含字母、数字和下划线 (
_)。 - 不能以数字开头。
- 区分大小写 (
age和Age是不同的变量)。 - 不能使用 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() 返回总是字符串 |
练习题
- 类型转换:编写程序,提示用户输入两个小数,计算它们的和,并以整数形式输出结果。
- 字符串操作:定义一个变量
sentence = " python is Good ", 请将其转换为"Python is good"(去除首尾空格,首字母大写,其余小写)。 - 名片生成器:使用
input获取姓名、职位、公司,使用 f-string 打印一张格式整齐的名片。
下一章:核心数据结构