Leoi Secretus - LeoZHN
type: channel
link: http://blog.leozhn.cn/index.php/author/1/
description: LeoZHN
items: 【语言学论文阅读·第3期】多模态隐喻（重塑）框架：后疫情时代新媒体上中国湖北省宣传形象的批判性分析
items: 墨尔本大学 应用语言学硕士(MCAPLING)200学分课程一览
items: 随笔：写于25Fall申请焦虑后
items: 【实用软件记录-01】Chrome-iTab 无广告、一应俱全的新标签页体验
items: 琉璃梦 Veluriya Dreamer
items: 摘《季羡林散文集》一则
items: 所以我放弃了音游。
items: 【Python基础教程·第六辑】文件及IO操作
items: 【Python基础教程·第五辑】模块及常用的第三方模块
items: 【Python基础教程·第四辑】组合数据类型

【语言学论文阅读·第3期】多模态隐喻（重塑）框架：后疫情时代新媒体上中国湖北省宣传形象的批判性分析
type: item
date: 2025-06-22T03:35:00+00:00
description: [scode type="red"]请注意，本文仅供个人学习归纳使用，请勿传播、商用。本文文章来源于互联网，使用翻译软件进行未精校的粗略翻译，结果仅供了解参考。本文不能作为了解原作者观点的可靠依据，欲了解作者观点，请参照原文理解。[/scode][scode type="share"]原文Doi: 10.1080/10350330.2022.2094233 [/scode]多模态隐喻（重塑）框架：后疫情时代新媒体上中国湖北省宣传形象的批判性分析Multimodal metaphor (re)framing: A critical analysis of the promotional image of China’s Hubei Province in the postpandemic era on new mediaYufeng Liu and Dechao Li本研究将多模态隐喻作为（重塑）框架工具，分析了一则由中国政府制作、并在 YouTube、抖音（中国版 Tik Tok）和微信视频号等新媒体平台上传播的 10 分钟湖北省宣传视频。该视频向世界介绍了湖北省在疫情前、疫情中和疫情后的情况，旨在消除西方媒体描绘的“武汉病毒”和“中国病毒”的偏见形象。本研究借鉴了 MIPVU（Metaphor Identification Procedure Vrije Universiteit，隐喻识别程序自由大学版）、隐喻的多模态性以及 CDA（Critical Discourse Analysis，批评性话语分析），分析了中国政府如何尝试通过诸如战争（WAR）、桥梁（BRIDGE）、手（HAND）和背影（BACK）等隐喻，将湖北重塑为一个充满勇气、繁荣和人性的地方。研究还讨论了此类隐喻使用的利弊，并结合了适当的语境和社会文化关联性。该研究提供了基于 CDA 的多模态隐喻分析的实践操作，并通过社会学的框架理论证明了整合翻译、隐喻和符号学研究的可行性。关键词：隐喻；多模态；（重塑）框架；新媒体；冠状病毒；武汉

墨尔本大学 应用语言学硕士(MCAPLING)200学分课程一览
type: item
date: 2025-06-13T11:08:00+00:00
description: English language 200 point programFollow:Handbook of English Language (200pt)Handbook of Master of Applied Linguistics (MC-APLING)Introduction of Master of Applied LinguisticsNoteThe 200 point Master of Applied Linguistics program in all specialisations is only available to on-campus students.For students completing the two-part thesis capstone in the final 100 points of the program, your study load is combined over these final two semesters (100 points). This means that in your final two semesters, you will complete the thesis parts 1 and 2 (18.75 points each, 37.5 points combined) plus five other 12.5 point subjects – three subjects in one of the semesters, and two in the other. This means that in one semester of the thesis capstone, students will complete a total of 56.25 points in their study plan, and in the other, 43.75 points (total of 100 points). This is not considered overloading, and no permission is required to add three 12.5 point subjects plus the 18.75 point thesis subject to your plan in a single semester. It is recommended that students doing the thesis take 3 subjects in the first half of their thesis capstone, and 2 subjects during the semester in which the thesis must be submitted, to allow time for preparing the thesis for submission. Note that if you have not completed Research in Applied Linguistics prior to the first semester of the thesis capstone, this must be taken concurrently with thesis part 1.Compulsory subjects (25 pts)Students must complete 25 points of compulsory subjects.Concepts in Applied Linguistics (12.5)Concepts in Applied Linguistics is a compulsory subject for all students on the Master in Applied Linguistics, and should be taken in the first semester of enrolment in the program. This introductory subject teaches students core concepts; current issues and debates; and diverse research methods in applied linguistics. It introduces students to the three principal specialisations of the Master program: Teaching English as a Sec…

