发布时间:2026/8/10 9:59:42
【AI加持下的Python编程实战2 【全新第二版《Learn AI- 》封面】写在前面全篇里, 这是全书头一处精华部分, 从全然零基础小白视角, 详细讲了在函数设计那里的用法, 诸如提示词正确写法, 基于AI工具的函数设计基础工作流程等, 虽说具体案例都没多大难度, 可当中方法要领都值得大伙反复去研读, 还得认真实践。Ch03:本章概要起始于函数, 本章更进一步地就提示词的写法予以介绍, 在内容组织方面相较于上一版有着颇为显著的调整, 鉴于内容太过基础, 本篇只是对关键要点加以梳理, 不会进行全面的展开阐述。1 提效的关键即确定交给 的任务是 合理的。特定的方法是, 借助函数把繁杂的问题划分成数目若干个简单且能够施行的小工作, 这类函数起码得拥有两个性质。每个函数只完成一个任务函数的内部逻辑容易理解。因为这本书的关键要点是辅助编程之便, 所以并非直接去阐述函数语法, 而是借助几个小型案例来进一步展现其用法。1.1 找单词游戏从下列字符中找出指定的单词【图 3.1 示例一找单词游戏】目标单词有CAT、DOG、、HELLO、TASK。总的思路是, 把原本的问题依照行来开展分解, 与此同时, 还要配合检索的顺序, 这个检索顺序是从左至右, 还是从上到下, 进而将复杂的问题实施合理的分解。1.2 返回两个数中的较大值沿用 # 注释的旧方案提示词前三行# write a function that returns the larger of two numbers # input is two numbers # output is the larger of the two numbers def larger(num1, num2): if num1 num2: return num1 else: return num2在 给出的函数完整定义中——倘若存在一个函数, 因其执行的任务数量过多, 从而致使难以快速地进行命名, 这往往意味着是设计得过度复杂的信号。要防止, 于按下回车键后, 仍旧不断提示注释内容, 建议应用那, 用作提示词的文档字符串, 更改成为如下有着前 6 行的版本: 。def larger(num1, num2): num1 and num2 are two numbers. Return the larger of the two numbers. if num1 num2: return num1 else: return num2能够发觉, 新版的提示之词句, 就要求手写出自关于第一行的函数之签名这种构成, 也就是亲自去确定函数的名称, 还有参数的列表, 以及各个参数的具体名称, 之后呢, 要在那个文档的字符串里, 针对刚才所言的这个签名, 开展进一步的阐释。先描述各参数的类型、含义再确定函数返回的内容。关于能不能生成正确的函数体, 靠另一段提示词来生成测试代码前三行:# call the larger function with the values 3 and 5 # store the result in a variable called result # then print result result larger(3, 5) print(result)于此地便无需特意运用了。将所有代码选中, 按下 Shift 键与 Enter 键, 快去执行代码:将图3.2改成函数签名之后加之提示词以后呈现的函数实测情况。2 用 设计函数的标准工作流如图所示【图 3.3 用 设计函数的标准工作流】写成文字版就是——判定函数的预期表现, 按照需求撰写出提示词, 尽可能确切地叙述该函数所具有的功用, 来使依据提示词生成代码, 从头到尾阅读检查代码以确保逻辑恰当, 对代码进行测试, 多次测试之后全都正确, 那就转向下一个步骤了, 要是测试过程中出现错误, 那就返回到步骤2, 对提示词做出修改, 重新走一遍流程, 2.1呈现一: 股票盈利函数。需求根据持股数、买入价格、当前价格计算股票盈利情况。函数签名 提示词最后一行除外def money_made(num_shares, purchase_share_price, current_share_price): num_shares is the number of shares of a stock that we purchased. purchase_share_price is the price of each of those shares. current_share_price is the current share price. Return the amount of money we have earned on the stock. return num_shares * (current_share_price - purchase_share_price)实测情况【图 3.4 股票盈利函数实测截图含手动测试情况】2.2 演示二密码强弱判定需求判定一个密码的强弱只要不是 或 就视为强密码。函数签名 提示词前 7 行def is_strong_password(password): A strong password is not the word password and is not the word qwerty. Return True if the password is a strong password, False if not. return password ! password and password ! qwerty何为强密码, 是这类情况, 它得至少存在一个大写字符, 并且, 还得至少有一个数字, 而且, 还必须至少包含一个特殊符号。升级版提示词def is_strong_password(password): A strong password has at least one uppercase character, at least one number, and at least one special symbol. Return True if the password is a strong password, False if not. has_uppercase False has_number False has_special False for char in password: if char.isupper(): has_uppercase True if char.isdigit(): has_number True if not char.isalnum(): has_special True return has_uppercase and has_number and has_special实测情况【图 3.5 新版强密码判定函数实测情况】此处的代码, 相较于原书而言, 其可读性更具优势, 然而, 仍旧未能对特殊字符的含义形成正确理解, 这是需要进一步予以明确的。def is_strong_password(password): A strong password has at least one uppercase character, at least one number, and at least one punctuation. Return True if the password is a strong password, False if not. has_uppercase False has_number False has_punctuation False for char in password: if char.isupper(): has_uppercase True elif char.isdigit(): has_number True elif char in !#$%^*()_-[]{}|;:,.?: has_punctuation True return has_uppercase and has_number and has_punctuation这回, 没运用书中的 模块, 反倒径直给出了标点符号序列, 权且算是一回改进吧。在这个时候, 再往前深入迈进一步, 去要求那用户, 反复地进行输入, 输入一个密码, 一直持续下去, 直到其所输入的那个密码, 成为强密码的时候, 才停止下来, 与此同时, 输出这个密码。提示词能够被写成下面这样的形式, 前五行。def get_strong_password(): Keep asking the user for a password until it’s a strong password, and return that strong password. password input(Enter a strong password: ) while not is_strong_password(password): print(That password is not strong enough.) password input(Enter a strong password: ) return password在 交互式命令行中进行测试有一张图, 其编号为3.6, 展示的是实测循环输入测试密码, 在交互式命令行之中的运行情形。2.3 演示三拼字游戏得分统计需求给定一个单词根据每个字母的分值计算总得分。提示词L1 ~ L14def num_points(word): Each letter is worth the following points: a, e, i, o, u, l, n, s, t, r: 1 point d, g: 2 points b, c, m, p: 3 points f, h, v, w, y: 4 points k: 5 points j, x: 8 points q, z: 10 points word is a word consisting of lowercase characters. Return the sum of points for each letter in word. points 0 for letter in word: if letter in aeioulnstr: points 1 elif letter in dg: points 2 elif letter in bcmp: points 3 elif letter in fhvwy: points 4 elif letter k: points 5 elif letter in jx: points 8 elif letter in qz: points 10 return points先进行测试, 直到测试结果无误后, 依据这个无误的测试结果, 去创建一个函数, 这个函数是用来在一组单词里, 挑选出分值最高的那个单词的。def best_word(word_list): word_list is a list of words. Return the word worth the most points. best_word best_points 0 for word in word_list: points num_points(word) if points best_points: best_word word best_points points return best_word3 引入函数的好处主要好处有——缓和认知负担, 防止冗余与重复, 改良测试, 复杂任务经合理函数拆分更易测试, 提升代码可靠性, 提升代码可读性。说到第四条跟第五条, 看上去好像类似, 可实际上完全属于两个不同的维度。这其中、可靠性指的是只代码没有错误出现的这样一种概率, 还和健壮性存在关联。书中还提及了一个特别违背直觉的情况, 那就是, 要是每行代码的平均正确概率高达百分之九十五, 持续去写上十四行, 从概率的层面来讲, 也会出现至少有一行代码出现错误这样的状况N_min大于ln0.5除以ln0.95, 约等于十三点五一。关于可读性, 这是从后续维护这个角度来说的, 不管是由AI生成的代码情况, 还是开发者亲手书写的代码状况, 在其中引入优质函数, 都能够明显提升代码的可读性。4 函数的职能书中举了一个例子def funct1(): print(there) funct2() print(friend) funct3() print() def funct2(): print(my) def funct3(): print(.) def funct4(): print(well) print(Hi) # 函数的起点类似其他编程语言中的 main 函数 funct1() print(Im) funct4() funct3() print() print(Bye.)可以结合下图进行理解【图 3.7 示例函数的不同职能示意图】本例中的函数具体职能包括调度别的子函数, 达成更高层次的抽象, 用以提升代码复用性, 对部分底层逻辑予以封装。辅助函数 vs 叶子函数分担另一个函数工作, 减轻其压力的函数, 都可视为辅助函数, 辅助函数。定义明确, 完成子任务又好又快的函数, 必定是最好的辅助函数例如上面演示二和演示三中的辅助函数。叶子函数, 即 leaf , 指这样一种独立函数, 它无需调用其他函数, 当然, 调用内置函数除外。5 函数设计的合理性问题想要合理设计函数需要明确优质函数的基本特征任务是明确的, 预期行为清晰得没有错误, 代码行数不多, 通常在 12 至 20 行的范围不等, 通用性比特殊性更具优势, 输入和输出清晰又明了。这是本章小结。后话本章篇幅较长, 然而整体难度不大, 其主要价值乃在于引导我们建立与交互的基本模式以及提示词的基本结构。演示使用的是英文, 不过这并不妨碍我们用其他语言、其他AI工具去践行提示词工程。唯有在本地实测过程当中, 才能够对当前AI工具所具备的真实能力拥有一个真正落地的感受, 借此放弃不切实际的幻想有时甚至是妄想。再一次着重指出, 即便历经两年多时间的更新迭代, 当下的AI辅助编程工具的放大镜效应依旧十分显著, 会运用这些工具的人士与不会运用这些工具的人士在AI实际应用方面的效用的差别犹如天地之差, 而能够熟练运用的前提条件乃是切实理解并且娴熟运用这些工具, 不要因为善事微小就不去做。

