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.pswp.cn/news/905257.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/905257.shtml
英文地址,请注明出处:http://en.pswp.cn/news/905257.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用“Flower”实现联邦机器学习的实战指南

一个很尴尬的现状就是我们用于训练 AI 模型的数据快要用完了。所以我们在大量的使用合成数据&#xff01; 据估计&#xff0c;目前公开可用的高质量训练标记大约有 40 万亿到 90 万亿个&#xff0c;其中流行的 FineWeb 数据集包含 15 万亿个标记&#xff0c;仅限于英语。 作为…

自动化测试与功能测试详解

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 什么是自动化测试? 自动化测试是指利用软件测试工具自动实现全部或部分测试&#xff0c;它是软件测试的一个重要组成 部分&#xff0c;能完成许多手工测试无…

MySQL全量,增量备份与恢复

目录 一.MySQL数据库备份概述 1.数据备份的重要性 2.数据库备份类型 3.常见的备份方法 二&#xff1a;数据库完全备份操作 1.物理冷备份与恢复 2.mysqldump 备份与恢复 3.MySQL增量备份与恢复 3.1MySQL增量恢复 3.2MySQL备份案例 三&#xff1a;定制企业备份策略思路…

Ubuntu 安装 Nginx

Nginx 是一个高性能的 Web 服务器和反向代理服务器&#xff0c;同时也可以用作负载均衡器和 HTTP 缓存。 Nginx 的主要用途 用途说明Web服务器提供网页服务&#xff0c;处理用户的 HTTP 请求&#xff0c;返回 HTML、CSS、JS、图片等静态资源。反向代理服务器将用户请求转发到…

人工智能 机器学习期末考试题

自测试卷2 一、选择题 1&#xff0e;下面哪个属性不是NumPy中数组的属性&#xff08; &#xff09;。 A&#xff0e;ndim B&#xff0e;size C&#xff0e;shape D&#xff0e;add 2&#xff0e;一个简单的Series是由&#xff08; &#xff09;的数据组成的。 A&#xff0e;两…

使用阿里云CLI调用OpenAPI

介绍使用阿里云CLI调用OpenAPI的具体操作流程&#xff0c;包括安装、配置凭证、生成并调用命令等步骤。 方案概览 使用阿里云CLI调用OpenAPI&#xff0c;大致分为四个步骤&#xff1a; 安装阿里云CLI&#xff1a;根据您使用设备的操作系统&#xff0c;选择并安装相应的版本。…

K8S Svc Port-forward 访问方式

在 Kubernetes 中&#xff0c;kubectl port-forward 是一种 本地与集群内资源&#xff08;Pod/Service&#xff09;建立临时网络隧道 的访问方式&#xff0c;无需暴露服务到公网&#xff0c;适合开发调试、临时访问等场景。以下是详细使用方法及注意事项&#xff1a; 1. 基础用…

23、DeepSeek-V2论文笔记

DeepSeek-V2 1、背景2、KV缓存优化2.0 KV缓存&#xff08;Cache&#xff09;的核心原理2.1 KV缓存优化2.2 性能对比2.3 架构2.4多头注意力 &#xff08;MHA&#xff09;2.5 多头潜在注意力 &#xff08;MLA&#xff09;2.5.1 低秩键值联合压缩 &#xff08;Low-Rank Key-Value …

MySQL OCP试题解析(2)

试题如下图所示&#xff1a; 一、题目背景还原 假设存在以下MySQL用户权限配置&#xff1a; -- 创建本地会计用户CREATE USER accountinglocalhost IDENTIFIED BY acc_123;-- 创建匿名代理用户&#xff08;用户名为空&#xff0c;允许任意主机&#xff09;CREATE USER % IDENTI…

深度学习Y7周:YOLOv8训练自己数据集

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 一、配置环境 1.官网下载源码 2.安装需要环境 二、准备好自己的数据 目录结构&#xff1a; 主目录 data images&#xff08;存放图片&#xff09; annotati…

英伟达Blackwell架构重构未来:AI算力革命背后的技术逻辑与产业变革

