目录

逗号还是句号:一场关于标点的对话

写东西的时候,什么时候该用逗号,什么时候该用句号,我一直说不清楚。大部分时候凭感觉,感觉对了就对了,感觉错了也不知道错在哪。

这一篇记录的是一场问答式的学习:对方不先讲规则,只提问题,让我自己把规则找出来。下面的“问”是对方的提问,“答”是我当时的回答,以及回答之后补上的道理。

凭感觉加的标点

问:下面这段话去掉了全部标点,只用逗号和句号把它标出来。每放一个句号,说说为什么这里用句号而不是逗号。

我今天下班去了超市买了牛奶和面包回家的路上突然下起了大雨我没带伞衣服全湿了到家以后我赶紧洗了个热水澡

答:我是这样标的:

我今天下班去了超市,买了牛奶和面包。回家的路上,突然下起了大雨。我没带伞,衣服全湿了。到家以后,我赶紧洗了个热水澡。

标得很顺,可是“为什么”那一半,我答不上来。于是对方换了个办法,拿出两种明显不对的标法让我比较:

B:我今天下班去了超市,买了牛奶和面包,回家的路上,突然下起了大雨,我没带伞,衣服全湿了,到家以后,我赶紧洗了个热水澡。

C:我今天下班去了超市。买了牛奶和面包。回家的路上。突然下起了大雨。我没带伞。衣服全湿了。到家以后。我赶紧洗了个热水澡。

问:B 和 C 分别哪里不对劲?

答:B 一逗到底,太长;C 句子没说完就断了。

这两个回答里藏着两个词:“太长”和“没说完”。后面的对话,就是一个一个地检验它们。

句号前面必须有什么

问:C 里的“回家的路上。”和“买了牛奶和面包。”都让人觉得没说完。它们各缺了什么?

答:“回家的路上”缺了发生了什么事,“买了牛奶和面包”缺了是谁买的。

两种缺的严重程度并不一样。妈妈问“你去超市干嘛了?”,回答“买了牛奶和面包。”一点也不别扭;“我没带伞,衣服全湿了。”后半句的主语也换成了衣服。主语经常可以靠上下文补上。可是在一段叙述里写“我去了超市。回家的路上。”,读者只会愣住:路上怎么了?

尺子一(硬规则):句号前面那一截,必须说出了“发生了什么”或“怎么样”。主语可以借上下文省掉,“说明”的部分不能省。只有时间、地点、条件的片段(“回家的路上”“到家以后”“如果明天下雨”),后面绝不能放句号。

回头看我自己的版本,“回家的路上,”“到家以后,”后面都是逗号。语感其实一直在遵守这条规则,只是没说出来。

一个句号收住一件事

再检验“太长”。“下雨了。”只有三个字,却是完整的一句;“他把那本在旧书摊上淘到的、封面已经发黄的、他父亲年轻时最爱读的小说放进了书包。”很长,中间却放不进任何句号。长度不是标准。

问:B 的每个片段都满足尺子一,读起来还是不对。按“事情”来拆,这段话讲了几件事?

答:四件事:去超市买东西、下雨、淋湿、洗澡。

这四件事,和我原来放的四个句号正好对上。B 的毛病不在字数多,而在于它从不“收”:读者一口气接收八个片段,却不知道哪几个该归在一起。

问:“我今天下班去了超市,买了牛奶和面包,回家的路上,突然下起了大雨。”把超市和下雨并成一句,行不行?

答:别扭。超市和下雨没有因果关系。

因果是线索,但不是唯一的条件。“我推开门,走进房间,在沙发上坐了下来。”三个动作之间没有因果,用逗号连起来却很自然;“他喜欢喝茶,他妹妹喜欢游泳。”两件事毫无因果,靠对比也能放进一句。超市和下雨之间其实也有时间先后的关系,问题在别处:

答:场景变了,地点从超市换到了路上。

尺子二(软规则):几件事关系紧密(因果、连续动作、对比),又在同一场景里,可以用逗号连成一句;场景一变,就用句号把上一段收住。

