Python 二级备考笔记(一):基础语法与数据类型
1. 标识符 命名规则: 由字母(AZ, az)、数字(0~9)和下划线(_)组成。 不能以数字开头。 区分大小写(如 Name 和 name 不同)。 不能与保留字(关键字)重名。 命名规范(PEP 8 建议): 变量名、函数名、方法名:全小写,单词间用下划线分隔(如 my_var)。 类名:首字母大写(驼峰命名法,如 MyClass)。 常量名:全大写,单词间用下划线分隔(如 MAX_SIZE)。 合法性检查:可通过 str.isidentifier() 方法判断一个字符串是否为合法标识符。 2. 保留字(关键字) Python 保留字不能用作标识符,否则会引发语法错误。 保留字列表如下(不同版本略有增减,以实际环境为准):1False, 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, no...
Python 二级备考笔记(三):函数和代码复用
1、函数的定义 函数是一段具有特定功能的、可重用的语句组,是一种功能的抽象。 用函数名来表示并通过函数名进行完成功能调用。 两个作用:降低编程难度和代码复用。 Python定义一个函数语法形式: 123def <函数名>(<参数列表>): <函数体> return <返回值列表> 注意:函数体相对于 def 关键字必须缩进(通常为 4 个空格或 1 个 Tab),这是 Python 语法的强制要求。 即便函数没有参数,括号也不能省略,如 def func():。 函数定义时参数列表中的变量称为形参,函数体中的代码不会立即执行,只有在函数被调用时才会运行。 2、函数的调用 调用程序在 调用处 暂停执行; 在调用时将 实参复制 给函数的 形参; 执行 函数体语句; 函数执行结束给出返回值,程序回到调用前的 暂停处 继续执行。 调用方式:直接使用 函数名(实参列表) 即可,如 result = add(3, 5)。在调用之前,函数必须已经被定义。 3、lambda函数(匿名函数) 一种特殊的函数——匿名函数,又...
Python 二级备考笔记(二):程序控制与异常处理
1. 程序控制结构1.1 顺序结构 程序按代码的书写顺序从上到下逐条执行,每条语句执行一次(除非被分支或循环改变流程)。 1.2 分支结构(选择结构) 通过 if、elif、else 实现多路条件判断。 基本语法:123456if 条件表达式1: 语句块1elif 条件表达式2: 语句块2else: 语句块3 elif 可以有零个或多个,else 最多一个且放在最后。 条件表达式的结果会被隐式转换为布尔值(True 或 False)。 注意:Python 3.10 之前没有 switch/case 语句,使用 if-elif-else 实现多分支判断。二级考试环境(3.5.3~3.9.10)不支持 match 语句。 常见易错点: 不要忘记冒号(:)。 缩进必须严格一致(建议使用 4 个空格,不要混用 Tab 和空格)。 条件中慎用赋值(=),避免误写成比较(==)。 1.3 循环结构1.3.1 for 循环 用于遍历可迭代对象(字符串、列表、元组、字典、range 等)。 基本语法:12for 变量 in 可迭代对象: 循环体 遍历字典...
Python 二级备考笔记(四):组合数据类型和字符串
1. 字符串操作符 + 拼接:连接两个字符串,生成新字符串。注意 + 两侧都必须是字符串,否则抛出 TypeError。 * 重复:字符串与整数相乘,重复复制该字符串指定次数。 in 和 not in:成员判断,判断子串是否(不)存在于原字符串中,返回布尔值。 比较运算符(==、!=、>、<、>=、<=):按字典序(Unicode 码点)比较两个字符串。逐字符比较,遇到第一个不同的字符即决定大小。 len():返回字符串长度(字符个数)。 max() / min():返回最大/最小字符(按 Unicode 码点)。 2. 字符串索引 正向索引:从 0 开始,0 表示第一个字符,len(s)-1 表示最后一个字符。 反向索引:从 -1 开始,-1 表示最后一个字符,-len(s) 表示第一个字符。 示例:12345s = "Python"print(s[0]) # 'P'print(s[-1]) # 'n'print(s[5]) # 'n'...
Python 二级备考笔记(五):文件操作和第三方库
1. 文件的基本操作1.1 文件的类型 文本文件:采用统一字符编码(如 UTF-8、GBK),以字符为单位存储,可直接用文本编辑器查看。 二进制文件:没有统一的字符编码,以字节为单位存储(如图片、音频、视频、可执行文件等),需要特定程序解析。 1.2 文件的操作流程 标准流程:打开文件(open()) → 读/写操作 → 关闭文件(close()) 1.2.1 打开文件 —— open() 函数语法: 1<变量名> = open(<文件路径及文件名>, <打开模式>, encoding=<编码>) encoding 参数仅在文本模式下有效,用于指定字符编码(如 "utf-8")。 打开模式详解: 模式 描述 'r' 只读模式(默认)。文件必须存在,否则抛出 FileNotFoundError。 'w' 覆盖写模式。文件不存在则创建,存在则完全覆盖原有内容(清空后写入)。 'x' 创建写模式。文件不存在则创建,存在则抛出 Fi...
VMware虚拟机代理配置与网络排障完全指南:从Git Clone超时到成功解决
VMware虚拟机代理配置与网络排障完全指南:从Git Clone超时到成功解决 适用场景:宿主机(Windows)已配置代理工具,VMware虚拟机(Ubuntu)能Ping通外网或显示已连接,但执行git clone长时间卡顿或报错Failed to connect。 一、 故障现象与环境定性 宿主环境:Windows 10/11,代理软件(Clash/V2Ray)监听端口7897。 虚拟环境:Ubuntu 22.04/24.04,网络模式为NAT模式。 核心矛盾:虚拟机显示”已联网”,但访问GitHub等境外服务时无响应或超时。 二、 核心排障逻辑(三板斧)解决此类问题不能只看”有没有网”,而要看”流量能否正确进入代理管道”。 1. 网络基底校验:Ping不通不代表断网很多开发者习惯先用ping 192.168.118.1测试物理机连通性。但在实战中,Windows防火墙默认屏蔽ICMP协议(回显请求),导致100% packet loss。这是正常现象,只要虚拟机网卡(NAT模式)获取了正确IP,底层链路即视为畅通。 2. 代理绑定校...
机器学习、数据科学与神经网络:给初学者的概念辨析课
机器学习、数据科学与神经网络:给初学者的概念辨析课当你初入人工智能的大门,迎面而来的三座大山往往是:机器学习、数据科学、神经网络。它们就像三位形影不离的朋友,却又各自独立,让不少初学者犯迷糊。 今天,我们不求大而全,只求用两个你身边的场景,把这几个概念的边界彻底厘清。 一、机器学习与数据科学:预测引擎与决策艺术先记住一句话:机器学习负责造矛,数据科学负责舞矛。 我们用电商平台为例。你打开购物 App,它会根据你的浏览记录和购买历史,猜出你可能想买什么并推送给你。这个过程,可以切成两半来看。 机器学习(以监督式学习为例)它干的活儿就是:给你输入 A(用户行为数据),输出 B(未来三天购买某商品的可能性)。机器学习追求的是 “猜得准”——这个映射关系越准,预测引擎就越强大。它只关心一个具体的预测任务,而不关心这个预测结果到底要怎么用。 数据科学它关注的则是一个完整的旅程:从“我们到底要解决什么业务问题”开始,到“需要收集哪些数据、怎么清洗、怎么分析”,再到“调用机器学习模型做出预测”,最后还要结合库存、用户疲劳度、商业策略等因素,给出一个可执行的决策——比如“向用户 A 推送带...
零基础硬核:用“三号理论”彻底看懂ARM汇编里的寄存器保护
📍 1. 引言:我的懵逼时刻事情要从最近做的一道题目说起,做这个题目的时候,我的状态大部分时候是处于蒙圈的,因为这个题目很绕,题目中的x29, x30, x19, sp等的符号真的理不清。题目代码如下: 123456789101112131415161718192021222324//C code in mstore.clong mult2(long, long);void multstore(long x,long y, long *dest){ long t = mult2(x, y); *dest = t;}//Assembly file in mstore.smultstore: stp x29, x30, [sp, -32]! mov x29, sp str x19, [sp, 16] mov x19, x2 bl mult2 str x0, [x19] ldr x19, [sp, 16] ldp x29, x30, [sp...
机器学习初探:从生活中读懂监督式学习
机器学习初探:从生活中读懂监督式学习引言:三个场景,一个共同的秘密 你有没有想过,为什么手机能自动识别骚扰短信,翻译软件能把英文一键转成中文,语音助手又能把你说的话变成精准的文字?这些我们早已习以为常的便利,背后其实藏着同一个秘密——监督式学习。它就像是当代人工智能领域里最基础、也最健壮的一块积木。作为一个同样从零开始的探索者,我想用最简单的话,把这扇门慢慢推开。 一、什么是监督式学习?A 到 B 的映射想象一下你要训练一个新来的实习生帮你做垃圾分类。你手把手地教他:把“废纸”的照片递给他,然后告诉他这张要放进“可回收”桶;把“果皮”的照片给他,告诉他这张要放进“厨余”桶。你给的一对对“照片-答案”,就是数据。实习生反复看这些例子,自己的大脑里逐渐建立起一种判断规则,不用你再开口,他就能直接根据照片把垃圾扔对。这个过程,在机器学习的世界里就叫监督式学习。 更抽象一点说,监督式学习要完成的任务就是学习一个从输入 A 到输出 B 的映射。我们给模型(那个实习生的数字大脑)大量配对好的例子:如果输入是一封垃圾邮件,就期望它输出“1”(拦截);如果是一封正常邮件,就输出“0”(放行)。...
Linux入门指南:从系统概念到基础命令实战
Linux入门指南:从系统概念到基础命令实战 本文系统梳理Linux操作系统的核心概念、安装方式及常用命令,帮助初学者快速建立知识框架并上手实操。 一、Linux是什么?Linux是一种开源、免费使用的类Unix操作系统,其内核由芬兰大学生**林纳斯·托瓦兹(Linus Torvalds)**于1991年首次发布。与Windows或macOS不同,Linux并非由单一公司拥有,而是由全球开源社区共同维护和发展。 Linux系统的层次结构Linux系统由以下四个层次组成,自底向上依次为: 层次 说明 内核(Kernel) 系统的核心和基础,负责管理硬件设备、内存、进程调度等底层服务 系统库(System Libraries) 为应用程序提供调用接口的软件库,如glibc Shell 用户与操作系统交互的接口,常见的有Bash、Zsh等 应用程序(Applications) 各类软件工具和服务程序,如文本编辑器、Web服务器等 二、为什么选择Ubuntu作为入门发行版?Linux拥有众多发行版(Distribution),如Ubuntu、CentOS、...