——从芯片暴力美学到分布式智能体网络&#xff0c;解析英伟达如何定义AI基础设施新范式 开篇&#xff1a;当算力成为“新石油”&#xff0c;英伟达的“炼油厂”如何升级&#xff1f; 2025年3月&#xff0c;英伟达GTC大会上&#xff0c;黄仁勋身披标志性皮衣&#xff0c;宣布了…

CurrentHashMap的整体系统介绍及Java内存模型(JVM)介绍

当我们提到ConurrentHashMap时&#xff0c;先想到的就是HashMap不是线程安全的&#xff1a; 在多个线程共同操作HashMap时&#xff0c;会出现一个数据不一致的问题。 ConcurrentHashMap是HashMap的线程安全版本。 它通过在相应的方法上加锁&#xff0c;来保证多线程情况下的…

Android开发-设计规范

在Android应用开发中&#xff0c;遵循良好的设计规范不仅能够提升用户体验&#xff0c;还能确保代码的可维护性和扩展性。本文将从用户界面&#xff08;UI&#xff09;、用户体验&#xff08;UX&#xff09;、性能优化以及代码结构等多个维度探讨Android开发中的设计规范&#…

泛型加持的策略模式:打造高扩展的通用策略工具类

一、传统策略模式的痛点与突破 1.1 传统策略实现回顾 // 传统支付策略接口 public interface PaymentStrategy {void pay(BigDecimal amount); }// 具体策略实现 public class AlipayStrategy implements PaymentStrategy {public void pay(BigDecimal amount) { /* 支付宝支…

物联网从HomeAssistant开始

文章目录 一、什么是home-assistant?1.核心架构2.集成架构 二、在树梅派5上安装home-assistant三、接入米家1.对比下趋势2.手动安装插件3.配置方式 四、接入公牛1.手动安装插件2.配置方式 五、接入海尔1.手动安装插件2.配置方式 六、接入国家电网 一、什么是home-assistant? …

系统架构-嵌入式系统架构

原理与特征 嵌入式系统的典型架构可概括为两种模式&#xff0c;即层次化模式架构和递归模式架构 层次化模式架构&#xff0c;位于高层的抽象概念与低层的更加具体的概念之间存在着依赖关系&#xff0c;封闭型层次架构指的是&#xff0c;高层的对象只能调用同一层或下一层对象…

计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 09.天空和背景

天空和背景 对于 3D 场景&#xff0c;通常可以通过在远处的地平线附近创造一些逼真的效果&#xff0c;来增强其真实感。我们可以采用天空盒、天空柱&#xff08;Skydome&#xff09;或天空穹&#xff08;Skydome&#xff09;等技术来模拟天空。 天空盒 天空盒&#xff08;Sk…

【Leetcode 每日一题】1550. 存在连续三个奇数的数组

问题背景 给你一个整数数组 a r r arr arr&#xff0c;请你判断数组中是否存在连续三个元素都是奇数的情况&#xff1a;如果存在&#xff0c;请返回 t r u e true true&#xff1b;否则&#xff0c;返回 f a l s e false false。 数据约束 1 ≤ a r r . l e n g t h ≤ 10…

面试题解析 | C++空类的默认成员函数(附生成条件与底层原理)

在C面试中&#xff0c;“空类默认生成哪些成员函数”是考察对象模型和编译器行为的高频题目。许多资料仅提及前4个函数&#xff0c;但完整的答案应包含6个核心函数&#xff0c;并结合C标准深入解析其生成规则与使用场景。 一、空类默认生成的6大成员函数 1. ​缺省构造函数​ …

视频编解码学习7之视频编码简介

视频编码技术发展历程与主流编码标准详解 视频编码技术是现代数字媒体领域的核心技术之一&#xff0c;它通过高效的压缩算法大幅减少了视频数据的体积&#xff0c;使得视频的存储、传输和播放变得更加高效和经济。从早期的H.261标准到最新的AV1和H.266/VVC&#xff0c;视频编码…