随笔：写于25Fall申请焦虑后
type: item
date: 2025-04-13T08:25:12+00:00
description: 2024年9月，升入大四的我，正式开启了硕士申请的漫漫旅途。事实证明，这一路走来，其艰辛程度绝非一般人所能及。我的主申方向是香港，也就是港前三里的港大和港中文。当然，这一申请抉择的前提是：第一，我对自己3.72的cGPA有充分自信；第二，家里非常建议我去读香港，而我也受他们影响加上自己考虑，强烈地想要达成这一目标；第三，我也选定了几所保底学校。不过说是保底，其实最差的学校都没有低于QS前50名。我当时选定的学校和专业名单是这样的：学校名称QS排名国家/地区专业名称新加坡国立大学8新加坡MA English Language and Linguistics伦敦大学学院9英国Intercultural communication伦敦大学学院9英国Applied Linguistics MA香港大学17中国香港Master of Arts in the field of Linguistics香港大学17中国香港Master of Arts in the field of English Studies爱丁堡大学27英国MSc Applied Linguistics香港中文大学36中国香港MA English (Literary Studies)香港中文大学36中国香港MA Intercultural Studies香港理工大学47中国香港Master of Science (MS) in Generative AI and the Humanities - Language and Communication可以说，我是铁了心想去香港了。当时机构和我联系时，我们就敲定了这个方案，8个项目有5个都是香港，附加1个新加坡和2个英国（一个UCL和跨文化和爱丁堡的AL），机构还附赠了一个UCL的AL。当时，其实我还有澳洲的选择，但我并没有任何想去澳洲留学的打算或欲望，又觉得澳洲的整体印象就是“水”，墨尔本又非常难申请，还不如不申了。不过最后，我自己还是抱着试一试总比不试好的想法，DIY投了墨尔本的AL和新加坡南洋理工的英语研究。但当时，我知道前方的阻碍很大，一是我的语言成绩不够，当时雅思只有6.5（5.5）的分数，和大部分院校（包括HK）要求的7.0尚有差距；二是我也知道自己想去的香港近几年的申请情势算不上很妙，大量内地985/211的优异学生涌入香港，就意味着申请之路一定压力重重。因此，我也做好了打长期战的准备。但是，我没想到，这所谓的“长期战”变成了一场看不到头的远足。自申请资料递交后，我再也没能收到来自任何地方的哪怕一点风声。2024年11月，我DIY的墨尔本发来了“Being Assessed”，这意味着我因为激烈竞争被放入了墨大的waiting list中，墨大不想直接拒我，我的成绩又不足够出众，再加上澳洲缩招的形势，他们说直到下一年1-4月才会出结果。然后，在2024年底，Poly-U给我发来了拒信，但不是邮箱通知，而是完全没有通知。那天只是随手一翻，我登入系统，便看到了Poly-U冷冰冰的Not successful。说到底，我也不奇怪Poly-U会第一个拒我，因为毕竟我的英专和Generative AI实在有如隔了一道天堑，若没有在本科立下扎实的coding基础，我想哪怕Poly-U肯录取我，我也将在Postgrad面临重重阻碍吧。不过Poly-U这一手发拒信连邮件都不发的操作确实恶心到我了。后来，应该是在2025年1月份，我收到了UCL的拒信，这时距离我开始申请已经过去了5个月，不但没有一封offer，反而拒信先收到了3封。尤其是UCL的两封拒信更是让我内心极度受挫。UCL虽然排名靠前，但说到底其“水校”的性质和较为宽松的入学门槛也都几乎是人尽皆知。我原来是拿UCL做保底的，但万万没想到会直接翻车，成了小丑。这下，我真的慌了。UCL都申不上，我当然害怕2025毕业之后会真的会没学上要去gap。在不安和焦虑中，我的身体开始频繁上火，嘴上和脸上的燎泡和痘痘不断在爆，就像我的压力一样。每天，我都执着地翻着邮箱，渴望能有一所学校“收留”这个可怜的、深陷于25Fall焦虑的“好学生”，但重复的结果只有失望和空空如也的邮箱，就好像我从来没有申请过任何学校。情急之下，我开始自己加申澳门大学和港浸会。这两所QS200名开外的大学，在曾经的我眼中就是不入流的学校，但当时我已然慌了。虽然我依旧安慰自己还有机会，但现实一次次的打脸嘲讽已经将我的命运推向了一个无底深渊，在无尽的坠落中，我眼看着身边人一个个拿到了自己心仪学校的offer，而我却只能任由自己坠落。深渊好像没有尽头，而为了抓住点什么，我只能出此计策。2025年2月6日，那一天是正月初九，我在焦虑中刚刚度过了农历新年。这一天，我约好和几个哥们一起出去玩。在车上，我们东扯西谈，而我在一个…

