Appearance
基础语法
本章将介绍 Python 的基础语法,包括变量定义、注释、输入输出和代码规范。
变量
变量定义
Python 是动态类型语言,变量不需要声明类型。
python
# 变量定义:直接赋值即可
name = "张三" # 字符串
age = 25 # 整数
height = 1.75 # 浮点数
is_student = True # 布尔值
# 打印变量
print(name)
print(age)
print(height)
print(is_student)
# 变量可以重新赋值为不同类型
x = 10 # x 是整数
x = "Hello" # x 现在是字符串
print(x)变量命名规则
python
# 合法的变量名
user_name = "张三"
userName = "李四" # 也可以,但不推荐
_count = 100
MAX_VALUE = 1000
# 非法的变量名(会报错)
# 2name = "错误" # 不能以数字开头
# my-name = "错误" # 不能包含减号
# class = "错误" # 不能使用关键字
# 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
# 同时赋多个值
a, b, c = 1, 2, 3
print(a, b, c) # 1 2 3
# 交换变量值
x, y = 10, 20
print(f"交换前:x={x}, y={y}")
x, y = y, x
print(f"交换后:x={x}, y={y}")
# 解包赋值
numbers = [1, 2, 3]
a, b, c = numbers
print(a, b, c) # 1 2 3
# 使用 * 收集剩余元素
first, *rest = [1, 2, 3, 4, 5]
print(first) # 1
print(rest) # [2, 3, 4, 5]
*middle, last = [1, 2, 3, 4, 5]
print(middle) # [1, 2, 3, 4]
print(last) # 5
head, *middle, tail = [1, 2, 3, 4, 5]
print(head) # 1
print(middle) # [2, 3, 4]
print(tail) # 5注释
单行注释
python
# 这是单行注释
print("Hello") # 这也是单行注释
# 注释可以解释代码
result = 10 + 20 # 计算两数之和多行注释
python
"""
这是多行注释
可以写很多行
用于详细说明
"""
'''
这也是多行注释
使用单引号也可以
'''
# 实际上多行注释是多行字符串
# 通常用于模块或函数的文档字符串文档字符串
python
def calculate_area(width, height):
"""
计算矩形面积
参数:
width: 宽度
height: 高度
返回:
面积值
"""
return width * height
class Person:
"""人员类,用于存储人员信息"""
def __init__(self, name, age):
"""
初始化人员信息
参数:
name: 姓名
age: 年龄
"""
self.name = name
self.age = age
# 访问文档字符串
print(calculate_area.__doc__)
print(Person.__doc__)输入输出
输出 print()
python
# 基本输出
print("Hello, Python!")
# 输出多个值
print("姓名:", "张三", "年龄:", 25)
# 自定义分隔符
print("2024", "01", "15", sep="-") # 2024-01-15
# 自定义结尾符
print("Hello", end=" ")
print("World") # Hello World
# 输出到文件
with open("output.txt", "w") as f:
print("写入文件的内容", file=f)格式化输出
python
name = "张三"
age = 25
score = 95.5
# 方式一:f-string(推荐,Python 3.6+)
print(f"姓名:{name},年龄:{age}")
print(f"成绩:{score:.1f}") # 保留1位小数
print(f"年龄:{age:04d}") # 补零到4位
# 方式二:format() 方法
print("姓名:{},年龄:{}".format(name, age))
print("姓名:{0},年龄:{1},{0}很优秀".format(name, age))
print("姓名:{name},年龄:{age}".format(name="李四", age=30))
# 方式三:% 格式化(旧方式)
print("姓名:%s,年龄:%d" % (name, age))
print("成绩:%.1f" % score)
# 格式化符号说明
# %s - 字符串
# %d - 整数
# %f - 浮点数
# %.nf - 保留n位小数
# %x - 十六进制
# %o - 八进制输入 input()
python
# 基本输入
name = input("请输入姓名:")
print(f"你好,{name}!")
# 输入数字(input 返回字符串)
age_str = input("请输入年龄:")
age = int(age_str) # 转换为整数
print(f"年龄:{age}")
# 一行完成输入和转换
height = float(input("请输入身高(米):"))
print(f"身高:{height}米")
# 输入多个值
values = input("请输入多个数字,用空格分隔:")
numbers = [int(x) for x in values.split()]
print(f"输入的数字:{numbers}")代码规范
PEP 8 规范
python
# 缩进:使用 4 个空格
def example():
if True:
print("正确缩进")
# 行长度:不超过 79 个字符
long_string = ("这是一个很长的字符串,"
"可以分成多行书写")
# 空行:类和函数之间空两行
class MyClass:
"""示例类"""
def method_one(self):
"""方法一"""
pass
def method_two(self):
"""方法二"""
pass
def top_level_function():
"""顶层函数"""
pass
# 导入规范
import os
import sys
from collections import OrderedDict, defaultdict空格使用
python
# 运算符两侧加空格
x = 1 + 2
y = x * 3
# 逗号后加空格
numbers = [1, 2, 3, 4, 5]
person = {"name": "张三", "age": 25}
# 函数参数等号两侧不加空格(默认参数)
def greet(name="张三", age=25):
pass
# 函数调用时等号两侧加空格
greet(name="李四", age=30)
# 冒号前不加空格,后加空格
if x > 0:
print("正数")
# 列表、字典索引不加空格
items = [1, 2, 3]
print(items[0])命名约定
python
# 模块名:小写,可用下划线
# my_module.py
# 包名:小写,避免下划线
# mypackage
# 类名:大驼峰(CapWords)
class MyClass:
pass
class HttpRequestHandler:
pass
# 异常名:大驼峰,以 Error 结尾
class ValidationError(Exception):
pass
# 函数名:小写,下划线分隔
def calculate_total():
pass
def get_user_info():
pass
# 变量名:小写,下划线分隔
user_name = "张三"
total_count = 100
# 常量名:全大写,下划线分隔
MAX_CONNECTIONS = 100
DEFAULT_TIMEOUT = 30
# 私有变量:单下划线前缀
_internal_var = 10
# 名称修饰:双下划线前缀
__private_var = 20语句和表达式
语句
python
# 赋值语句
x = 10
# 多重赋值语句
a, b = 1, 2
# 增量赋值
x += 5 # 等同于 x = x + 5
# 删除语句
del x
# 导入语句
import os
from sys import path
# 控制流语句
if x > 0:
print("正数")
# 循环语句
for i in range(5):
print(i)
# 函数定义语句
def my_function():
pass
# 类定义语句
class MyClass:
pass表达式
python
# 算术表达式
result = 10 + 20 * 3
# 比较表达式
is_greater = 10 > 5
# 逻辑表达式
is_valid = True and False
# 成员表达式
is_in = 1 in [1, 2, 3]
# 身份表达式
is_same = x is y
# 条件表达式(三元运算符)
result = "正数" if x > 0 else "非正数"
# 列表推导式
squares = [x**2 for x in range(10)]
# 字典推导式
word_length = {word: len(word) for word in ["hello", "world"]}
# 生成器表达式
sum_result = sum(x for x in range(100))小结
本章我们学习了:
- 变量:动态类型、命名规则、多重赋值
- 注释:单行注释、多行注释、文档字符串
- 输入输出:print()、input()、格式化输出
- 代码规范:PEP 8 规范、命名约定
下一章,我们将学习 数据类型,了解 Python 的基本数据类型。