相关新闻

2026/8/10 9:59:42

Python如何处理XML中的命名空间前缀

要将命名空间正确处理, 其一, 通过URI字典加上自定义前缀来开展查询;其二, 运用*通配符对命名空间予以忽略;其三, 对前缀进行注册以此规范输出;其四, 借助lxml保留原始前缀;其五, 通过正则作预处理把命名空间移除。倘若您于其中解…

2026/8/10 9:54:42

TVA-World具身智能可解释性框架与安全验证机制

前沿技术探索:TVA智能体(简称TVA)TVA智能体(亦称“AI智能体视觉”或“TVA视觉智能体”)是依托Transformer架构与“因式智能体”理论构建的通用视觉技术框架。它融合深度强化学习(DRL)、卷积神经…

2026/8/10 9:54:42

基于TVA-World的具身智能情感交互与共情决策机制

前沿技术探索:TVA智能体(简称TVA)TVA智能体(亦称“AI智能体视觉”或“TVA视觉智能体”)是依托Transformer架构与“因式智能体”理论构建的通用视觉技术框架。它融合深度强化学习(DRL)、卷积神经…

2026/8/10 11:04:45

Unity Retro Wireframe插件:打造复古科幻与Low Poly风格线框渲染

1. 项目概述与核心价值 最近在做一个独立游戏项目,想给场景里加点不一样的视觉佐料,那种一眼就能把人拉回80年代科幻电影或者早期3D游戏的感觉。试了一圈,发现单纯用低多边形模型或者调色板,总感觉差了那么点“味儿”。后来在社区…

