典故大全

历史典故/出处/释义/故事

421 次访问

典故大全

关于本工具

了解工具定位 · 使用场景 · 对比优势

使用场景

🎓

学生作文引用

中学生写议论文时,想引用“卧薪尝胆”或“破釜沉舟”等典故来论证“坚持”或“决心”,但记忆模糊、出处不清。本工具输入关键词即可查到完整典故、出处原文及现代释义,确保引用准确、故事细节充实,提升作文的文化深度与说服力。

📖

自媒体内容创作

短视频或图文创作者需要快速为“负荆请罪”“纸上谈兵”等典故配上一段通俗易懂的故事和出处,但手动查书耗时且易出错。本工具一键输出典故原文、释义及白话故事,可直接用于脚本或文案,节省查阅时间,保证内容权威性。

🏛️

导游讲解准备

带团游览历史景点时,游客常问“这里发生过什么典故”,如“邯郸学步”或“完璧归赵”。导游用本工具提前输入相关地名或人物,获取典故全貌与出处,结合现场场景即兴讲解,提升讲解的专业性与趣味性,避免临时回忆的尴尬。

💬

日常社交谈资

聚会或聊天时,朋友提到“东施效颦”,想接话但怕说错意思。本工具快速查证该典故的出处(《庄子·天运》)和正确寓意,避免误用为“模仿美”而实际是“盲目模仿反显丑”,让社交对话更得体、有文化底蕴。

📚

语文备课辅助

语文老师备课时,需为“刻舟求剑”等课文中的典故补充背景故事与出处原文,但教材注释简略。本工具提供完整典故原文、释义及历史语境,帮助老师设计课堂互动问题,如“为何求剑者会犯这种错误”,提升课堂深度。

对比矩阵本工具 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%的典故。

适用范围

适用于典故大全工具的关键词匹配排序逻辑。仅对精确关键词有效,同义词/近义词不纳入计算(如「勾践」≠「句践」)。数据来源:工具内置典故库分词索引。

原理图

用户输入典故关键词后端检索数据库匹配展示结果出处/释义/故事流程说明1. 用户在搜索框输入典故名称或关键词(如“刻舟求剑”)。2. 后端服务接收请求,在典故数据库中执行精确或模糊匹配。3. 返回匹配到的典故条目,包含出处、释义、原文故事及现代解读。
用户输入 后端处理 输出结果

开发者集成

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 个高频疑问

搜出来的典故出处(比如《史记·项羽本纪》)能点进去看原文吗?
目前不能直接跳转查看典籍原文。工具只展示出处名称和篇章名,不内嵌原文全文。如果需要核实原文,可以复制出处信息到国学大师网或古诗文网等公开古籍数据库自行搜索。工具定位是快速查询典故的释义和故事梗概,不是古籍阅读器。后续是否会增加原文链接,取决于用户反馈和版权合作情况。
查“破釜沉舟”只显示了“项羽”和“巨鹿之战”,但我记得还有别的故事版本,是不是不全?
同一个成语或典故可能存在多个出处版本。例如“破釜沉舟”最广为人知的出处是《史记·项羽本纪》记载的巨鹿之战,但类似含义的记载也出现在《孙子兵法》等典籍中。本工具优先收录最主流、最公认的版本(通常以《辞海》《成语大辞典》等权威辞书为准),非主流或存疑的变体暂不收录。如果发现某个典故有多个权威出处版本,欢迎通过页面反馈渠道提交,会纳入后续更新评估。
典故的释义和故事是直接抄百度百科的吗?数据来源靠不靠谱?
不是直接抄百度百科。核心数据来源是《辞海》《成语大辞典》《中国典故大辞典》等纸质权威辞书的电子化版本,以及二十四史等正史典籍的原文标注。释义和故事梗概由编辑人工校对整理,确保与权威辞书一致。但古籍整理本身存在学术争议(如某些典故的原始出处存在不同说法),本工具采用目前学界最通用的说法。如果发现释义与权威辞书明显不符,请截图反馈,会核实修正。
搜“画蛇添足”只给了故事梗概,我想看完整的古文原文和现代文翻译,这个工具有吗?
目前只提供故事梗概(白话文简述)和核心出处,不包含古文原文全文和逐句翻译。例如“画蛇添足”会显示出自《战国策·齐策二》,并简述“门客比赛画蛇,先成者添足反失酒”的故事,但不会展示“楚有祠者,赐其舍人卮酒……”的原文段落。如果需要完整古文及翻译,建议使用专门的古文翻译工具或参考《古文观止》等书籍。本工具侧重快速理解典故含义和背景,而非古文精读。
为什么查某些生僻典故(比如“食玉炊桂”)能搜到,但查更冷门的“丙吉问牛”就搜不到?
收录范围以《成语大辞典》《中国典故大辞典》等常见权威辞书中收录的典故为主,覆盖常用及较常见典故约 5000 余条。像“丙吉问牛”这类相对冷门、在主流辞书中未独立收录的典故,暂时不在库中。判断标准是:该典故是否在至少两本权威辞书中作为独立词条出现。如果查不到,可以尝试用近义词或核心人物名(如“丙吉”)搜索,工具也支持按人物关键词模糊匹配。
典故大全和百度百科的“成语大全”有什么区别?我直接用百度不就行了吗?
主要区别:1) 去广告化,没有百科页面的营销内容、推荐视频和评论区,页面只展示典故本身。2) 检索更精准,支持按人物、朝代、出处典籍等维度筛选,百度百科只能按词条名精确匹配。3) 释义更精炼,直接提取辞书中的核心释义,不像百科条目有时包含大量衍生分析。4) 数据来源可控,所有条目标注了具体出处篇章,方便交叉验证,而百科条目编辑者水平参差不齐。如果只是偶尔查一两个常见成语,百度够用;如果批量查典故或做文史研究,本工具效率更高。
输入“完璧归赵”之后,页面一直转圈不出结果,是网站挂了吗?
查询结果由后端服务处理,一般 1-3 秒内返回。如果长时间转圈,可能是:1) 网络问题导致请求未到达服务器,可以刷新页面重试。2) 输入了非常生僻或完全不存在的词,后端匹配超时(约 8 秒后返回空结果),建议换用近义词或核心人物名重新搜索。3) 浏览器插件(如广告拦截器)干扰了 AJAX 请求,可以尝试在无痕模式下使用。如果以上都试过仍不行,可以打开浏览器控制台(F12)查看是否有红色错误信息,截图反馈给站长。
查“卧薪尝胆”出来的故事和课本上讲的不太一样,到底哪个对?
课本版本为了教学需要,通常做了简化和改编。例如“卧薪尝胆”在《史记·越王勾践世家》中的原文是“置胆于坐,坐卧即仰胆,饮食亦尝胆也”,并没有明确提到“睡在柴草上”(卧薪)是勾践的事。后世文献将“卧薪”和“尝胆”合并为一个典故,并附会了更多细节。本工具展示的是基于原典考证的版本,会标注“《史记》记载……后世演绎为……”,如果发现与课本不一致,属于正常现象,可以对照原文自行判断。
选择 打开 +新窗口 esc关闭