说它软,是因为“一件事”可大可小。“回家的路上,突然下起了大雨,我没带伞,衣服全湿了。”把下雨和淋湿合成“淋雨”一件事,没有错;在“大雨”后面用句号把它们拆开,也没有错,只是停顿落在了“突然下起了大雨”上,这件事就显得更重。

讲故事有场景,技术文字没有。下一题把尺子二搬到了工作里:

这个接口上线后响应时间明显变长排查发现是数据库查询没有走索引我们给查询字段加了索引响应时间从八百毫秒降到了五十毫秒另外日志里还有大量重复的告警这个问题下周再处理

答:我在“没有走索引”后面放了句号,其余都是逗号,于是第二句一直拖到了“下周再处理”。

问:“降到五十毫秒”和“日志里有告警”,说的还是同一件事吗?“另外”这个词在提醒读者什么?

答:不是一件事。“另外”表示换话题了,前面应该用句号。

这个接口上线后,响应时间明显变长,排查发现是数据库查询没有走索引。我们给查询字段加了索引,响应时间从八百毫秒降到了五十毫秒。另外,日志里还有大量重复的告警,这个问题下周再处理。

叙事文看场景,说明文看话题。“另外”“此外”“其次”“至于”这类词就是换话题的信号,它们前面通常应该是句号。技术写作里最常见的毛病就是一逗到底,靠这一条就能改掉大半。

句子内部的层次

问:“这次故障有两个原因,一是数据库查询没有走索引,导致响应变慢,二是缓存过期时间设置得太短,导致大量请求直接打到数据库。”这一句有四个逗号,哪几个分隔的是大块,哪几个分隔的是大块内部的小块?

答:“原因”和“变慢”后面的逗号是大块,其余两个是小块。

分得出来,但我是读完整句、懂了内容之后才倒推出来的。四个逗号长得一模一样,结构藏在内容里。

问:如果把两个“大块逗号”换成更醒目的标点,你会换成什么?

答:“原因”后面用冒号,“变慢”后面用分号。

这次故障有两个原因:一是数据库查询没有走索引,导致响应变慢;二是缓存过期时间设置得太短,导致大量请求直接打到数据库。

接着是反例:“我们排查了数据库;检查了缓存;重启了服务。”这里的分号显得笨重。我的判断是,每一项内部没有逗号,用逗号就够了。分号的价值在于把层次撑开,并列项内部本来就没有逗号时,用不着再撑。

层级的最底层是顿号。“我们排查了数据库、缓存、网络。”很自然,“我们排查了数据库、检查了缓存、重启了服务。”却别扭。我的回答是:前者是名词并列,后者是动作,动作之间要用逗号。更准确一点说,“检查了缓存”这样带着对象的动作,本身已经是一个小分句;光秃秃的动词并列(“开发、测试、部署都由他负责”)仍然可以用顿号。

层级标点分隔什么
最高句号句与句
分号句内并列的大块,通常大块内部已经有逗号
逗号分句之间
最低顿号并列的词语

综合练习是一段发布说明:

本次发布包含三项改动一是新增了导出功能支持Excel CSV和PDF三种格式二是优化了查询性能平均响应时间缩短了一半三是修复了登录超时的问题此外文档也同步做了更新

答:冒号、分号、逗号的骨架我都标对了,却在“登录超时的问题”后面也用了分号,“Excel”和“CSV”之间什么也没加。

“文档也同步做了更新”不是第四项改动,“此外”又是换话题的信号,所以那里应该是句号。这背后还有一条规则:冒号的管辖范围一直延续到句号,列举结束不用句号收住,后面的话就会被读成列表里的一项。至于“Excel、CSV和PDF”,第一处要用顿号,“和”本身就起连接作用,前面不再加顿号。

本次发布包含三项改动:一是新增了导出功能,支持Excel、CSV和PDF三种格式;二是优化了查询性能,平均响应时间缩短了一半;三是修复了登录超时的问题。此外,文档也同步做了更新。

冒号要先有预告

问:“经过排查:发现是数据库没有走索引。”这个冒号对吗?

答:不对,冒号通常引出列举。