2026/8/10 11:04:45

终极植物大战僵尸修改器:PvZ Toolkit完全指南与5个高级技巧

终极植物大战僵尸修改器:PvZ Toolkit完全指南与5个高级技巧 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit 你是否曾经在《植物大战僵尸》游戏中为阳光不足而烦恼?是否想要创…

2026/8/10 11:04:45

大模型辅助编程实战:从零生成贪吃蛇游戏

最近在探索大模型辅助编程时,我发现一个非常有趣的实践方向:让大模型来编写一个经典的贪吃蛇游戏。这不仅是测试大模型代码生成能力的绝佳案例,更能让我们直观地理解如何与大模型协作,将自然语言描述转化为可运行的程序。无论是想…

2026/8/10 11:04:45

Linux基本指令及知识点(二)

1.echo 空格 内容 >(目标文件)①.功能向目标文件进行写入操作。假如没有">(目标文件)",那么写入的目标文件就默认是屏幕,所以echo 空格 内容的作用就是将echo后跟的那串内容以字符串的形式打印出来:注意要用单引号!&am…

2026/8/10 10:59:45

OSPF IP FRR技术解析:实现网络50ms快速收敛

1. OSPF IP FRR技术解析:网络快速收敛的实战方案在网络工程师的日常运维中,链路故障导致的业务中断始终是令人头疼的问题。传统OSPF协议虽然能自动完成路由收敛,但30-40秒的恢复时间对现代业务来说仍然过长。IP FRR(Fast ReRoute&…

2026/8/9 0:01:56

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/10 5:09:58

当 LLM 遇见大文档:主流开源项目如何处理上下文超限

从 Agentic Loop 到 Repo Map,七种策略与六类陷阱引言:128K vs 10MB 的硬冲突 2026 年的 LLM 上下文窗口已达到 128K ~ 1M token(≈ 0.5MB ~ 4MB 文本),但 LLM 想要处理的真实数据规模远远超过这个量级:真实…

2026/8/10 0:04:00

# AI视频生成2026:多模态控制与工程化落地的技术跃迁

## AI视频生成2026:多模态控制与工程化落地的技术跃迁### 背景:从"抽卡"到"导演"的范式转移2024年,Sora的问世让AI视频生成首次进入公众视野,但彼时的技术被开发者戏称为"抽卡"——输入一段Prompt&…

2026/8/10 0:04:00

2026年五大AI编码CLI工具深度横评:从原理到实战选型指南

1. 项目概述:为什么我们需要对比AI编码CLI工具?如果你和我一样,每天有超过一半的时间是在终端里度过的,那么“效率”就是你最核心的追求。从最初的代码补全插件,到集成在IDE里的智能助手,再到如今能直接在命…

2026/8/7 9:44:18

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/7 19:03:32

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/9 15:24:19

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…