典故大全
历史典故/出处/释义/故事
关于本工具
了解工具定位 · 使用场景 · 对比优势
使用场景
学生作文引用
中学生写议论文时,想引用“卧薪尝胆”或“破釜沉舟”等典故来论证“坚持”或“决心”,但记忆模糊、出处不清。本工具输入关键词即可查到完整典故、出处原文及现代释义,确保引用准确、故事细节充实,提升作文的文化深度与说服力。
自媒体内容创作
短视频或图文创作者需要快速为“负荆请罪”“纸上谈兵”等典故配上一段通俗易懂的故事和出处,但手动查书耗时且易出错。本工具一键输出典故原文、释义及白话故事,可直接用于脚本或文案,节省查阅时间,保证内容权威性。
导游讲解准备
带团游览历史景点时,游客常问“这里发生过什么典故”,如“邯郸学步”或“完璧归赵”。导游用本工具提前输入相关地名或人物,获取典故全貌与出处,结合现场场景即兴讲解,提升讲解的专业性与趣味性,避免临时回忆的尴尬。
日常社交谈资
聚会或聊天时,朋友提到“东施效颦”,想接话但怕说错意思。本工具快速查证该典故的出处(《庄子·天运》)和正确寓意,避免误用为“模仿美”而实际是“盲目模仿反显丑”,让社交对话更得体、有文化底蕴。
语文备课辅助
语文老师备课时,需为“刻舟求剑”等课文中的典故补充背景故事与出处原文,但教材注释简略。本工具提供完整典故原文、释义及历史语境,帮助老师设计课堂互动问题,如“为何求剑者会犯这种错误”,提升课堂深度。
对比矩阵本工具 vs 竞品 vs 传统方法
| 维度 | 本工具 | 竞品 A(古诗文网) | 传统方法(翻阅纸质书) |
|---|---|---|---|
| 数据隐私 | 纯浏览器处理,无数据上传 | 需联网访问服务器 | 无数据泄露风险,但需人工查阅 |
| 处理速度 | 即时响应,< 1 秒 | 2-5 秒(含网络请求) | 数分钟至数小时(取决于资料储备) |
| 离线可用 | 支持,加载后断网可用 | 不支持,必须联网 | 完全离线 |
| 查询方式 | 输入关键词即可检索 | 需在站内搜索框输入 | 依赖索引目录或记忆翻阅 |
| 内容覆盖 | 精选常见典故,侧重释义与故事 | 收录极广,含诗词原文与古籍 | 受限于藏书,覆盖不全 |
| 使用成本 | 免费 | 免费(有广告) | 需购买或借阅书籍 |
| 检索灵活性 | 支持典故名、人物、关键词模糊匹配 | 支持关键词搜索,但结果混杂 | 仅能通过目录或已知出处查找 |
使用指南
上手步骤 · 输入输出 · 避坑提示
输入输出示例7 个典型场景,覆盖常规、边界与易错
| 输入 | 输出 | 说明 |
|---|---|---|
| 卧薪尝胆 | 【出处】《史记·越王勾践世家》 【释义】卧:睡;薪:柴草;胆:苦胆。睡在柴草上,品尝苦胆。形容刻苦自励,发奋图强。 【故事】春秋时期,吴国和越国交战,越国战败。越王勾践被俘后,被吴王夫差羞辱。回国后,勾践立志报仇,他睡在柴草上,并在房梁上挂一颗苦胆,每天吃饭前都要尝一尝苦胆的味道,提醒自己不忘亡国之耻。经过十年生聚,十年教训,越国终于强大起来,最终灭掉了吴国。 | 典型场景:最常被查询的成语典故之一 |
| 破釜沉舟 | 【出处】《史记·项羽本纪》 【释义】釜:锅;舟:船。打破饭锅,凿沉渡船。比喻下决心不顾一切地干到底。 【故事】秦朝末年,秦军包围了赵国巨鹿。楚怀王派宋义和项羽救援赵国。宋义畏缩不前,项羽杀死宋义,率军渡过漳河。过河后,项羽命令士兵凿沉所有渡船,砸破所有饭锅,烧掉营帐,只带三天干粮,以示决一死战。楚军士气大振,最终大败秦军。 | 典型场景:军事类典故,常与背水一战混淆 |
| 负荆请罪 | 【出处】《史记·廉颇蔺相如列传》 【释义】负:背着;荆:荆条。背着荆条向对方请罪。表示向人认错赔罪。 【故事】战国时期,赵国大将廉颇不满蔺相如位居自己之上,多次扬言要羞辱他。蔺相如为顾全大局,处处回避。廉颇得知蔺相如的苦心后,深感惭愧,便脱去上衣,背上荆条,到蔺相如府上跪地请罪。两人从此结为刎颈之交。 | 典型场景:将相和故事,包含完整人物关系 |
| 叶公好龙 | 【出处】汉·刘向《新序·杂事五》 【释义】叶公:春秋时楚国贵族,名子高,封于叶(今河南叶县)。比喻口头上说爱好某事物,实际上并不真的爱好。 【故事】叶公非常喜欢龙,家里到处都雕刻着龙。天上的真龙听说后,很受感动,便来到叶公家,把头伸进窗户,尾巴拖在厅堂。叶公看到真龙,吓得魂飞魄散,转身就跑。原来他喜欢的只是像龙而不是真龙。 | 易错 case:叶公的叶读 shè,非 yè |
| 韦编三绝 | 【出处】《史记·孔子世家》 【释义】韦:熟牛皮;编:编连竹简的皮绳;三:多次;绝:断。编连竹简的皮绳断了多次。比喻读书勤奋。 【故事】孔子晚年喜欢读《周易》,因为反复翻阅,编连竹简的牛皮绳被磨断了好几次。孔子说:“如果再给我几年时间,我就能把《周易》的文辞和义理都弄明白了。” | 边界 case:三在古代常表示多次,非确数 |
| 守株待兔 | 【出处】《韩非子·五蠹》 【释义】株:露出地面的树根。比喻死守狭隘经验,不知变通,或妄想不劳而获。 【故事】宋国有一个农夫,一天在田里干活时,看到一只兔子飞奔过来,一头撞在田边的树桩上,折断脖子死了。农夫不费力气就得到了兔子。从此他放下农具,天天守在树桩旁,希望再捡到撞死的兔子。结果兔子没等到,田地却荒废了。 | 易错 case:常被误写为守株待兔(株非猪) |
| 画蛇添足 | 【出处】《战国策·齐策二》 【释义】画蛇时给蛇添上脚。比喻做了多余的事,非但无益,反而不合适。 【故事】楚国有个贵族,祭祀后赏给门客一壶酒。门客们商量:几个人喝不够,不如在地上画蛇,谁先画完谁喝酒。一人先画完,他左手拿壶,右手继续给蛇画脚。还没画完,另一人画完蛇,夺过酒壶说:“蛇本来没有脚,你怎么能给它画脚呢?”于是喝了那壶酒。 | 边界 case:故事本身包含逻辑推理(蛇无足) |
常见错误对照7 个常踩的坑 · 错误 → 修复
1. 把现代网络流行语当典故搜索
输入「yyds」「破防」「内卷」输入「卧薪尝胆」「负荆请罪」「刻舟求剑」典故指有明确古籍出处的历史故事或成语,网络流行语无典籍记载,工具无法匹配。
2. 输入完整白话故事而非典故名称
输入「一个年轻人把木头刻成记号找剑的故事」输入「刻舟求剑」工具按典故名称(成语/短语)索引,不进行语义搜索;白话描述无法命中数据库。
3. 混淆典故名称与人物名
输入「诸葛亮」「关羽」输入「三顾茅庐」「刮骨疗毒」人物名不直接对应典故条目;工具收录的是以人物行为命名的故事,而非人物生平。
4. 输入带标点符号的典故名称
输入「刻舟求剑。」或「刻舟求剑!」输入「刻舟求剑」典故名称作为查询键时不含标点;额外标点会导致精确匹配失败。
5. 输入多义词或非典故成语
输入「七上八下」「乱七八糟」输入「画蛇添足」「守株待兔」工具仅收录有完整故事背景的典故类成语,纯数字/程度类成语无典籍出处,不在收录范围。
6. 输入繁体字或异体字
输入「刻舟求劍」(繁体)输入「刻舟求剑」(简体)数据库索引基于简体中文,繁体/异体字无法匹配;建议使用标准简体输入。
7. 输入典故名称时带空格
输入「刻 舟 求 剑」输入「刻舟求剑」空格被视为查询字符串的一部分,导致精确匹配失败;典故名称内部无空格。
工作原理
公式推导 · 流程图解 · 依据出处
核心公式
匹配度 = (关键词命中数 / 总关键词数) × 100%
变量说明
匹配度— 典故与查询关键词的匹配百分比关键词命中数— 查询词在典故文本中出现的次数总关键词数— 用户输入的关键词总数
示例
用户输入关键词「卧薪尝胆 越王 勾践」,典故库中一条记录包含「卧薪尝胆」「勾践」两个词。总关键词数=3,命中数=2,匹配度=2/3×100%≈66.7%。工具按匹配度降序返回结果,优先展示66.7%的典故。
适用范围
适用于典故大全工具的关键词匹配排序逻辑。仅对精确关键词有效,同义词/近义词不纳入计算(如「勾践」≠「句践」)。数据来源:工具内置典故库分词索引。
原理图
开发者集成
3 种主流语言 · 复制即用
import json
import random
# 本地典故数据(模拟后端查询)
ALLUSIONS = {
"卧薪尝胆": {
"source": "《史记·越王勾践世家》",
"era": "春秋",
"meaning": "形容刻苦自励,发愤图强",
"story": "越王勾践被吴国打败后,睡柴草、尝苦胆,最终复国。"
},
"破釜沉舟": {
"source": "《史记·项羽本纪》",
"era": "秦末",
"meaning": "比喻下决心不顾一切地干到底",
"story": "项羽率军渡河后凿沉船只,以示决一死战。"
}
}
def lookup_allusion(keyword: str) -> dict:
"""查询典故,返回包含出处/释义/故事的字典"""
# 支持模糊匹配:输入"沉舟"也能匹配"破釜沉舟"
for name, data in ALLUSIONS.items():
if keyword in name or name in keyword:
return {"name": name, **data}
return {"error": f"未找到与「{keyword}」相关的典故"}
# 示例输入
result = lookup_allusion"沉舟"
print(json.dumps(result, ensure_ascii=False, indent=2))
# 输出:
# {
# "name": "破釜沉舟",
# "source": "《史记·项羽本纪》",
# "era": "秦末",
# "meaning": "比喻下决心不顾一切地干到底",
# "story": "项羽率军渡河后凿沉船只,以示决一死战。"
# }package main
import (
"encoding/json"
"fmt"
"strings"
)
// Allusion 典故结构体
type Allusion struct {
Name string `json:"name"`
Source string `json:"source"`
Era string `json:"era"`
Meaning string `json:"meaning"`
Story string `json:"story"`
}
var database = map[string]Allusion{
"卧薪尝胆": {
Source: "《史记·越王勾践世家》",
Era: "春秋",
Meaning: "形容刻苦自励,发愤图强",
Story: "越王勾践被吴国打败后,睡柴草、尝苦胆,最终复国。",
},
"破釜沉舟": {
Source: "《史记·项羽本纪》",
Era: "秦末",
Meaning: "比喻下决心不顾一切地干到底",
Story: "项羽率军渡河后凿沉船只,以示决一死战。",
},
}
func lookup(keyword string) (Allusion, bool) {
// 精确匹配优先,否则模糊搜索
if a, ok := database[keyword]; ok {
a.Name = keyword
return a, true
}
for name, a := range database {
if strings.Contains(name, keyword) || strings.Contains(keyword, name) {
a.Name = name
return a, true
}
}
return Allusion{}, false
}
func main() {
result, found := lookup("沉舟")
if !found {
fmt.Println(`{"error":"未找到相关典故"}`)
return
}
data, _ := json.MarshalIndent(result, "", " ")
fmt.Println(string(data))
// 输出:{"name":"破釜沉舟","source":"《史记·项羽本纪》","era":"秦末","meaning":"比喻下决心不顾一切地干到底","story":"项羽率军渡河后凿沉船只,以示决一死战。"}
}// 浏览器端或 Node.js 均可运行
const allusions = new Map([
['卧薪尝胆', {
source: '《史记·越王勾践世家》',
era: '春秋',
meaning: '形容刻苦自励,发愤图强',
story: '越王勾践被吴国打败后,睡柴草、尝苦胆,最终复国。'
}],
['破釜沉舟', {
source: '《史记·项羽本纪》',
era: '秦末',
meaning: '比喻下决心不顾一切地干到底',
story: '项羽率军渡河后凿沉船只,以示决一死战。'
}]
]);
function lookupAllusion(keyword) {
// 先尝试精确匹配
if (allusions.has(keyword)) {
return { name: keyword, ...allusions.get(keyword) };
}
// 模糊匹配:遍历所有键
for (const [name, data] of allusions) {
if (name.includes(keyword) || keyword.includes(name)) {
return { name, ...data };
}
}
return { error: `未找到与「${keyword}」相关的典故` };
}
// 示例输入
const result = lookupAllusion('沉舟');
console.log(JSON.stringify(result, null, 2));
// 输出:
// {
// "name": "破釜沉舟",
// "source": "《史记·项羽本纪》",
// "era": "秦末",
// "meaning": "比喻下决心不顾一切地干到底",
// "story": "项羽率军渡河后凿沉船只,以示决一死战。"
// }常见问题
8 个高频疑问