【实用软件记录-01】Chrome-iTab 无广告、一应俱全的新标签页体验
type: item
date: 2024-10-31T08:38:00+00:00
description: 新开一档栏目，简单记录一下自己用过的、还算实用的各类插件和工具。iTab【分类】浏览器插件【功能】规范化新标签页【广告】无【会员】无【成本】0【下载途径】Chrome插件商店，或访问官网。（以下为官方介绍）iTab新标签页是一款新型的小组件式浏览器插件，用于美化和管理浏览器主页，优化浏览器使用体验。它集成了一系列实用的小组件，包括热搜榜，日历，天气预报、打工倒计时，网页书签等，旨在提高用户的浏览效率。功能包括：小组件，网页收藏，聚合搜索，自定义壁纸，极简模式，跨平台数据同步，界面无广告。我是在一个B站up的教学视频里偶然看到这个插件的，加上有人在弹幕里提到了“iTab”，就好奇地搜索试用了一下。用下来不到半天就感觉自己很爱。我的点主要在于它的widget和网址分类做得相当不错，再加上动态壁纸的一丢丢加成，让新标签页的功能和美观程度都丰富起来了，很难不爱。

琉璃梦 Veluriya Dreamer
type: item
date: 2024-09-11T09:39:00+00:00
description: I 流星雨白雪覆盖了残断的四肢、四溅的鲜血和被炮火覆盖的一张张失去生气的脸……在倒塌的废墟中，在身后远处的喊杀声中，一众人吃力地走着、甚至是爬行着前进。男人是这一众人里再平凡不过的一个，随着他一起的，是他的妻子和两个孩子。拖沓着脚步，沉重的行李和严重的睡眠不足为这个男人戴上无形的镣铐，长途跋涉和艰险的路途让男人身上只剩一件单薄的外套——他把自己破旧的棉袄给了自己的妻子和孩子。男人的脚早已浮肿冻伤，充斥着麻木，胳膊上被剐蹭的血迹已经结了痂。不过，眼前的景象总归还是让他从充血的双眼中挤出了一个干瘪的笑容。东方的天蒙蒙亮，然后在下一刻，所有人都停下了前行。在遥远的地平线，朝阳伴随鸟儿的叽喳一跃而出，它先是照亮了一幢宏伟墙壁的一个角落，然后为一整座墙镀上了金边。这里是王城的门前。在相反的方向，天空还是铁青色的。男人回想起他的那片田地和那栋小房子。在小国的边陲，一片田地就是这个男人所有的资产，不过他以勤勉著称，日出而作日入而息的辛苦劳作也足以支撑自己的生活。每逢周六，他就会和边境上经商的商人换些必需品，有时手头宽裕，还能换些花瓶之类的廉价装饰品和一些不常见的书籍，因此自己也算是这边陲小镇上少有的知识分子。几年前，他结婚了，妻子的出身也不富裕，两人却十分情投意合，诞下了两个小孩。在某个周六，他和妻子一如往常来到交易市场，却发现边境上的商人消失了，一片热闹的走廊只剩下空荡的摊位，替代那群商人的，是赫然出现在市场的士兵。他有点懵，也还记得那天的朝阳，它安静地升起。除了鸟儿的啁啾，没有任何声音。他和妻子好像一头扎进了一片密林中，在广阔的田野里却找不到任何方向。他也记得那天朝阳下西边的天空，不仅是因为那种铁青色，还因为他看到了黑压压一片的人——确切地说，是和自己国家穿着不同的士兵。当黑点越来越近，男人虽然仍未搞清现状，却也不傻。他拉起妻子，拔腿就跑。如洪流一般的攻势没有给他们太多的准备时间，他们只能打包一些最紧要的行李，但更关键的问题是，向哪里逃呢？他只知道，书中写着，朝着太阳升起的地方一直走，就能走到这座宏伟的王城。那位好心的国王承诺他们，一有战乱，所有国民——不论贵贱都有权利得到王城的庇护。现在，经历了数百里的风餐露宿，他们看到了它的轮廓——好像在晨曦中有些模糊不清，如同一幅被时间侵蚀的旧画。城墙上的缺口诉说着炮火的洗礼也覆盖了这里。远处花花绿绿用破布和细木条支起来的帐篷覆满了城门前的空地，他看到了分发汤羹的一行人从城门走出，他们立即被饥饿的人群围住，守卫上前试图制止混乱，却无济于事。在一片拥挤中，男人拿起几个碗和桶，嘱咐他的妻子和两个儿子在远一点的地方等他。他则奔跑着拥上前去，和那群人融为一体。喧嚷的人群把他团团围住，他嗅到了饭香和其他人身上的恶臭味，艰难地往人群簇拥的方向挤过去。很快，他觉察到人群的喧闹暂停了，本想靠着这个机会靠近分装汤羹的桶，他和人们却统统被天空中的景象摄住了心魄。——那是从白日落下的流星吗？不，显然不是，这些划破天际的“流星”燃着火焰，发出战马般的嘶鸣。此时人们才认出，这是投石炮的炮弹。随着第一块石头落地，人群迅速啸叫起来，向着城内拥去。他也被混乱的人群裹挟着，被人推搡着朝着城里移动。他大喊着家人的名字，试图逆着人群的方向移动，但充斥着恐惧的人组成人潮，将一切生存的本能都释放在了一个目标上：回城。从天而降的火球一点点靠近城池，远处的人们被吞噬。城门关上，远处的投石却不曾停止。城门前的小径上站满了逃难的人群和受伤的士兵，他们有的身裹白布，有的遍体鳞伤，正在接受治疗。男人一边有些吃力地穿过一道道人墙，一边大声呐喊着妻子和儿子的名字。他不相信，他们都走到了城门边上——走到了成功之门扉的边缘，怎么可能会在这里失败？投石的声响逐渐平息，直到人群安静下来。男人未能得到期待的回应，于是不可抵挡的疲倦席卷着巨大的恐惧和悲恸如潮水般涌上脑海，男人直感觉一阵眩晕和脱力，随后，地面成了天空。男人倒下了。II伴随一身冷汗，男人喘着粗气醒来了。眼前是有些熟悉的屋顶，还有……男人的瞳孔瞬间缩小了。“亲爱的，你的梦呓又发作了，没事吧？”几乎是下意识地，他立刻抱紧了她。惊喜、悲伤和犹疑一瞬间冲昏了男人的大脑，眼泪从他眼中簌簌而下，他顾不上妻子疑惑的神情，只是抱着她不肯松手。眼前的一切都是那么熟悉，无疑，这里是他的家。“亲爱的，虽然我不知道你梦到了什么，不过别害怕，不管有多可怕，梦里的一切都不会成真的。”妻子拍着他的背，温柔地说道。那片流星雨和猩红的天空又一次袭上他的脑海……难道那才是梦？他不禁想着，但那未免也太真实了。来到前厅，早饭已经备好，他的几个孩子也已经上桌，相互嬉闹着。他掀开墙上的日历。8月9日男人愣了一下，这个上一秒还在数九寒天的男人好像被整个世界的蝉鸣声占满了他的大脑，然后是盛夏热腾的气浪，然后是……直到妻子摇了摇他的肩膀，他才一瞬间恍过…