判断对了,理由却不准。“原因只有一个:数据库没有走索引。”冒号后面只有一项,并没有列举,这个冒号却完全正确。

问:读到“原因只有一个:”和“经过排查:”的冒号时,读者的期待有什么不同?

答:前一个预告后面有具体内容,后一个只是交代了过程。

冒号:前面是预告(“原因只有一个”“包含三项改动”“他说”),后面是兑现预告的具体内容。前面没有预告,就不用冒号。“经过排查”和“回家的路上”是一类,后面接逗号;“据统计”“研究表明”后面通常也用逗号。

标点归谁管,就放在谁那边

问:“老板说:‘这个问题下周再处理。’”和“老板说这个问题要‘下周再处理’。”两句都对,为什么一个句号在引号里,一个在引号外?

答:前一句引的是完整的话,后一句只引了一部分。

引的是一句完整、独立的话,句末标点属于引语,放在引号里;引的只是一部分,嵌在自己的句子里当成分,句末标点属于整句,放在引号外。第二句没有冒号,也是同一个原因:引语已经是句子的一部分,前面没有预告。

问:用同样的道理推一推括号。“响应时间降到了五十毫秒(原来是八百毫秒)。”句号在括号外;“响应时间降到了五十毫秒。(以上为测试环境数据,仅供参考。)”句号在括号内。为什么?

答:前者括号里的内容是句子的一部分,后者括号里是一句完整的话。

注释句中某个词语的是句内括号,紧跟在那个词语后面,句末标点放在括号外;注释整句或整段的是句外括号,放在句末标点之后,里面带上自己的句末标点。引号和括号共用一个道理:标点归谁管,就放在谁那边。

括号退后,破折号上前

问:“问题的根源(数据库没有走索引)直到上线后才暴露。”和“问题的根源——数据库没有走索引——直到上线后才暴露。”如果只是快速扫一眼,哪一句的解释更容易被跳过?

答:括号那句更容易被跳过。用破折号,是想强调这段内容。

括号里是补充,删掉不影响主线,读者可以跳过;破折号引出的是正文的一部分,作者希望读者停下来看。想强调用破折号,想让它退到后台用括号。

破折号的其他用法,比如话题突转(“一切都很顺利——直到周五晚上告警响了”)、声音延长(“呜——”),共同点都是让读者在这里停一下,注意后面的东西。

问号看语气,叹号要节省

问:“我不知道他什么时候来?”句子里有疑问词,用问号对吗?

答:不对,说话的人没有在问谁,应该用句号。

问:按这个标准,“上线前连压测都不做,这难道不是流程的问题吗”,说话的人心里早有答案,也不是真的在问。句末用什么?

答:反问句也用问号,因为句子用的是问的语气。

这一问把我前一个回答修正得更准了:问号标的是疑问的语气,不看有没有疑问词,也不看是否需要对方回答。“我不知道他什么时候来”“你问问他为什么迟到”有疑问词,但不是在发问,用句号;“你明天来?”没有疑问词,却是在问,用问号;反问句不求回答,用的仍是发问的语气,用问号,语气特别强烈时也可以用叹号。

叹号的问题在另一个方向。“请大家务必在周五前提交代码!本周发布已顺利完成!感谢大家的辛苦付出!”我的感觉是情绪太激动,像在喊口号。更实际的后果是,叹号用得越多,越不起作用,每句都在喊,读者就分不出哪句真正重要。正式和技术文字里,语气平和的祈使句用句号就够了,叹号留给真正需要的那一处:

请大家务必在周五前提交代码。本周发布已顺利完成,感谢大家的辛苦付出!

实战一:《听雪》

规则问完,最后用一篇去掉标点的小说片段来实战。参考答案一共用到八种标点:句号、逗号、顿号、冒号、引号、问号、破折号、括号。可以先自己标一遍,再展开参考答案。

