学习AI
文章平均质量分 86
科雷learning
纯是干货,不讲废话,欢迎志同道合的朋友一起学习进步
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
python AI自动化:为啥死磕Midscene.js的yaml执行方法?
自从在公司内部搭建好Midscene.js的AI自动化测试环境后,我们的WEB自动化已经大部分开始定定时让AI自动执行用例了,真实太惊艳了,完全超乎想象。测试人员工作量简单到只有2步:1)测试人员不写代码,不定位元素,只需要写符合Midscene.js框架的测试步骤(手工测试怎么做,自动化测试就怎么写)。2)测试人员在自动化平台上输入上述测试步骤,平台会自动调用封装好的http执行接口,将测试步骤json数据转为yaml文件,然后执行用例,测试人员只需要等待检查html测试报告。原创 2026-06-14 21:31:28 · 214 阅读 · 0 评论 -
豆包Midscene.js,摒弃传统元素定位,通过自然语言实现web测试自动化(谷歌插件使用指南)
安装配置篇,请直接参考之前的文章:Midscene.js - AI驱动,带来全新UI自动化体验(安装配置篇)官网介绍很详细:https://midscenejs.com/zh/introduction,有需要了解更多的直接参考官网介绍安装配置后,我们通过谷歌浏览的插件快速体验Midscene.js的功能。原创 2026-03-25 22:01:35 · 1142 阅读 · 0 评论 -
豆包Midscene.js,摒弃传统元素定位,通过自然语言实现web自动化:全新UI自动化体验(安装配置篇)
Midscene.js 是字节跳动开源的 AI 操作助手,适用于Web、移动端的自动化测试。它是基于多模态大语言模型,能让测试人员使用自然语言控制页面、执行断言以及提取 JSON 格式的数据。相比传统的UI自动化测试工具Selinium等采用元素定位方式,而且跟系统有较强的耦合性,而Midscene.js通过自然语言交互,极大降低了自动化测试门槛,非专业编程人员也能轻松开展 UI 自动化测试工作。性质:开源、跨平台的 JavaScript 运行环境。原创 2026-03-25 21:58:27 · 1366 阅读 · 0 评论 -
Python的re模块:正则表达式处理的魔法棒
(发愁)我想从一大段文本里找出所有邮箱地址,手动找太费劲了,有没有简便方法?:(挥舞魔法棒)re正则表达式作为高级的文本模式匹配、抽取、和搜索。简单地说,正则表达式(简称为 regex)是一些由字符和特殊符号组成的字符串,按照设定的匹配逻辑能够匹配一系列有相似特征的字符串。常用到到的表达式符号如下,将不同的符号组合为正则表达式。符号解释示例re1|re2匹配正则表达式 re1 或者 re2foo|bar匹配任何字符(除了\n 之外)b.b匹配字符串起始部分^Dear。原创 2025-05-17 09:13:22 · 1438 阅读 · 0 评论 -
Python的os模块:操作系统交互的得力助手
(苦恼)我想用 Python 获取当前目录下的所有文件,还想创建新文件夹,该怎么办呢?:(拿出魔法书)ososos.path。原创 2025-05-14 08:00:00 · 1157 阅读 · 0 评论 -
Python的enumerate 函数:遍历中的索引神器
(苦恼)我在遍历列表时,想知道每个元素的位置,只能用个计数器变量,好繁琐,有没有更简单的办法?:(掏出法宝)enumerate。原创 2025-05-13 08:15:00 · 2078 阅读 · 0 评论 -
Python 递归函数终极指南:从入门到精通
(抓狂)我的阶乘函数怎么报错RecursionError了?:(掏出镜子)原创 2025-05-11 08:22:34 · 837 阅读 · 0 评论 -
结合之前学习的python功能实现学生成绩的分析
(发愁)我要管理学生成绩数据,不仅要生成数据存到文件,后续还要读取分析,感觉一团糟,怎么破?:(递上代码秘籍)原创 2025-05-10 11:33:43 · 948 阅读 · 0 评论 -
Python CSV 模块通关秘籍:数据表格处理不求人
小白:(苦恼)我导出的CSV用Excel打开全是乱码!专家:(递上秘籍)(掏出魔法书)**编码问题!用utf-8-sigma保存!CSV后缀的文件是标准文件格式,可以通过文本编辑器或者excel表格打开,使用非常广泛;使用文本编辑器打开后,每一行都以英文逗号隔开。文本编辑器打开Excel表打开Python 内置了csv模块,无需额外安装,直接导入即可:2.常用函数速查表 函数 / 类名作用示例场景csv.reader按行读取 CSV 文件逐行解析日志文件csv.write原创 2025-05-10 11:29:39 · 1148 阅读 · 0 评论 -
[特殊字符] Python 随机魔法:从抽奖到加密的终极指南
(挠头)我写的抽奖程序每次结果都一样,是不是被诅咒了?:(掏出魔法骰子)掌握random模块,让程序充满惊喜!原创 2025-05-07 08:00:00 · 658 阅读 · 0 评论 -
Python包导入指南:从菜鸟到专家的import魔法
专家:python文件中设置了 __all__ 的值,那么则按照 __all__ 指定的子包或者模块进行加载。示例:定义A_B.py文件,__all__中增加A_B 和C_D函数,不包含E_F函数在A目录的__init__.py中通过from A_B import *时,E_F函数并不会被导入,上述执行后会报错。原创 2025-05-06 21:46:43 · 907 阅读 · 0 评论 -
Python JSON处理黑魔法:demjson库的隐藏技巧大公开
函数描述将Python对象编码成 JSON字符串将已编码的 JSON 字符串解码为Python对象将Python对象编码成 JSON文件将JSON文件解码为Python对象。原创 2025-04-24 19:30:00 · 807 阅读 · 0 评论 -
Python jsonpath库终极指南:json数据挖掘的精准导航仪
(抓狂)这个 JSON 数据有好多层嵌套,怎么快速拿到最里面的值?:(递上探测器)原创 2025-04-23 19:00:00 · 1195 阅读 · 0 评论 -
Python JSON 魔法手册:数据转换的终极艺术
自定义编码器user = User("小明", 18)在处理自定义类对象时,默认的 JSON 序列化方法会 “不知所措”。这时,我们自定义的user_encoder函数就像一位 “特殊翻译”,指导json.dumps如何将User对象转换成 JSON 格式,让数据能顺利在不同场景中流转。这两个函数的一些参数配置可使转换后的json数据更美观更容易阅读默认的参数如下:1)sort_keys参数(排序)如果传入sort_keys为True,转换为json时讲按照传入的字典进行排序。原创 2025-04-22 22:10:46 · 1035 阅读 · 0 评论 -
Python 集合操作大全:从入门到精通,新手学习避坑指南
s = {[1,2]} # ❌ 列表是可变对象,不能作为集合元素,会报错。s = {frozenset([1,2])} # ✅ 冻结集合是不可变的,可以作为集合元素。冻结集合一旦创建,其内容不可更改,哈希值固定,符合集合元素的条件。原创 2025-03-23 17:03:34 · 933 阅读 · 0 评论 -
Python 文件操作魔法手册:open 函数的终极艺术
1)file:传入不带路径的字符串(文本文件/二进制文件)或者带有绝对路径或者相对路径的文件。如果传入的文件不存在,默认会创建文件。如果传入的文件不合要求,会报错如下:2)mode:指明文件打开模式的可选字符串。默认为‘r’表示以文本模式读取。字符含意'r'只读取(默认);文件必须存在,否则会报错。'w'只写入,是覆盖式写入(比如第一次写入后,再次打开以w方式写入会覆盖原内容。'x'排它性创建,如果文件已存在则失败。如果文件不存在则创建,模式为写入,与'w'类似。'a'原创 2025-04-21 08:00:00 · 1435 阅读 · 0 评论 -
Python 内置函数大揭秘
(挠头):专家救命!Python 内置函数多得像星星,哪些才是必须掌握的呀?(微笑推眼镜):别慌!我们分类学习,每个类别挑最闪亮的 “恒星”。原创 2025-04-21 08:00:00 · 644 阅读 · 0 评论 -
Python 异常处理魔法手册:try - except 的终极艺术
当 Python 内置的异常类型不能满足需求时,可以自定义异常。先看下我们平常用到的异常比如AssertionError,SyntaxError,ZeroDivisionError,NameError等,在python的自带文件builtins.py中类似如下定义:每个异常类继承了父类Exception,看上去定义很简单。下面我们通过同一个示例来定义一个自定义的异常类,并在程序中抛出异常。举例:编写一个猜数字的小游戏,输入数字范围为1-100,当输入的数字不在该范围内时会抛出异常;原创 2025-04-18 08:45:00 · 1550 阅读 · 0 评论 -
Python推导式功能:一行代码搞定复杂逻辑
(抓狂)我写了 10 行循环,同事用 1 行就搞定了!:(掏出魔杖)!原创 2025-04-17 21:27:37 · 1202 阅读 · 0 评论 -
Python 迭代器与可迭代对象,还在傻傻分不清楚吗
小白:那我们可以自己定义可迭代对象和迭代器吗?专家:当然可以。要定义一个可迭代对象,我们需要在类中实现__iter__方法。如果要定义一个迭代器,除了__iter__方法,还需要实现__next__方法。举例:传入一个数字,返回被2整除的大于0的数字。print('调用了__iter__方法')print('调用了__next__方法')= 0:实例化后执行for循环#for循环自定义的迭代器print(i)#结果如下:调用了__iter__方法。原创 2025-04-17 21:25:07 · 842 阅读 · 0 评论 -
Python 匿名函数魔法手册:lambda
传统函数 vs lambdadef add(x, y): # 普通函数add = lambda x, y: x + y # lambda版本#也可以是一个lambda表达式,不赋予函数名专家提醒:lambda 本质是表达式,适合简单逻辑!它的结构紧凑,当你需要一个简单的函数,且不想专门定义一个冗长的def函数时,lambda 就派上用场了。比如在一些临时的、仅使用一次的函数场景中,lambda 能让代码更简洁。原创 2025-04-14 08:15:00 · 735 阅读 · 0 评论 -
Python 计时秘籍:有效测量函数执行时长
Python 计时秘籍:有效测量函数执行时长。原创 2025-04-14 08:00:00 · 632 阅读 · 0 评论 -
Python range 函数实用指南
小白:(献上膝盖)原来 range 这么强大!专家:(扶起小白)记住:range 是 Python 的序列生成神器!原创 2025-04-11 07:45:00 · 508 阅读 · 0 评论 -
Python 循环双雄:for 和 while 的终极对决
(抓狂)我写了for i in range(5): print(i),为什么只打印到 4?:(推眼镜)!想包含 5?用range(6)!原创 2025-04-10 21:50:06 · 639 阅读 · 0 评论 -
Python条件处理,新手入门到精通
在 Python 中,=是赋值运算符,==是比较运算符。条件判断时要用==,若误写为=会导致语法错误,因为条件判断需要布尔值,而x = 1是赋值操作,不是比较。=是赋值,==是比较,在条件判断时务必注意运算符的正确使用。字典可代替复杂的if-else,简化代码结构,提高代码可读性和维护性。any()和all()函数能有效简化条件判断,快速判断可迭代对象中元素是否满足特定条件。列表推导式结合条件,让代码更简洁高效,是 Pythonic 编程的重要体现。小白:懂了!我现在就用条件判断和循环重构代码!专家。原创 2025-03-25 22:03:38 · 1037 阅读 · 0 评论 -
Python 运算符大揭秘
print(1 + "1") # ❌ TypeError 在Python中,数字和字符串属于不同的数据类型,不能直接进行加法运算,会引发类型错误print(str(1) + "1") # → "11" 通过将数字1转换为字符串,再进行字符串拼接,可得到正确结果1. /返回float,//返回int,在进行除法运算时要注意结果的数据类型。2.链式比较让代码更简洁,能直观表达复杂的比较逻辑,提高代码可读性。3.短路求值提升性能,在逻辑运算中避免不必要的计算,尤其是在涉及函数调用等开销较大的操作时。原创 2025-03-25 21:56:25 · 321 阅读 · 0 评论 -
Python 字典从入门到精通,新手必看避坑指南
d = {[]: "value"} # ❌ 列表不能当键!因为列表可变,不满足字典键可哈希的要求d = {frozenset([1,2]): "value"} # ✅ 冻结集合可以,冻结集合是不可变的,可作为字典键1.字典是 Python 的瑞士军刀,功能强大且应用广泛。2.defaultdict 自动初始化,避免键不存在的错误,简化代码逻辑。3.Counter 统计频率神器,在文本处理、数据分析等场景非常实用。4.推导式让代码更 Pythonic,简洁高效,提升代码可读性与编写效率。小白:懂了!原创 2025-03-23 09:39:04 · 493 阅读 · 0 评论 -
Python 元组求生指南:不可变数据的终极奥义
t[0].append(3) # ✅ 这种操作虽然合法,但存在风险。因为元组中的列表是可变的,对其进行修改可能会导致意想不到的结果,尤其是在多线程或复杂程序中。# 正确做法:t = (tuple([1,2]), 3) # 将列表转换为元组,使其彻底不可变,增强数据的稳定性。元组就像是带枷锁的列表,其不可变性保证了数据的安全性和稳定性。解包语法是使用元组的核心技能,它让数据的处理更加便捷高效。命名元组可以作为简单类的替代方案,使代码更加简洁明了。原创 2025-03-15 18:12:48 · 540 阅读 · 0 评论 -
Python 列表:从入门到高阶,避坑 + 性能优化全攻略
浅拷贝陷阱b = a.copy() # 浅拷贝b[0][0] = 99 # a也变成[[99,2], [3,4]]# 正确解法:对于嵌套列表,使用copy()方法进行的是浅拷贝,只会复制外层列表,内层列表仍然是引用。所以修改b的内层列表元素,a也会跟着改变。正确做法是使用copy.deepcopy()进行深拷贝,这样能确保c拥有完全独立的数据。循环中删除元素nums.remove(x) # → [1,3] ❌ 漏删!# 正确解法:=0]在循环中直接删除列表元素会导致索引混乱,从而出现漏删的情况。原创 2025-03-15 18:09:02 · 921 阅读 · 0 评论 -
Python 字符串:从创建到索引,新手必看避坑指南
索引规则:索引从 0 开始,切片遵循左闭右开原则,牢记这一点,能有效避免索引越界错误。字符串特性:字符串具有不可变性,对其进行修改操作时,实际上是创建了一个新的字符串。常用函数汇总:熟练掌握查找、替换、分割、拼接、格式化、检查、填充对齐、计算长度、重复、编码解码等常用函数,能极大提高字符串处理效率。转义字符处理:遇到需要保留\字符的情况,使用r前缀将字符串声明为原始字符串,可避开转义字符陷阱。小白:懂了!我现在就去把字符串代码在撸一遍!专家(竖起大拇指):下次我们讲【列表操作秘籍】,关注不迷路!原创 2025-03-13 21:20:01 · 1255 阅读 · 0 评论 -
Python数字暗战:int和float计算,新手避坑必读
✅ 基础定义age = 18 #从上述代码可以清晰看出,int 类型用于表示整数,而 float 类型则用于表示带有小数部分的数字。永远别用 == 直接比较浮点数:由于浮点数的精度问题,直接使用 “==” 比较很可能得到错误的结果。正确的做法是使用 abs (a - b) < 1e - 9 这种方式来判断两个浮点数是否近似相等。超大整数用 int,float 会溢出print(10**1000) # ✅ 合法(int无限精度)print(10.0**1000) # ❌ 直接炸裂(float溢出)原创 2025-03-10 22:23:56 · 952 阅读 · 0 评论 -
Python 变量起名全攻略:新手避坑与大神指南
见名知意:a = 10 → retry_count = 10,清晰表达变量含义。长度适中:tmp 用于临时变量,customer_payment_date 用于重要数据,根据变量用途确定合适长度。拒绝魔法:别用 l(小写 L)、O(大写 o)等易混淆字母,避免潜在错误。小白:懂了!我现在就去把 a, b, c 改成 price, count, total!专家:(竖起拇指)优秀的变量名是最好的注释!下期揭秘【数字类型(int/float)】,关注我的人代码永远不报错!原创 2025-03-10 22:21:16 · 698 阅读 · 0 评论 -
DeepSeek助力普通人破局指南
没有具体案例,无图无真项,毕竟成功不是那么容易和复制的,但我们得先行动起来,只有跑的快的才有可能到达终点,或者至少不被落下;我们不制造焦虑,只为自己心安而已。原创 2025-03-04 22:35:08 · 856 阅读 · 0 评论 -
解锁高效编程:PyCharm 接入 DeepSeek 最新实操全攻略
DeepSeek作为一款强大的AI模型,在AI编程领域崭露头角。它采用6710亿参数的MoE(混合专家)架构,具备卓越的性能。每秒可达60个Token的处理速度,使其能够快速响应用户需求。作为AI编程助手,DeepSeek拥有丰富的代码知识储备,能理解各种编程相关的问题。无论是复杂的算法设计,还是基础的语法纠错,它都能提供精准有效的回答。其开源免费的特性,更是吸引了众多开发者。这意味着开发者无需支付高昂的使用费用,就能借助其强大功能提升编程效率,为编程工作带来极大的便利。原创 2025-03-04 22:15:49 · 2484 阅读 · 4 评论
分享