摘《季羡林散文集》一则
type: item
date: 2024-08-04T09:41:00+00:00
description: [scode type="share"]幼年时读季羡林季老的散文，其之于鄙人写作的影响极大。依稀忆起季老字里行间的那种用独特比喻和出的浓稠文墨，典雅而不矫饰，大概是鄙人追求辞藻堆砌的最开端罢。[/scode]寂寞文 季羡林寂寞像大毒蛇，盘住了我整个的心，我自己也奇怪：几天前喧腾的笑声现在还萦绕在耳际，我竟然给寂寞克服了吗？但是，克服了，是真的，奇怪又有什么用呢？笑声虽然萦绕在耳际，早已恍如梦中的追忆了，我只有一颗心，空虚寂寞的心被安放在一个长方形的小屋里。我看四壁，四壁冰冷像石板，书架上一行行排列着的书，都像一行行的石块，床上棉被和大衣的折纹也都变成雕刻家手下的作品了，死寂，一切死寂，更死寂的却是我的心，——我到了庞培（Pompaii）1了么？不，我自己证明没有，隔了窗子，我还可以看见袅动的烟缕，虽然还在袅动，但是又是怎样地微弱呢，——我到了西敏斯大寺（Westminster Abbey）2了么？我自己又证明没有，我看不到阴森的长廊，看不到诗人的墓圹 3，我只是被装在一个长方形小屋里，四周圈着冰冷的石板似的墙壁，我究竟在什么地方呢？桌子上那两盆草的蔓长嫩绿的枝条，反射在镜子的影子，我透过玻璃杯看到的淡淡的影子；反射在电镀过的小钟座的影子，在平常总轻轻地笼罩上一层绿雾，不是很美丽有生气的吗？为什么也变成浮雕般地呆僵着不动呢？——一切完了，一切都给寂寞吞噬了，寂寞凝定在墙上挂的相片上，凝定在屋角的蜘蛛网上，凝定在镜子里我自己的影子上……一切都真的给寂寞吞噬了吗？不，还有我自己，我试着抬一抬胳膊，还能抬得起，我摆了摆头，镜子里的影子也还随着动，我自己问：是谁把我放在这里的呢？是我自己，现在我才发现，就是自己，我能逃——我能逃，然而，寂寞又跟上我了呀！在平常我们跑着百米抢书的图书馆，不是很热闹的吗？现在为什么也这样冷清呢？我从这头看到那头，像看到一个朦胧的残梦，淡黄的阳光从窗子里穿进来造成一条光的路，又射在光滑的桌面上，不耀眼，不辉腾，只是死死地贴在桌上，像——像什么呢？我不愿意说，像乡间黑漆棺材上贴的金边，寥寥几个看书的，错落地散坐着，使我想到月明夜天空里的星子，但也都石像似的坐着，不响也不动，是人么？不是，我左右看全不像，像木乃伊？又不像，因为我闻不到木乃伊应该有的那种香味，像死尸？有点，但也不全像，——我看到他们僵坐的姿势了；我看到他们一个个的翻着的死白的眼了，我现在知道他们像什么，像鱼市里的死鱼，一堆堆地排列着，鼓着肚皮，翻着白眼，可怕！然而我能逃，然而寂寞又跟上了我，我向哪里逃呢？到了世界的末日了吗？世界的末日，多可怕！以前我曾自己想象，自己是世界上最后的一个生物，因了这无谓的想象，我流过不知多少汗，但是现在却真教我尝到这个滋味了，天空倒挂着，像个盆，远处的西山，近处的楼台，都仿佛剪影似的贴在这灰白盆底上，小鸟缩着脖子站在土山上，不动，像博物院里的标本，流水在冰下低缓地唱着丧歌，天空里破絮似的云片，看来像一帖帖的膏药，糊在我这寂寞的心上，枯枝丫杈着，看来像鱼刺，也刺着我这寂寞的心。但是，我在身旁发现有人影在游动了，我知道，我自己不是世界上最后的生物，我在内心浮起一丝笑意，但是（又是但是）却怪没等这笑意浮到脸上，我又看到我身旁的人也同样翻着死白的眼，像木乃伊？像僵尸？像鱼市上陈列的死鱼？谁耐心去管，战栗通过了我全身，我想逃，寂寞驱逐着我，我想逃，向哪里逃呢？——天哪！我不知道向哪里逃了。夜来了，随了夜来的是更多的寂寞，当我从外面走回宿舍的时候，四周死一般沉寂，但总仿佛有窸窣的脚步声绕在我四围。说声，其实哪里有什么声呢？只是我觉得有什么东西跟着我而已，倘若在白天，我一定说这是影子；倘若睡着了，我一定说这是梦，究竟是什么呢？我知道，这是寂寞，从远处我看到压在黑暗的夜气下面的宿舍，以前不是每个窗子都射出温热的软光来么？但是，变了，一切变了，大半的窗子都黑黑的，闭着寥寥的几个窗子，无力地迸射出几条光线来，又都是怎样暗淡灰白呢？——不，这不是窗子里射出来的灯光，这是墓地里的鬼火，这是魔窟里发出的魔光，我是到了鬼影憧憧的世界里了，我自己也成了鬼影了。我平卧在床上，让柔弱的灯光流在我身上，让寂寞在我四周跳动，静听着远处传来的蛩蛩4的足音，隐隐地，细细弱弱到听不清，听不见了，这声音从哪里传来的呢？是从辽远又辽远的国土里呀！是从寂寞的大沙漠里呀！但是，又像比辽远的国土更辽远；我的小屋是坟墓，这声音是从墓外过路人的脚下踶5出来的呀！离这里多远呢？想象不出，也不能想象，望吧！是一片茫茫的白海流布在中间，海里是什么呢？是寂寞。隔了窗子，外面是死寂的夜，从蒙翳的玻璃里看出去，不见灯光；不见一切东西的清晰的轮廓，只是黑暗，在黑暗里的迷离的树影，丫杈着，刺着暗灰的天。在三个月前，这秃光的枯枝上，有过一串串的叶子，在萧瑟的秋风里打战，又罩上一层淡淡的黄雾。再…