那年冬天来得特别早十一月刚过一半河面就结了冰村口那棵老槐树掉光了叶子只剩几根黑枝伸向灰白的天外婆坐在炉子边剥花生火光一跳一跳的照得她脸上的皱纹忽深忽浅我问她雪什么时候才下她没抬头只说快了等风停了就下我不明白风和雪有什么关系也没再问那天夜里我被一阵很轻的声音吵醒窗外在下雪雪落在瓦上树上和晾衣绳上落得没有一点声响可我总觉得听见了什么第二天一早院子里白茫茫一片鸡笼不见了水缸不见了连外婆昨天扫好的小路也不见了外婆站在门口呵出一口白气说了句下透了后来我离开了村子见过很多场雪有的比那场大得多却再也没有听见过那天夜里的声音

展开参考答案

那年冬天来得特别早。十一月刚过一半,河面就结了冰,村口那棵老槐树掉光了叶子,只剩几根黑枝伸向灰白的天。外婆坐在炉子边剥花生,火光一跳一跳的,照得她脸上的皱纹忽深忽浅。我问她:“雪什么时候才下?”她没抬头,只说:“快了,等风停了就下。”我不明白风和雪有什么关系,也没再问。那天夜里,我被一阵很轻的声音吵醒——窗外在下雪。雪落在瓦上、树上和晾衣绳上,落得没有一点声响,可我总觉得听见了什么。第二天一早,院子里白茫茫一片:鸡笼不见了,水缸不见了,连外婆昨天扫好的小路也不见了。外婆站在门口,呵出一口白气,说了句“下透了”。后来我离开了村子,见过很多场雪(有的比那场大得多),却再也没有听见过那天夜里的声音。

我标的版本里,疑问词陷阱(“有什么关系”“听见了什么”)、顿号加“和”、换场景用句号,都没有出错。“我问她雪什么时候才下。”我写成了转述,转述不是发问,句号是对的。

真正的错误只有一类:外婆的话前面我用了冒号,却没加引号;“说了句下透了”也没加。补上以后,“快了,等风停了就下。”是完整的话,句号在引号内;“下透了”是“说了句”的宾语,句号在引号外。

其余四处,我的标法不算错,换一个标点效果更好:

位置我的参考换了之后
开篇“特别早”逗号句号总起全篇的一句单独成句,先定下基调
“白茫茫一片”逗号冒号把“总说→具体”的关系摆到明面上
“声音吵醒”句号破折号读者先想“什么声音”,下一秒揭晓
“大得多”逗号括号插入语退到后台,“见过很多场雪……却再也没有听见过”的转折连成一气

实战二:《萤火》

第二篇的参考答案用到九种标点,比上一篇多了一个分号。这次有好几处带疑问词,却没有一处是在发问;真正的问句只有一个,连“吗”都没有。

那个夏天我在舅舅家住了整整一个月舅舅家在山脚下屋后是一大片稻田田埂上长满了狗尾巴草车前草和野薄荷白天太热大人们都躲在屋里午睡我和表哥却闲不住不是去河里摸鱼就是爬到树上掏鸟窝表哥比我大两岁什么都懂一点哪种蘑菇能吃哪种蛇有毒哪片水塘底下有暗流有一天傍晚他神秘地对我说今晚带你去看个好东西敢不敢去我问他是什么他只是笑不肯说天黑透以后我们摸到稻田边上满田都是萤火虫一闪一闪的像有人把星星撒在了地上我看呆了半天说不出话表哥抓了一只放在我手心那点光好像是暖的其实萤火虫的光并不热我捧着它舍不得合上手回城那天表哥送了我一个玻璃瓶里面装着三只萤火虫他说想我了就看看它们可没过两天瓶子里的光就全灭了我不知道是自己哪里没照顾好哭了很久

展开参考答案

