当前位置: 首页 > web >正文

【Python 基础语法】

Python 基础语法是编程的基石,以下从核心要素到实用技巧进行系统梳理:


一、代码结构规范

  1. 缩进规则

    • 使用4个空格缩进(PEP 8标准)
    • 缩进定义代码块(如函数、循环、条件语句)
    def greet(name):if name:  # 正确缩进print(f"Hello, {name}!")else:     # 正确对齐print("Hello, Guest!")
    
  2. 行长度限制

    • 每行代码建议不超过79个字符(超长时用反斜杠\或括号换行)
    result = (value1 + value2 - value3 * value4)
    

二、变量与数据类型

1. 变量命名
  • 规则:字母/数字/下划线组合,区分大小写,不以数字开头
  • 惯例:小写字母+下划线(如user_age),常量全大写(如MAX_SIZE
2. 动态类型
count = 10        # int
count = "Ten"     # 类型自动变为str
3. 核心数据类型速查表
类型示例特性
int42, 0b1010任意精度整数
float3.14, 2.5e3浮点数精度约15位
str'Python', """多行字符串"""不可变,支持f-string格式化
list[1, "a", True]可变,支持任意类型混合
dict{"name": "Alice", 3: [4,5]}键唯一且不可变
tuple(1, 2, 3)不可变,可作字典键
set{1, 2, 3}唯一元素,无序
boolTrue, False继承自int类型
NoneNone表示空值

三、运算符全家福

1. 运算优先级速记口诀

算术 > 位运算 > 比较 > 逻辑 > 赋值
(括号可强制提升优先级)

2. 特殊运算符
  • 链式比较1 < age < 100(等价于age > 1 and age < 100
  • 海象运算符(Python 3.8+):if (n := len(data)) > 10:(赋值表达式)
  • 矩阵乘法@(需numpy支持)

四、流程控制

1. 条件语句进阶
# 三元表达式
status = "Even" if num % 2 == 0 else "Odd"# 模式匹配(Python 3.10+)
match value:case 0:print("Zero")case _ if value < 0:print("Negative")case _:print("Positive")
2. 循环控制技巧
# 遍历字典
for key, val in my_dict.items():print(f"{key}: {val}")# 无限循环
while True:if condition:break  # 退出循环elif error:continue  # 跳过本次迭代

五、函数设计

1. 基础定义
def calculate(a, b, operation="+"):"""通用计算函数Args:a (int/float): 第一个操作数b (int/float): 第二个操作数operation (str): 运算符,默认为加法"""return {"+": a + b,"-": a - b,"*": a * b,"/": a / b if b !=0 else "Error"}.get(operation, "Invalid Op")
2. 高级特性
  • 默认参数陷阱:避免使用可变对象(如def func(a=[])
  • 关键字参数:func(a=1, b=2)
  • 位置参数:*args接收元组,**kwargs接收字典

六、输入输出

1. 格式化输出
name = "Alice"
age = 25
print(f"{name} is {age} years old.")  # f-string(推荐)
print("{} is {} years old.".format(name, age))
2. 文件操作
# 写入文件
with open("data.txt", "w", encoding="utf-8") as f:f.write("Hello, World!\n")# 读取文件
with open("data.txt", "r") as f:content = f.read()

七、异常处理

try:result = 10 / 0
except ZeroDivisionError:print("不能除以零!")
except (TypeError, ValueError) as e:print(f"类型错误: {str(e)}")
else:  # 无异常时执行print("计算成功")
finally:  # 始终执行print("操作结束")

八、模块化编程

# 导入模块
import math
from collections import defaultdict# 自定义模块
# 在my_module.py中定义:
def greet(name):return f"Hello, {name}!"# 使用模块
import my_module
print(my_module.greet("Python"))

九、编码规范(PEP 8要点)

  1. 导入模块顺序:标准库 > 第三方库 > 本地库
  2. 运算符周围加空格:x = y + 3
  3. 函数/类之间空两行,方法之间空一行
  4. 注释使用英文,行注释以#开头

掌握这些基础语法后,可逐步进阶学习:面向对象编程、装饰器、生成器、异步编程等高级特性。建议通过实际项目(如开发简单计算器、待办事项管理器)巩固知识。

http://www.xdnf.cn/news/5681.html

相关文章:

  • 直方图特征结合 ** 支持向量机图片分类
  • AD 固定孔及器件的精准定义
  • CVE-2024-26809利用nftables双重释放漏洞获取Root权限
  • 高速边坡监测成本高?自动化如何用精准数据省预算?
  • Oracle集群多副本控制文件异常问题
  • 产品思维30讲-(梁宁)--实战2
  • 分水岭算法:从逻辑学角度看图像分割的智慧
  • Ubuntu20.04 搭建Kubernetes 1.28版本集群
  • C++ 编译报错 undefined reference 找不到引用的问题解决思路
  • vue+element下拉选择器默认选择第一个并根据选择项展示相关数据
  • 瑞派宠物医生:借腔镜影像妙技,筑牢宠物生命防线
  • 4.MySQL全量、增量备份与恢复
  • 构造二叉树
  • STM32的TIMx中Prescaler和ClockDivision的区别
  • AI与IoT携手,精准农业未来已来
  • Nacos源码—8.Nacos升级gRPC分析六
  • 2025年5月12日第一轮
  • 最大子数组和
  • Ubuntu虚拟机文件系统扩容
  • 通过Windows操作系统双因素认证实现工业设备安全运维:安当SLA
  • 论文学习_A Survey of Binary Code Similarity
  • 生成式人工智能认证(GAI认证)适合人群
  • 电商平台一站式网络安全架构设计指南
  • 自动化测试与功能测试详解
  • 【办公类-99-06】20250512用Python制作PPT的GIF照片动图(统一图片大小、自定义不同切换秒数,以蝴蝶为例)
  • 并发笔记-信号量(四)
  • ActiveMQ 高级特性:延迟消息与优先级队列实战(二)
  • MultiTTS 1.7.6 | 最强离线语音引擎,提供多音色无障碍朗读功能,附带语音包
  • 使用PhpStudy搭建Web测试服务器
  • 机动车授权签字人备考考试题库及答案