所以我放弃了音游。
type: item
date: 2024-08-02T09:03:00+00:00
description: [hplayer][Music server="tencent" id="002wAxqc0RpVL5" type="song"/][/hplayer]一个不小的房间，这是男人的卧室。这个男人21岁了，他好像刚从睡梦中醒来。看了看表，下午2:25。还早呢。男人这样想着，不如来一把音游再走吧。——即便他已经知道自己手底下已经堆了干不完的活，这个自诩为90%的“J人”还是一如既往头也不回地将自己精心定制的计划束之高阁，打开了平板。那块平板是去年夏天换的，上一块平板的死状历历在目，不过男人没有理会，因为他手里的这块平板业已伤痕累累：钢化膜从一角裂开，一条裂缝顺着一朵花纹顺流而下，在镜头边角画了一个三角形；屏幕中央偏下的特定位置，那里的疏油层已然脱落，即使是隔着钢化膜都能看到几个像是油手印的痕迹，好像和野兽近身缠斗过；屏幕边框更是惨不忍睹，一侧已经向下微微凹陷，使得屏幕和背板之间生出一道罅隙……男人没有在乎这些，正如他起初向父母请求买平板时的动机是生产力那样，一切的一切都是对自己过去承诺和行动戏谑的奚落。就打一两把9的小歌1就走。男人想着，点亮屏幕，熟悉地跳过生产力页面来到最后一页，那里罗列着自己玩过的所有音游。打开Arcaea，男人的手指蠢蠢欲动。要不打两首难的吧？男人似乎觉得自己状态不错，毫不犹豫地打开了新绿包2，看着自己F0C73的成绩，男人想着，不然今下午先试试能不能全连1首吧！两点四十，男人打开了第一首歌，那首9+难度的歌曲。然而天不遂人愿，男人似乎总在某些相同的地方出错，有好几次眼看就要FR了，或者难点过了，却总在后面的某个不经意的点漏掉。男人并没有注意时间，他只觉得暴躁。他扯着嗓子大吼起来，好像在咒骂谱师为什么写得这么难，又像在骂自己无能。继续打，男人迟迟没有获得自己想要的成绩。越往后，他越暴躁，每逢一个漏击他都要把嗓子喊哑，用拳头哐哐猛捶平板，好像这是平板的错。音游就像一把钥匙，可以导引男人的心灵挣脱正常人的范畴，并打开一个名为“野兽”的开关。渐渐地，这个21岁的男人忘了时间，或者说不在乎时间——他已然决定，自己不打出像样的成绩就不走了，哪怕自己一开始只说小玩几把。很快，男人起床一小时了，他知道自己早已经过了计划中要去自习室的点，但他还是磨蹭在卧室书桌前做着无用功。每逢不顺意，他就要像猩猩那样捶胸顿足、大吼着想要撕碎平板。最后，几乎像他每次碰音游那样，他崩溃了。毫不意外，他把这块叙利亚战损版的平板掷了出去，平板的一角着地，做了一个后空翻，沉默不语的屏幕倒映出男人喘着粗气的脸，钢化膜上的裂痕又把男人的面庞撕成两半，像是案板上对切的小米辣。很快，男人眉毛的倒八字变成了正八，极度的冲动之后，带来的是一种满溢着悲伤的扭曲痛苦，这种无法控制的痛苦将男人拉下万丈深渊，其中好似杂糅着冲动的悔恨、对自己无能的厌恶、打破计划的愧疚和对虐待平板的悲哀。一锅乱炖的混合汤汁刚刚出锅，便要整锅浇在男人头上，很快便把男人的情绪从顶峰扯至低谷。男人只感到一阵不受自控的脱力和来自心脏的悲鸣。他太熟悉这种感觉了。几乎每次打过音游都是这样的结局——他到底做错什么了？起初不都是为了快乐吗？为何打至最后总要到这步田地呢？有点太过火了。男人捡回了平板，他望着这块屏幕，想起了上一块平板的惨状——大抵与现役的这块情况一致。一股冲动从心中升起，不过这次，好像有变化。男人开了锁，还是跳过了生产力，来到了音游区。不过这次，他按住了那个熟悉的图标。“确定要卸载吗？”……做完这些，望着空荡荡的文件夹，男人松了口气。他知道他的生活已经离不开音游，但，为什么不能给自己一次就此别过的勇气，哪怕是一阵子、一段时间——嗯，足够到冷静下来，足够到有时间自我反思，或许足够到找回别的爱好兴趣，譬如那个捧着书的自己，抑或那个握着钢笔的自己，还有骑在Gravel上的那个自己，哪怕是站在街机前的自己，也比冲着平板大吼大叫的这个自己要强得多了。果断穿戴好衣服，拿起电脑和背包，男人走出了家门。时针指向3:40，距离男人起床已经一小时十分钟。锁上门，男人跳上了电动车。男人突然想写点什么。他在路上风驰电掣，一边想着。不然题目就叫，所以我放弃了音游吧。男人暗自点点头，走进了自习室，打开了电脑屏幕。四点整，自习开始了。 指游戏Arcaea中等级为Future 9的普通歌曲。 ↩ 指Arcaea在2024年7月底推出的新曲包：Absolute Nihilism，因为曲包剧情的主角咲彌的主题色是绿色，又因为是以其为主题推出的第二个曲包，故名。 ↩ F0指的是曲包内歌曲Full Recall（全连，FR）的数量为0，C7指的是Track Complete（通关，TC）的数量为7.这个曲包一共7首歌，所以F0C7的意思是7首歌全通关但没有任意一首是全连成绩。 ↩