那个夏天,我在舅舅家住了整整一个月。舅舅家在山脚下,屋后是一大片稻田,田埂上长满了狗尾巴草、车前草和野薄荷。白天太热,大人们都躲在屋里午睡;我和表哥却闲不住,不是去河里摸鱼,就是爬到树上掏鸟窝。表哥比我大两岁,什么都懂一点:哪种蘑菇能吃,哪种蛇有毒,哪片水塘底下有暗流。有一天傍晚,他神秘地对我说:“今晚带你去看个好东西,敢不敢去?”我问他是什么,他只是笑,不肯说。天黑透以后,我们摸到稻田边上——满田都是萤火虫,一闪一闪的,像有人把星星撒在了地上。我看呆了,半天说不出话。表哥抓了一只放在我手心,那点光好像是暖的(其实萤火虫的光并不热),我捧着它,舍不得合上手。回城那天,表哥送了我一个玻璃瓶,里面装着三只萤火虫。他说:“想我了就看看它们。”可没过两天,瓶子里的光就全灭了。我不知道是自己哪里没照顾好,哭了很久。

这一篇,三个“哪种”“哪片”都没有用问号,“敢不敢去?”虽然没有“吗”,我也认出了它是问句。出错的地方又是引号旁边:我写成了“我问他:‘是什么?’,他只是笑”,问号已经收住了那句话,后面不能再叠一个逗号;“想我了就看看它们”是一句完整的话,句号应该在引号里。

其他几处,每一处都多教了我一点东西:

问:“我看呆了半天说不出话”,逗号放在“看呆了”后面和放在“半天”后面,说的是同一件事吗?

答:不是。前者是很久说不出话,后者是看呆了很久。

逗号不只是停一下,它还决定“半天”跟哪个词走。少一个逗号,意思就可能变。

问:“大人们都躲在屋里午睡。我和表哥却闲不住”,“却”把哪两方放在一起对比?用句号、逗号和分号有什么区别?

答:对比的是大人午睡和我们闲不住。分号能保持对比;用逗号的话,层次不清。

两边内部都带着逗号,中间再用逗号,就看不出对比的分界线在哪;用句号,对比被拆成两句,“却”的力量就弱了。分号刚好卡在中间:同一句话,两个大块,层次分明。

问:我把破折号放在了“送了我一个玻璃瓶——里面装着三只萤火虫”,参考答案放在“摸到稻田边上——满田都是萤火虫”。哪一处悬念更足?

答:稻田那处。读者会想他们到底摸到了什么。

从“神秘地”“好东西”“敢不敢去”开始,悬念已经攒了好几句,稻田边正是揭晓的时刻。瓶子里装着什么,本来就没多少悬念。破折号和叹号一样,留给真正重要的那一刻。

问:“那点光好像是暖的”是当年那个孩子的感觉。“其实萤火虫的光并不热”是谁在说?

答:是长大以后的我在说,应该用括号。

括号在这里不只是可以跳过的补充,它还标出了声音的切换:括号外是孩子当时的感受,括号里是大人多年后的旁白。隔开以后,“好像是暖的……舍不得合上手”这条感觉线才不会被打断。

汇总

标点什么时候用
句号前面已经说出“发生了什么”(硬规则);场景或话题一换就用它收住(软规则)
逗号关系紧密(因果、连续动作、对比)的分句之间;也能决定修饰语跟谁走,消除歧义
分号并列或对比的大块之间,通常大块内部已经有逗号
顿号并列的词语之间;最后一项前有“和”“及”时不再加
冒号前面有预告,后面兑现;管辖范围延续到句号
引号引完整的话,句末标点在引号内;只引一部分,句末标点在引号外;问号、叹号后不再叠加逗号
括号可跳过的补充;句内括号紧跟被注释的词,句外括号自带句末标点;也可以标出旁白的声音
破折号希望读者停下来看的解释;制造悬念再揭晓;留给最重要的那一刻
问号看疑问语气,不看疑问词;反问句也用问号
叹号强烈的情感;正式文字里少用,用得越省越有分量

两篇实战对下来,规则本身我已经知道了,下笔时最容易出错的地方是引号旁边的标点。另一个收获是看法的变化:一开始我以为标点是“该停的地方停一下”,现在更愿意把它看作控制读者节奏的工具,决定读者在哪里停,对哪里起疑,哪些可以略过不看。

文中的规则是对话里归纳出的判断方法,具体用法可对照国家标准 GB/T 15834—2011《标点符号用法》。两篇小故事为对话中现写的练习材料。