如何优雅地使用 Python
记录一些经常用到的 Python 技巧和方法。
基础
变量是将名字和对象关联起来,变量名是对象的引用而不是对象本身。
可变对象 的内存地址可以改变,也可以修改当前指向的对象的值,例如列表、字典和集合等;
不可变对象 的内存地址永远不会改变,无法修改其值,例如整数、浮点数和字符串等。
1234a, b = [0] * 10, [{}] * 10 # 生成内容的地址均相同print (id(a[0]) == id(a[1])) # Trueprint (type(a[0]), type(b[0])) # <class 'int'> <class 'dict'>a = b; a = b[:] # 前者单纯地改变内存地址,后者能复制一份列表 b
数值类型和字符串类型的基础运算
1234567891011120x(1), 0o(1), 0b(1) # 十六进制,八进制和二进制的字面量hex(), ...
武汉游记
周二抢到了演唱会门票,周六早上就飞去武汉,纪念一下这说走就走的四天旅行。
起因和旅游准备
周二下午励颖突然给我发了一条微信:帮我抢到了一张 990990990 内场的武汉蔡依林演唱会的回流票,自己的没抢到。为了这一千的沉没成本,我和她在晚上翻遍了闲鱼,寻找同位置的黄牛票。蔡依林演唱会采用最近比较流行的强实名机制,彻底杜绝了“大众黄牛”,只能找那种有官方背景的黄牛。内场总共分为 1390,1190,9901390,1190,9901390,1190,990 三档,990990990 的票数最少最难买。闲鱼上 990990990 只能买到 111 区 101010 排或随机位置(应该是官方给黄牛预留的)。考虑到已出票的座位号是 222 区 191919 排 444444 号,我就挑了后者(希望能随到 222 区吧),花了 160016001600。人生中的第一次演唱会,就这么糊里糊涂地开始了。拿下演唱会门票后我们开始规划这突如其来的武汉之旅:周一周二请假两天,在那呆四天。
搜了搜周五晚上的飞机,只有 19:5519:5519:55 这一班。时间看起来很完美,计算后发现励颖很悬——她 1 ...
朝花夕拾·漫谈高中
记录了 高中 的记忆片段。
一中简介
新高考和分班
竞赛之路
课间生活
高考前,在语文年段长王老师的推动下,流行起晚自修前看《朗读者》的风潮。老师们的本意是好的,但大部分同学并没有认真去聆听和汲取里面的语文素养,而是将其当做了一段很好的休息时间甚至聊天时间。每当吃完晚饭回到教室,窗帘正在被拉起来的时候,我都会出神地望着缓缓下拉的大屏幕,听着教室里喧闹的声音,心想:再过几个月等高考一过,大家就四散飞翔了——我只能把握如今,与大家共度一个个青春的夜晚。
课余生活
有了初中的铺垫,我继续在长跑方面发光发热。运动会最远的田径项目是 1500m1500m1500m 和 3000m3000m3000m,高一高二的时候两个项目都拿了冠军(下图是高二的决赛成绩单)。当然这成绩也不是随上随有的,往往在比赛开始前一个月就得开始练习了。短则一两圈,中则四五圈,多则超过 3000m3000m3000m(为了防止比赛前期用力过猛导致后劲不足)。起跑前后是最紧张的,总是担心起跑被挤,或者中途鞋带散了、肚子疼了;中后期紧张感已经全被疲惫感替换了,不断消费自己的毅力向前冲。我校有个奇怪的传统:如果周四周五是运动会, ...
杂乱而有趣的冷知识合集
这里将记录我在知乎等地学到的各种奇奇怪怪的知识。数学和计算机科学会专门记录于 这里。
兰彻斯特方程 Lanchester’s laws
兰彻斯特方程由英国人弗雷德里克·威廉·兰彻斯特首先在一战前期(1914 年)创立。它采用数学演绎战术原则,提出了一个关于空战战术的尝试性数学模型,描述作战双方兵力变化过程的数学微分方程。
兰彻斯特线性率,主要为模拟古代作战。
兰彻斯特平方率(兵力之比代表着战力平方之比),主要用于模拟近代作战。
毛毛帽 Fluffy Hat
DOTA2 中有一件物品 Fluffy Hat(毛毛帽),英文描述:
Fine and functional foppery for the fashion-forward fighter.
直译:给时髦前卫的斗士准备的高品质又实用的精美奢华饰品。
DOTA2 官方中文翻译:
缤纷纨绔绒,纯绚绵绝缎。
冒名頂替症候群 Impostor Syndrome
冒名頂替症候群在 1978 年由临床心理学家克兰斯博士与因墨斯所提出。患有冒名顶替症候群的人无法将自己的成功归因于自己的能力,并总是担心有朝一日会被他人识破自己其实是骗 ...
赛尔号PVE百科全书
在这篇文章里,我将详细收录 赛尔号页游 & 互通手游 中一些不太寻常的游戏机制。注意,本文不是新手教程,对一些常规机制不会做太多的说明,定位是 拥有一定门槛的《PVE 百科全书》。
鸣谢 B 站大佬:dqs 白纸,摸鱼的橙汁,异域华尔兹,流风天啸,晶蓝实验室,摸鱼的娜娜。
鸣谢贴吧大佬:假诩,铭记,飞鱼三千里,哇内外妇儿,阿米族联盟。
工具相关
2015 年 7 月,北冥玄武上线后被发现可以用草马无脑瞬,但冗长的出招总是让小赛尔们奋斗几个小时后白屏。第一款爆红的 V171 登录器就是为了解决频繁白屏的问题,随后赛尔桌面版、子杰登录器等产品相继出现,打开了登录器这个全新时代的大门。由于这属于官方不承认的第三方软件,起初只有小规模玩家使用登录器;推着时间的推移,登录器越来越丰富的功能吸引了越来越多的用户,而始终绕不开的盗号风险只能靠对作者人品的信赖。橙汁曾开发过一款流畅而稳定的 Waking辅助-Seer登录器,可惜在 2020 年 2 月 14 日因精力不足和饱受质疑而 停运。为了应对 2021年 1 月12日 Flash Player 插件被禁用,赛尔号官方在 2020 年底 ...
赛尔号决策类游戏收集
在这篇文章里,我系统性地整理了《赛尔号》近几年每周活动中的 决策类游戏。其中:
主要是精灵对战或走剧情的不收录,例如 光与影的试炼、午夜追魂剧场、探索远坠盆地、一日城主。
主要靠键鼠操作的不收录,例如 植树送精灵(兔子跳地球)、星海的研究、密室机关盒。
过于老套或几乎不用动脑子的不收录,例如 破解幽契/幻光之门(扫雷)、法莉的烦恼(连连看)。
这些游戏基本都是 技术+运气 相结合的 趣味游戏,而且只用简单策略并全勤参与往往也能拿满有用的奖励。
每个游戏的标题源于官方命名,底下还标有具体的更新时间,可以在 B 站搜索标题来获取更详细信息。
游戏总体上按月日的时间顺序排序。考虑到小游戏会复刻,多次出现时会取平均数或中位数参与排序。
每个游戏都有图片展示,一般至少会有界面/规则+得分展示两张图。规则图大多是去 B 站搜的,如有水印保留了水印,侵删;分数图基本是靠自己打的,我有把自己的周活动高分结果保存下来的习惯。
神秘俱乐部
更新时间:2023-1-19 神秘俱乐部 / 2024-2-16 神秘俱乐部。
游戏规则介绍:有三种牌,分别为太阳牌、月亮牌和星星牌。
一共有四个人玩游戏。每 ...
趣题摘记-算法题精选-2
这一系列文章记录了我遇到过的一些 趣题。
文章内容
简介
奇思妙想
数学和计算机领域,通过小小思考后能豁然开朗的趣题。
概率和期望
数学和计算机领域,与概率和期望相关的趣题。
算法题精选-1
OI/ICPC 向的算法题,去其琐碎、留其精髓,望博君一笑。
算法题精选-2
OI/ICPC 向的算法题,相比上一期题意更简洁,出处往往不可考。
按机器得金币
题意:有 nnn 台机器。第 iii 个机器在前三次被按下时,分别掉出 ai,bi,aia_i,b_i,a_iai,bi,ai 个金币,第四次开始不会掉金币。对于每一个 k=1,2,…,3nk=1,2,\dots,3nk=1,2,…,3n 都要询问:如果按正好 kkk 次,最多能掉出多少金币。n≤105,v≤109n \le 10^5,v \le 10^9n≤105,v≤109
题解:每个机器的选择之间有限制,不利于分析。一台机器的四阶段顺序事件 (0,+ai,+ai+bi,+2ai+bi)(0,+a_i,+a_i+b_i,+2a_i+b_i)(0,+ai,+ai+bi,+2ai+bi),可 ...
Docker
Docker 是一个很基本的工程工具。本文总结自 《每天5分钟玩转Docker容器技术》。
容器简介
容器核心技术包括以下内容:
规范:Docker、CoreOS、Google 等公司成立了 Open Container Initiative 制定容器规范。
runtime:为容器提供运行环境,包括 lxc(老牌)、runc(Docker 默认) 和 rkt(CoreOS 开发)。
管理工具:lxd(对应 lxc)、docker engine、rkt cli(对应 rkt)。
Registry:存放和管理镜像的仓库。
容器 OS:与传统 OS 相比体积较小,运行效率高,包括 CoreOS、atomic、ubuntu core。
容器平台技术包括以下内容:
容器编排引擎:把容器有机地组合成微服务应用,进行容器管理、调度、集群定义和服务发现等。
docker swarm:Docker 公司开发。
kubernetes:Google 开发,同事支持 Docker 和 CoreOS。
mesos+marathon。
容器管理平台:抽象了上述引擎的底层细节,是一个更为通用的平台。包 ...
Rust从入门到放弃
这篇博客我将详细介绍 Rust 这门语言。从创建本博客至此刻大更新(2024-5),我的 Rust 开发经验已是两年有余了——我认为它是互联网厂商泛工程开发中最合适的语言。根据我的体验,它至少拥有以下优点:
好用的语言特性。可提高安全性的强语言类型、提高开发效率的自动类型推导、成熟的流操作等等。
舒适的开发环境。VSCode+RA,rust-fmt 和 rust-clippy 等工具让代码开发成为一种享受。
良好的异步引擎。不用基于麻烦的回调或 Webflux,像同步代码一样写异步!
高效。据传 Rust 和 C 的代码速度比是 1.07:1。这个特性让 Rust 能用在量化交易系统和链上系统。
安全。这是 Rust 被吹得最多的一点,诸如“内存绝对安全“、”只要过编译就罕有 bug”。我对这个特性的认知比较保守:至少,Rust 拥有一个强大的编译器,借用检查、生命周期等机制能有效降低内存泄漏的可能性。
优秀的包管理系统和良好的生态。Cargo 不能说是最强的包管理系统,但肯定是好用者之一。
Rust 的缺点不多,体感最强烈的是编译速度太慢。一般我敲入编译或测试的命令时就会去茶水间 ...
横店游记
2021.09.19−09.202021.09.19-09.202021.09.19−09.20 的中秋佳节,和励颖去横店玩了一趟。
本来计划去杭州周边(如安吉)漂流,但是体验好的漂流都坐落在偏僻的农村,来回交通不方便,而且除了漂流也没别的活动。在美团搜到了横店的梦幻谷水世界,加之影视城周边还有很多宫殿可以游玩,遂敲定了行程。
我们在景点的选择和票务的购买研究了很久,最后买了 梦幻谷+三个主题景点 的两日套票,并规划了具体的游览时间。景点联票 410×2410 \times 2410×2,交通费 350350350,住宿一晚 200200200,总消费 1.5k1.5k1.5k。
明清宫苑
杭州到义乌的高铁只要半小时,最麻烦的是从义乌去横店,直接打车要 140140140 左右。我之前规划了一个高性价比的公交+打车方案,但出了火车站烈日炎炎,完全走不动路。还好励颖机智,花了 60−60-60− 拼到顺风车,省钱省力。
我们下榻的梦意酒店位于梦幻谷和秦王宫之间,距离明清宫苑较远。中午稍事休息后打车前往。
明清宫苑仿故宫而建,是中国大部分宫廷剧的拍摄地。由于是 1:11:11:1 还原, ...