【Python基础教程·第六辑】文件及IO操作
type: item
date: 2024-07-03T13:03:36+00:00
description: Python(6): 文件及IO操作1 文件1.1 概述存储在计算机的存储设备中的一组数据序列就是文件。不同类型的文件通过后缀名进行区分。在Python中，文件被分为两类：①文本文件；②二进制文件。1.2 文件的基本操作打开/创建文件：name=open(filename,mode,encoding)filename: 文件名mode: 打开模式（详见下表）打开模式说明r以只读模式打开，文件指针在文件的开头，如果文件不存在，程序抛异常rb以只读模式打开二进制文件，如图片文件w覆盖写模式，文件不存在创建，文件存在则内容覆盖wb覆盖写模式写入二进制数据，文件不存在创建，文件存在则内容覆盖a追加写模式，文件不存在创建，文件存在则在文件最后追加内容+与w/r/a等一同使用，在原功能基础上增加同时读写功能encoding: 编码模式若文件名在目录中未创建，则会自动创建一个文件，不会报错。操作文件：① name.read() 只读② name.write(s) 覆盖写入读写方法说明file.read(size)读取指定字节的字符，若无参数则读取全部，结果为字符串类型 括号中为所读取字符数，而非字节大小file.readline(size)读取一行数据，若给定参数，则读取改行指定字节的字符，结果为字符串类型file.readlines()读取全部内容，结果为列表类型file.write(s)将字符串s写入文件file.writelines(lst)将内容全部为字符串的列表lst写入文件file.seek(offset)改变文件操作指针的位置 注：指针默认位置为文档首端，括号中为字节大小 （英文=1B，中文GBK编码=2B，UTF-8编码=3B）关闭文件：name.close() 1.2.1 例11.1：文件的基本读写def my_write(): # 定义函数 # (1)（创建）打开文件 file=open('a.txt','w',encoding='utf-8') # (2)操作文件 file.write('The Great Chinese Dream') # (3)关闭文件 file.close() # 读取 def my_read(): file=open('a.txt','r',encoding='utf-8') s=file.read() print(type(s),s) file.close() # 主程序运行 if __name__ == '__main__': my_write() # 调用函数 my_read() 1.2.2 例11.2：文件的写入操作def my_write(s): file=open('b.txt','a',encoding='utf-8') file.write(s) file.write('\n') file.close() def my_write_list(file,lst): f=open(file,'a',encoding='utf-8') f.writelines(lst) f.close if __name__ == '__main__': my_write('伟大的中国梦') my_write('北京欢迎您') my_write_list('c.txt',['姓名\t','年龄\t','成绩\n','张三\t','30\t','98']) 1.2.3 例11.3：文件的读取操作1.2.3.1 全部读取（第7行）def my_read(filename): file=open(filename,'w+',encoding='utf-8') # 'w+'兼备写入和读取功能 file.write('你好啊') # 写入完成，指针在最后 file.seek(0) # 把指针置于最前端 # 读取 s=file.read() # 读取全部 print(type(s),s) file.close() if __name__ == '__main__': my_read('d.txt') 1.2.3.2 读取指定字符数（第7行）def my_read(filename): file=open(filename,'w+',encoding='utf-8') # 'w+'兼备写入和读取功能 file.write('你好啊') # 写入完成，指针在最后 file.seek(0) # 把指针置于最前端 # 读取 s=file.read(2) # 2指的是两个字符，而非字节 print(type(s),s) file.close() if __name__ == '__main__': my_read('d.txt') 1.2.3.3 读取一行数据（第7行）def my_read(filename): fil…

【Python基础教程·第五辑】模块及常用的第三方模块
type: item
date: 2024-07-03T12:59:12+00:00
description: Python(5): 模块及常用的第三方模块1 模块（Module）1.1 模块的定义、功能和特点在Python中，一个后缀名为 $.py$的Python文件就是一个模块。模块中可以定义函数、类等，是特定功能代码的一种封装。模块也可以避免函数、类、变量等名称相冲突的问题。模块不仅提高了代码的可维护性，还提高了代码的可复用性。模块的命名规范如下：①全部使用小写字母；②多个单词之间使用下划线分隔。若自定义模块名称与系统内置模块名称相同，在导入时会优先导入自定义模块。1.2 模块的分类1.2.1 系统内置模块有开发人员编写好的模块，在安装Python解释器时一同安装至计算机。1.2.2 自定义模块一个以 $.py$结尾的文件就是一个自定义模块。1.2.2.1 作用规范代码，将功能相同的函数、类封装到一个模块中，提高代码可读性。可被其他模块调用，提高开发效率。1.2.2.2 例10.1：自定义模块my\_info# 假设本模块名为“my_info.py” # 自定义变量 name='njsukleo' # 自定义函数 def info(): print(f'Hello, everyone. I am {name}') 1.2.3 第三方模块由全球Python爱好者、程序员、各行各业的专家进行开发和维护。1.2.3.1 安装与卸载（以下指令适用于cmd/Powershell）安装：pip install module_name 卸载：pip uninstall module_name 升级pip：python -m pip install —upgrade pip 检测是否安装了某个第三方库：pip show module_name 1.3 模块的导入1.3.1 import导入语法结构：import module_name [as alias] 若模块名过长，允许在import后定义一个别名（alias）进行简便调用。注意，在取别名后，打点调用时必须使用别名。1.3.2 from...import导入语法结构：from module_name import variant/function/class/* 通过此方式可以导入模块中的变量、函数和类。$*$是通配符，表示导入全部内容。1.3.3 例10.2-10.4：模块的导入import my_info print(my_info.name) # 打印自定义模块的变量 my_info.info() # 执行自定义模块的函数 import my_info as a # 定义别名 print(a.name) a.info() from my_info import name print(name) # 此种方式不需要再打点调用 # info()使用不了，因为没有导入（NameError） from my_info import info info() from my_info import * # 导入全部内容 print(name) info() # 同时导入多个模块 import math,time,random # 调用时有同名变量或函数冲突：后者会覆盖前者 # 解决方法：使用import ...导入模块后单个打点调用变量或函数 # 假设有一个intro.py模块中与my_info.py有同名变量和函数 from my_info import * from intro import * info() # 此时会调用intro模块中的info函数 import my_info import intro my_info.info() intro.info() # 确保了两个函数不发生冲突2 包（Package）2.1 定义包（package）是含有 $\verb|__init__.py|$文件的文件夹（目录）。可以避免模块名称相冲突的问题。2.2 创建包在PyCharm中右击目录，选择$\verb|New >> Python Package|$，再进行命名即可。包创建完成后，自带一个空的 $\verb|__init__.py|$文件。2.3 包的导入2.3.1 import导入导入语法结构：import package_name.module_name [as alias] 2.3.2 from...import导入以“包名-模块名”导入的语法结构：from package_name import module_name [as alias] （打点调用）以“包名.模块名-函数名/变量名”导入的语法结构：from package_name.module_name import variant/function_name [as alias] （无需打点调用） 2.3.3 init执行问题…

