Python作为当前最流行的编程语言之一,以其简洁的语法和强大的功能深受开发者喜爱。本篇文章将系统性地解析Python基础语法,涵盖运算符使用、输入输出处理、数据类型转换等核心知识点,通过大量代码示例和原理剖析,帮助开发者构建扎实的编程基础。文中所有示例均基于Python 3.x版本,部分特性会与Python 2.x进行对比说明。
关系运算符用于比较两个值的关系,返回布尔值(True/False):
python
Copy
a, b = 10, 11
print(a > b) # False
print(a <= b) # True
print(a == b) # False
print(a != b) # True
注意事项:
Python逻辑运算符支持短路求值机制:
python
Copy
# AND运算符
print(10 and 20) # 20(最后计算的运算数)
print(0 and 10) # 0
# OR运算符
print(10 or 0) # 10
print(0 or False) # False
# NOT运算符
print(not 0) # True
print(not 10) # False
短路特性:
python
Copy
def check():
print("Called")
return True
False and check() # 不执行check()
True or check() # 不执行check()
Python支持完整的数学运算体系:
运算符 | 描述 | 示例 |
---|---|---|
+ | 加法 | 3 + 2 → 5 |
- | 减法 | 5 - 2 → 3 |
* | 乘法 | 3 * 4 → 12 |
/ | 真除法 | 5 / 2 → 2.5 |
// | 地板除 | 5 // 2 → 2 |
% | 模运算 | 5 % 2 → 1 |
** | 幂运算 | 2**3 → 8 |
特殊运算示例:
python
Copy
print(7 % 4) # 3
print(-7 % 4) # 1(取模结果的符号与除数一致)
print(2 ** 3 ** 2) # 512(幂运算右结合)
复合赋值运算符提升代码简洁性:
python
Copy
a = 10
a += 5 # a = 15
a **= 2 # a = 225
a //= 10 # a = 22
内存机制:
Python支持多种格式化方式:
1. %格式化(兼容Python 2)
python
Copy
name = "Alice"
print("Name: %s, Score: %05d" % (name, 95))
# 输出:Name: Alice, Score: 00095
2. str.format()方法
python
Copy
print("坐标: ({x}, {y})".format(x=10, y=20))
3. f-string(Python 3.6+)
python
Copy
pi = 3.14159
print(f"圆周率:{pi:.2f}") # 圆周率:3.14
安全输入处理示例:
python
Copy
while True:
try:
age = int(input("请输入年龄:"))
break
except ValueError:
print("请输入有效数字!")
类型转换矩阵:
原始类型 | 目标类型 | 转换方法 | 注意点 |
---|---|---|---|
str | int | int() | 需为有效数字字符串 |
float | int | int(3.9) → 3 | 截断小数 |
list | tuple | tuple([1,2]) | 浅拷贝 |
dict | list | list(d.keys()) | 默认转换键列表 |
Python数据类型体系:
显式转换示例:
python
Copy
num_str = "123"
value = int(num_str) + 10 # 133
data = [1, 2, 3]
tuple_data = tuple(data) # (1,2,3)
隐式转换场景:
python
Copy
3 + 5.0 # int → float → 8.0
True + 10 # bool → int → 11
列表推导式:
python
Copy
squares = [x**2 for x in range(10) if x%2==0]
# [0, 4, 16, 36, 64]
字典生成式:
python
Copy
words = ["apple", "banana"]
length_dict = {word:len(word) for word in words}
# {'apple':5, 'banana':6}
单行注释:# 注释内容
多行注释:""" 注释内容 """
(实际是文档字符串)
特殊注释:
python
Copy
# TODO: 待完善功能
# FIXME: 需要修复
PEP8规范
避免使用保留字
python
Copy
# 错误示例
class = "A101" # SyntaxError
查看系统关键字:
python
Copy
import keyword
print(keyword.kwlist)
# ['False', 'None', 'True', 'and', 'as', ...]
运算符 | 描述 |
---|---|
** | 幂运算 |
~ + - | 按位非/一元加减 |
* / % // | 乘除模运算 |
+ - | 加减 |
<< >> | 位移运算 |
& | 按位与 |
^ | |
< <= > >= == != | 比较运算 |
is is not | 身份比较 |
in not in | 成员检测 |
not and or | 逻辑运算 |
python
Copy
result = 5 + 3 * 2 ** 2 // 4
# 计算顺序:
# 1. 2**2 → 4
# 2. 3 * 4 →12
# 3. 12//4 →3
# 4. 5+3 →8
python
Copy
def get_positive_number():
while True:
try:
num = float(input("输入正数:"))
if num <= 0:
raise ValueError
return num
except ValueError:
print("请输入有效的正数!")
python
Copy
def process_data(data):
if not isinstance(data, (list, tuple)):
raise TypeError("需要序列类型输入")
# 处理逻辑...
x << 1
代替 x * 2
in
运算符对集合类型O(1)时间复杂度python
Copy
# 传统写法
if index < len(array) and array[index] == target:
...
# 优化写法(避免越界)
if array[index] == target if index < len(array) else False:
...
通过本文的系统学习,读者应该已经掌握:
建议通过以下方式继续提升: