Python函数通关攻略:14道实战练习题带你从入门到精通
从函数基础到学生管理系统一篇博客搞定Python函数所有核心知识点 写在前面大家好在学习Python的过程中函数是一个无论如何都绕不开的核心概念。很多小伙伴学完函数理论后一上手写代码就懵了——形参实参分不清、默认参数不会用、深浅拷贝傻傻分不清楚……今天我为大家准备了14道精心设计的函数练习题涵盖从基础概念到综合实战的全部知识点。每道题都配有完整代码和详细解析跟着练完你的Python函数功力绝对能上一个台阶建议先自己尝试写代码遇到困难再参考答案效果翻倍 知识点概览题号知识点难度1函数定义、调用、形参、实参、返回值⭐2默认参数、位置参数、关键字参数、可变参数⭐⭐3参数合法性校验⭐⭐4求最大值⭐5质数判断与质数组⭐⭐⭐6深浅拷贝与等号赋值⭐⭐⭐7阶乘求和while版本⭐⭐8最小公倍数与最大公约数while版本⭐⭐9斐波那契数列⭐⭐10登录系统三次尝试⭐⭐11回文字符串判断⭐12冒泡排序⭐⭐13质数对while版本⭐⭐⭐14学生管理系统增删改查⭐⭐⭐⭐ 题目一函数基础概念验证目标编写函数验证定义、调用、形参、实参、返回值代码实现python# 1. 函数定义使用 def 关键字括号内为形参 def greet(name): # name 是形参形式参数只是一个占位符 这是一个简单的问候函数 return f你好{name} # return 返回结果 # 2. 函数调用函数名加上括号括号内传入实参 result greet(小明) # 小明 是实参实际参数是真正传入的值 print(result) # 输出你好小明 # 3. 无返回值函数返回 None def show_message(msg): print(f消息{msg}) # 没有 return默认返回 None show_message(Hello World!) 知识点解析形参定义函数时括号里的参数如def greet(name)中的name没有实际值只是占位实参调用函数时传入的参数如greet(小明)中的小明是实实在在的值返回值使用return语句返回结果没有return则返回None调用通过函数名(参数)的方式执行函数 题目二函数参数类型全验证目标验证默认参数、位置参数、关键字参数、可变参数元组、字典代码实现python# 1. 位置参数按顺序传入数量必须匹配 def pos_params(a, b, c): print(f位置参数a{a}, b{b}, c{c}) pos_params(1, 2, 3) # 按位置传入 # 2. 关键字参数通过 参数名值 的方式传入顺序可打乱 def key_params(name, age): print(f关键字参数name{name}, age{age}) key_params(age25, name张三) # 顺序可以不同[reference:4] # 3. 默认参数定义时给参数设置默认值 def default_params(name, age18): # age 有默认值 print(f默认参数name{name}, age{age}) default_params(李四) # 使用默认值 18 default_params(王五, 22) # 覆盖默认值[reference:5] # 4. 可变位置参数 *args接收任意数量的位置参数打包成元组 def variable_args(*args): print(f可变位置参数元组{args}) print(f参数个数{len(args)}) variable_args(1, 2, 3, 4, 5) # 输出(1, 2, 3, 4, 5)[reference:6] # 5. 可变关键字参数 **kwargs接收任意数量的关键字参数打包成字典 def variable_kwargs(**kwargs): print(f可变关键字参数字典{kwargs}) for key, value in kwargs.items(): print(f {key} {value}) variable_kwargs(name小明, age20, city北京)[reference:7] # 6. 混合使用注意顺序位置参数 → 默认参数 → *args → **kwargs def mixed_params(a, b10, *args, **kwargs): print(fa{a}, b{b}, args{args}, kwargs{kwargs}) mixed_params(1, 20, 3, 4, 5, nametest, value100) 知识点解析Python支持多种参数类型位置参数、默认参数、可变参数和关键字参数。参数定义的顺序必须是位置参数 → 默认参数 → 可变参数*args→ 关键字参数kwargs**。 题目三学生信息合法性校验目标编写三个函数分别获取学生姓名、年纪、性别并校验合法性代码实现pythondef get_valid_name(): 获取并校验学生姓名不能为空只能包含中英文 while True: name input(请输入学生姓名).strip() if not name: print(❌ 姓名不能为空请重新输入) continue # 检查是否只包含中英文简单校验 if all(c.isalpha() or \u4e00 c \u9fff for c in name): return name print(❌ 姓名只能包含中英文字符请重新输入) def get_valid_age(): 获取并校验学生年纪1-100之间的整数 while True: try: age int(input(请输入学生年纪)) if 1 age 100: return age print(❌ 年纪必须在1-100之间请重新输入) except ValueError: print(❌ 请输入有效的数字) def get_valid_gender(): 获取并校验学生性别只能为男或女 while True: gender input(请输入学生性别男/女).strip() if gender in [男, 女]: return gender print(❌ 性别只能输入男或女请重新输入) # 测试 if __name__ __main__: name get_valid_name() age get_valid_age() gender get_valid_gender() print(f\n✅ 学生信息录入成功姓名{name}年纪{age}性别{gender}) 题目四求n个数字中的最大值目标编写函数求输入n个数字中的最大值代码实现pythondef find_max(*numbers): 求任意数量数字中的最大值不使用内置max函数 if not numbers: return None max_val numbers[0] for num in numbers: if num max_val: max_val num return max_val # 测试 print(find_max(3, 7, 2, 9, 5)) # 输出9 print(find_max(10, 20, 30)) # 输出30 print(find_max(5)) # 输出5 print(find_max()) # 输出None 题目五质数判断与质数组目标判断一个数字是否是质数求a到b之间相差为c的三个质数组成的质数组代码实现pythondef is_prime(n): 判断一个数字是否为质数 if n 2: return False for i in range(2, int(n ** 0.5) 1): if n % i 0: return False return True def find_prime_triplet(a, b, c): 求a到b之间相差为c的三个质数组成的质数组 例如a2, b50, c6 → (5, 11, 17) 因为 5,11,17 都是质数且相差6 result [] for i in range(a, b - 2 * c 1): if is_prime(i) and is_prime(i c) and is_prime(i 2 * c): result.append((i, i c, i 2 * c)) return result # 测试 print(is_prime(17)) # True print(is_prime(18)) # False triplets find_prime_triplet(2, 50, 6) print(f相差为6的质数组{triplets}) # 输出示例[(5, 11, 17), (7, 13, 19), (11, 17, 23), (17, 23, 29), (31, 37, 43), (37, 43, 49)] 题目六深浅拷贝验证目标使用列表嵌套、字典嵌套案例验证深浅拷贝与等号赋值代码实现pythonimport copy # 准备一个嵌套数据结构列表中嵌套字典 original [ {name: 小明, score: 90}, {name: 小红, score: 85}, {name: 小刚, score: 78} ] print( * 50) print(原始数据, original) # 1. 等号赋值直接复制引用完全共享同一个对象[reference:10] print(\n【等号赋值】) assigned original assigned[0][score] 100 # 修改嵌套内容 assigned.append({name: 小李, score: 95}) # 修改外层 print(原始数据, original) print(赋值数据, assigned) print(✅ 结论等号赋值是引用传递修改一个另一个同步变化) # 2. 浅拷贝外层独立嵌套层共享[reference:11] print(\n【浅拷贝】) shallow copy.copy(original) shallow[1][score] 60 # 修改嵌套内容 → 影响原始数据 shallow[0] {name: 替换, score: 0} # 修改外层 → 不影响原始数据 print(原始数据, original) print(浅拷贝数据, shallow) print(✅ 结论浅拷贝外层独立嵌套层共享) # 3. 深拷贝完全独立互不影响[reference:12] print(\n【深拷贝】) deep copy.deepcopy(original) deep[2][score] 50 # 修改嵌套内容 → 不影响原始数据 deep.append({name: 新学生, score: 100}) # 修改外层 → 不影响原始数据 print(原始数据, original) print(深拷贝数据, deep) print(✅ 结论深拷贝完全独立互不影响) # 总结对比 print(\n * 50) print(【三者区别总结】) print(等号赋值 直接引用同步修改) print(浅拷贝 外层独立嵌套层共享) print(深拷贝 完全独立互不影响) 知识点解析等号赋值直接复制对象的地址引用两者完全等同修改其中一个另一个同步变化浅拷贝创建新容器但共享嵌套对象的引用修改嵌套对象会影响原对象深拷贝递归复制所有层级确保完全独立互不影响 题目七阶乘求和while版本目标求数字的阶乘和如 5! 4! 3! 2! 1!代码实现pythondef factorial_sum(n): 求 1! 2! 3! ... n! 的和使用 while 循环 total 0 i 1 while i n: # 计算 i 的阶乘 fact 1 j 1 while j i: fact * j j 1 total fact i 1 return total # 测试 n 5 result factorial_sum(n) print(f{n}! {n-1}! ... 1! {result}) # 5!4!3!2!1! 153 # 验证120 24 6 2 1 153 # 更高效的方式利用上一个阶乘 def factorial_sum_optimized(n): 优化版本利用前一个阶乘计算下一个 total 0 fact 1 i 1 while i n: fact * i # fact 现在等于 i! total fact i 1 return total print(f优化版本结果{factorial_sum_optimized(5)}) # 153 题目八最小公倍数与最大公约数while版本目标求两个数的最小公倍数与最大公约数代码实现pythondef gcd(a, b): 求最大公约数辗转相除法while版本 while b ! 0: a, b b, a % b return a def lcm(a, b): 求最小公倍数 return a * b // gcd(a, b) # 测试 a, b 12, 18 print(f{a} 和 {b} 的最大公约数{gcd(a, b)}) # 6 print(f{a} 和 {b} 的最小公倍数{lcm(a, b)}) # 36 # 验证12 和 18 的公约数有 1,2,3,6 → 最大为 6 # 12 和 18 的公倍数有 36,72,... → 最小为 36 题目九斐波那契数列目标求斐波那契数列的第n个数字的值代码实现pythondef fibonacci(n): 求斐波那契数列的第 n 个数字 斐波那契数列1, 1, 2, 3, 5, 8, 13, 21, ... if n 0: return 0 if n 1 or n 2: return 1 a, b 1, 1 i 3 while i n: a, b b, a b i 1 return b # 测试 for i in range(1, 11): print(ffib({i}) {fibonacci(i)}) # 输出1, 1, 2, 3, 5, 8, 13, 21, 34, 55 题目十简单登录系统目标实现一个简单的登录系统用户名密码验证最多三次尝试机会代码实现pythondef login_system(): 简单的登录系统最多三次尝试 # 预设用户名和密码 correct_username admin correct_password 123456 max_attempts 3 attempts 0 while attempts max_attempts: username input(请输入用户名) password input(请输入密码) if username correct_username and password correct_password: print(✅ 登录成功欢迎回来) return True else: attempts 1 remaining max_attempts - attempts if remaining 0: print(f❌ 用户名或密码错误还剩 {remaining} 次机会) else: print(❌ 三次尝试均已失败账户已锁定) return False # 运行登录系统 if __name__ __main__: login_system() 题目十一回文字符串判断目标判断字符串是否回文正读反读都一样代码实现pythondef is_palindrome(s): 判断字符串是否为回文 # 方法一双指针 left, right 0, len(s) - 1 while left right: if s[left] ! s[right]: return False left 1 right - 1 return True def is_palindrome_simple(s): 判断字符串是否为回文简化版 return s s[::-1] # 测试 test_strings [racecar, hello, 上海自来水来自海上, Python] for s in test_strings: print(f{s} 是回文吗{is_palindrome(s)}) # racecar → True # hello → False # 上海自来水来自海上 → True # Python → False 题目十二冒泡排序目标使用冒泡排序对列表进行排序代码实现pythondef bubble_sort(arr): 冒泡排序重复扫描待排序序列比较每一对相邻元素 顺序不正确时进行交换[reference:16] n len(arr) # 复制一份避免修改原列表 result arr.copy() for i in range(n - 1): # 每轮将最大的元素冒泡到最后 swapped False for j in range(n - 1 - i): if result[j] result[j 1]: result[j], result[j 1] result[j 1], result[j] swapped True # 如果没有发生交换说明已经有序 if not swapped: break return result # 测试 original [1, 5, 2, 9, 3, 7, 6] sorted_list bubble_sort(original) print(f原始列表{original}) print(f排序结果{sorted_list}) # 输出[1, 2, 3, 5, 6, 7, 9] 题目十三质数对while版本目标判断一个数字是否是质数求a到b之间相差为c的质数对代码实现pythondef is_prime_while(n): 判断质数使用 while 循环 if n 2: return False i 2 while i * i n: if n % i 0: return False i 1 return True def find_prime_pairs(a, b, c): 求 a 到 b 之间相差为 c 的质数对使用 while 循环 例如a2, b50, c6 → (5,11), (7,13), (11,17), (13,19), (17,23), (23,29), (31,37), (37,43), (41,47) result [] i a while i b - c: if is_prime_while(i) and is_prime_while(i c): result.append((i, i c)) i 1 return result # 测试 pairs find_prime_pairs(2, 50, 6) print(f2到50之间相差为6的质数对{pairs}) # 输出[(5, 11), (7, 13), (11, 17), (13, 19), (17, 23), (23, 29), (31, 37), (37, 43), (41, 47)] 题目十四学生管理系统增删改查目标函数版本实现学生管理系统实现增删改查功能代码实现python 学生管理系统 - 函数版本 功能 1. 添加学生信息编号自动生成从101开始 2. 查看所有学生信息 3. 查看指定学生信息按id查询 4. 修改学生信息按id修改 5. 删除指定学生按id删除 0. 退出系统 # 存储所有学生信息每个学生是一个字典 students [] next_id 101 # 第一个学生id为101 def show_menu(): 显示系统菜单 print(\n * 40) print( 学生管理系统) print( * 40) print( 1. 添加学生信息) print( 2. 查看所有学生信息) print( 3. 查看指定学生信息) print( 4. 修改学生信息) print( 5. 删除指定学生) print( 0. 退出系统) print( * 40) def add_student(): 添加学生信息 global next_id print(\n【添加学生信息】) name input(请输入学生姓名).strip() if not name: print(❌ 姓名不能为空) return try: age int(input(请输入学生年纪)) if age 1 or age 100: print(❌ 年纪必须在1-100之间) return except ValueError: print(❌ 请输入有效的数字) return gender input(请输入学生性别男/女).strip() if gender not in [男, 女]: print(❌ 性别只能为男或女) return # 创建学生信息字典 student { id: next_id, name: name, age: age, gender: gender } students.append(student) print(f✅ 学生添加成功学号为{next_id}) next_id 1 def show_all_students(): 查看所有学生信息 if not students: print( 当前没有学生信息) return print(\n【所有学生信息】) print(- * 50) print(f{学号:6} {姓名:10} {年纪:6} {性别:6}) print(- * 50) for stu in students: print(f{stu[id]:6} {stu[name]:10} {stu[age]:6} {stu[gender]:6}) print(- * 50) print(f共 {len(students)} 名学生) def find_student_by_id(student_id): 根据id查找学生返回学生对象和索引 for index, stu in enumerate(students): if stu[id] student_id: return stu, index return None, -1 def show_student(): 查看指定学生信息 try: student_id int(input(请输入要查询的学生学号)) except ValueError: print(❌ 请输入有效的学号) return stu, _ find_student_by_id(student_id) if stu: print(f\n 学号{stu[id]}) print(f 姓名{stu[name]}) print(f 年纪{stu[age]}) print(f 性别{stu[gender]}) else: print(f❌ 未找到学号为 {student_id} 的学生) def update_student(): 修改学生信息 try: student_id int(input(请输入要修改的学生学号)) except ValueError: print(❌ 请输入有效的学号) return stu, index find_student_by_id(student_id) if not stu: print(f❌ 未找到学号为 {student_id} 的学生) return print(f当前信息姓名{stu[name]}, 年纪{stu[age]}, 性别{stu[gender]}) print(直接回车表示不修改) new_name input(请输入新姓名).strip() if new_name: stu[name] new_name try: age_input input(请输入新年纪).strip() if age_input: new_age int(age_input) if 1 new_age 100: stu[age] new_age else: print(❌ 年纪必须在1-100之间未修改年纪) except ValueError: print(❌ 请输入有效的数字未修改年纪) new_gender input(请输入新性别男/女).strip() if new_gender in [男, 女]: stu[gender] new_gender elif new_gender: print(❌ 性别只能为男或女未修改性别) print(f✅ 学号为 {student_id} 的学生信息已更新) def delete_student(): 删除指定学生 try: student_id int(input(请输入要删除的学生学号)) except ValueError: print(❌ 请输入有效的学号) return stu, index find_student_by_id(student_id) if not stu: print(f❌ 未找到学号为 {student_id} 的学生) return # 确认删除 confirm input(f确定要删除学生 {stu[name]}学号{student_id}吗(y/n)) if confirm.lower() y: students.pop(index) print(f✅ 学号为 {student_id} 的学生已删除) else: print(已取消删除) def main(): 主程序 while True: show_menu() choice input(请选择操作输入数字).strip() if choice 1: add_student() elif choice 2: show_all_students() elif choice 3: show_student() elif choice 4: update_student() elif choice 5: delete_student() elif choice 0: print( 感谢使用学生管理系统再见) break else: print(❌ 无效选择请重新输入) if __name__ __main__: main() 总结通过这14道练习题我们系统地学习了Python函数的各个核心知识点知识模块对应题目函数基础定义、调用、形参、实参、返回值题目一参数类型默认、位置、关键字、可变参数题目二输入校验题目三算法基础最大值、质数、阶乘、公约数、斐波那契题目四、五、七、八、九数据结构深浅拷贝、列表操作题目六、十二字符串处理回文题目十一综合实战登录系统、学生管理系统题目十、十四函数是Python模块化编程的基石掌握好函数你就能写出更简洁、更可维护的代码。希望这篇博客能帮助你在Python函数学习的道路上更进一步完整代码所有代码已整合到一个Python文件中可以直接运行测试。如果你觉得这篇文章对你有帮助欢迎点赞、收藏、转发有问题也可以在评论区留言我会尽快回复

相关新闻

政府采购平台怎么选不踩坑:3类企业适配方案整理

政府采购平台怎么选不踩坑:3类企业适配方案整理

本文速览本文针对小微企业、中型企业、大型企业三类不同规模的市场主体,梳理政府采购平台选型核心需求与预算区间,对比4款主流平台的核心功能、价格体系与适配人群,给出分场景适配方案及避坑指南,覆盖不同预算区间的招投标需求&am…

2026/7/24 12:44:45阅读更多 →
基于BERT的情感分析实战:从模型选型到部署优化

基于BERT的情感分析实战:从模型选型到部署优化

1. 项目概述:基于BERT的情感分析实战三年前接手一个电商评论分析需求时,我首次尝试用BERT做情感分析。当时用传统方法准确率卡在82%死活上不去,换成BERT微调后直接飙到91%,从此这柄NLP领域的"瑞士军刀"就成了我的主力工…

2026/7/24 12:44:45阅读更多 →
计算机Django毕设实战-基于 Python Web 的警务日常办公管理系统 基层派出所警务信息登记与查询系统设计【完整源码+LW+部署说明+演示视频,全bao一条龙等】

计算机Django毕设实战-基于 Python Web 的警务日常办公管理系统 基层派出所警务信息登记与查询系统设计【完整源码+LW+部署说明+演示视频,全bao一条龙等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/24 12:42:45阅读更多 →
MPS、MRP与APS:企业生产管理的三大核心系统

MPS、MRP与APS:企业生产管理的三大核心系统

1. 引言在现代制造业中,高效的生产计划和资源管理是企业保持竞争力的关键。MPS(主生产计划)、MRP(物料需求计划)和APS(高级计划与排程)作为企业资源计划(ERP)系统的核心组…

2026/7/24 14:21:15阅读更多 →
APS与ERP中的MRP执行决策:关键考量因素

APS与ERP中的MRP执行决策:关键考量因素

1. MRP的核心作用与流程物料需求计划(MRP)是制造业资源规划的核心模块,其核心流程是:需求输入:接收主生产计划(MPS)或独立需求。净需求计算:将总需求与现有库存、在途库存、安全库存…

2026/7/24 14:21:15阅读更多 →
CC1020窄带射频收发器硬件设计:从原理图到PCB布局的实战指南

CC1020窄带射频收发器硬件设计:从原理图到PCB布局的实战指南

1. 项目概述与核心价值在无线通信系统的开发中,射频收发器的硬件设计往往是决定项目成败的关键一环。它不像软件,可以后期通过OTA升级来修复Bug;一旦PCB打样回来,射频性能不达标,轻则导致通信距离大幅缩水,…

2026/7/24 14:21:15阅读更多 →
RynnWorld-Teleop:一种用于数字遥操作的动作条件世界模型

RynnWorld-Teleop:一种用于数字遥操作的动作条件世界模型

26年6月来自阿里达摩院、香港具身智能实验室、港中文、阿里湖畔实验室和蚂蚁集团的论文“RynnWorld-Teleop: An Action-Conditioned World Model for Digital Teleoperation”。 扩展机器人学习规​​模需要海量且多样化的轨迹数据,但目前数据采集受限于物理遥操作模…

2026/7/24 14:21:15阅读更多 →
我的C语言入门之路

我的C语言入门之路

编程是一场长期的底层修行。现阶段我正式开启C语言系统学习,并以博客记录自己的学习全过程。一方面用于自我复盘,沉淀知识点、总结踩坑经验;另一方面也希望我的自学规划和实操方法,能给零基础备考、深耕编程的同学提供一份可落地的…

2026/7/24 14:21:15阅读更多 →
第04章 初始化程序(5):按下 Ctrl+C 的连锁反应 —— 拆解进程组、会话期与控制终端

第04章 初始化程序(5):按下 Ctrl+C 的连锁反应 —— 拆解进程组、会话期与控制终端

引子:当我们在命令行中按下 “CtrlC” 时,究竟发生了什么? 假设你已经成功登录进了 Linux 0.11 系统,你迫不及待地想在终端里试一试新学到的管道命令。于是你输入了: [plinux root]# cat main.c | grep for | more 然后…

2026/7/24 14:19:14阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 0:58:53阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 0:58:53阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 0:58:53阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:06阅读更多 →
【LeetCode 54】螺旋矩阵

【LeetCode 54】螺旋矩阵

问题描述: 解法: 1、模拟(参考自【LeetCode 54】螺旋矩阵-CSDN博客) int *spiralOrder(int **matrix, int matrixSize, int *matrixColSize, int *returnSize) {static const int dirs[4][2] {{0, 1}, {1, 0}, {0, -1}, {-1, …

2026/7/24 0:00:06阅读更多 →
2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

知春路不相信模型领先今年WAIC大会,昔日AI六小龙来了五家,分别是Kimi、阶跃星辰、Minimax、百川智能、零一万物。连放弃基模的百川和零一万物都来了,唯一缺席的竟是近几个月来风光无限的智谱。(DeepSeek一直不参加)WAI…

2026/7/24 0:00:06阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/23 22:58:43阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/23 18:58:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/23 18:58:18阅读更多 →