【Python基础教程·第四辑】组合数据类型
type: item
date: 2024-07-03T12:54:40+00:00
description: Python(4)：组合数据类型-序列/列表/元组/字典/集合序列和索引序列（Sequence）序列，是一个用于存储多个值的连续空间。属于列表结构的还有列表、元组、字典和集合。其中，列表和元组称为有序序列，字典和集合称为无序序列。此四类又合称为Python中的组合数据类型。索引（Index）序列中的每一个值都对应一个整数的编号，称为索引。索引有两种类型：正向递增索引和反向递减索引。如下图：n个元素组成序列的正向递增索引的范围是从0（对应第一个元素）到n-1（对应第n个元素）；n个元素组成序列的反向递减索引的范围是从-n（对应第一个元素）到-1（对应第n个元素）。例5.1：使用索引检索字符串中的元素说明正向递增假设字符串 s 是 'helloworld'，len(s) 是 10。range(len(s)) 生成从 0 到 9 的整数序列。第一次循环：i 是 0s[i] 是 s[0]，即 'h'print(i, s[i], end='\t\t') 打印 0 h，然后添加两个制表符 \t\t第二次循环：i 是 1s[i] 是 s[1]，即 'e'print(i, s[i], end='\t\t') 打印 1 e，然后添加两个制表符 \t\t依次类推，直到 i 为 9。反向递减：同理如上。# 正向递增 s='helloworld' for i in range(0, len(s)): print(i,s[i],end='\t\t') print('\n---------------') # 反向递减 for i in range(-10,0): print(i,s[i],end='\t\t') # 正反一致性 print('\n',s[9],s[-1]) # 其获取的字符是一致的序列的操作序列的切片（Slicing）参见：索引和切片切片是访问序列中一定范围内元素的一种方法，不仅可以应用于字符串，还有其他类型。切片操作的语法结构：[start:end:step] start: 切片的开始索引（包含）end: 切片的结束索引（不包含）step: 步长（默认为1）1例：序列 [0:5:2]例5.2：序列的切片操作s='Helloworld' # 切片操作 s1=s[0:5:2] # 索引从0开始，到5结束（不含5），步长为2，结果为：Hlo print(s1) # 省略开始位置，start默认从0开始 print(s[:5:1]) # 结果为：Hello，等同于print(s[0:5:1]) # 省略开始位置和步长，start默认从0开始，step默认为1 print(s[:5:]) # 结果为：Hello，等同于print(s[0:5:1]) # 省略结束位置，stop默认到序列的最后一个元素（包含最后一个） print(s[0::1]) # 结果为：Helloworld，等同于print(s[0:11:1]) # 省略结尾位置和步长 print(s[5::]) # 结果为：world print(s[5:]) # 同上 # 省略开始位置和结束位置，只写步长 print(s[::2]) # 会获取索引为0/2/4/6/8的元素，结果为：Hlool # 步长为负数 print(s[::-1]) # 逆向输出，结果为：dlrowolleH print(s[-1:-11:]) # 使用反向递减索引，结果同上序列的函数和操作符操作符/函数描述说明x in s若x是s的元素→True；反之Falsex not in s若x非s的元素→True；反之Falselen(s)序列s元素的个数（即：序列的长度）max(s)序列s元素的最大值min(s)序列s元素的最小值s.index(x)检索x首次出现在序列s中的位置s.count(x)检索x出现在序列s中的次数例5.3：序列相加和相乘s='Hello' s2='World' print(s+s2) # 产生一个新的字符串序列 # 序列的相乘操作 print(s*5) # 重复五次，代替循环 例5.4：序列的相关操作符和函数的使用s='helloworld' # x in s 的使用 print('e在s中存在吗？',('e' in s)) print('v在s中存在吗？',('v' in s)) # x not in s 的使用 print('e在s中不存在吗？',('e' not in s)) print('v在s中不存在吗？',('v' not in s)) # 内置函数 print('len():',len(s)) print('max():',max(s)) print('min():',min(s)) # 序列对象的方法（使用序列的名称，打点调用） print('s.index():',s.i…