评分 0, 满分 5 星
0 票

https://docs.python.org/3/tutorial/modules.html

一个module就是一个python文件,module的名字就是文件的名字。这个名字在module里保存在__name__变量中。

module里可以包含可执行的语句,这些语句在module第一次被import的时候执行,一般用于初始化。

每个module都有其私有的symbol table. 如果你知道自己在干什么,可以操作这个表。

module可以引入别的module. 这样会将被引入module的symbol table被弄到当前module里来,也可以只引入指定的名称(方法和变量)。引入的时候会排除掉以_开头的,这些被视作模块所私有的。Python用命名来区分私有和公共,并没有更严格的访问控制机制。一般来说 import * from module1是不提倡的,会污染代码可读性。

module也可以直接被执行,这时__name__将会是__main__. 这是Python的main方法。

module搜寻的路径

  1. 内置模块
  2. 在sys.path里寻找,分别是
    1. 当前文件夹
    2. PYTHONPATH指定的文件夹
    3. 安装默认值

__pycache__目录里保存着预编译的python模块文件。

标准模块不需要import.

评分 0, 满分 5 星
0 票

距离上一篇博客已经几乎两年了。如今写博客大概已经成为了跟用黑胶唱机听音乐一样复古的行为了吧。

Anyway, 刚刚花了一些时间给这里添加了https支持(Of course it is Let's Encrypt!),并把Wordpress升级到了最新的5.0. 新的编辑器界面看起来相当不错,至少让人有想要写点什么的欲望。

希望2019年能在这里多留下一些文字。日记、微博、Twitter、朋友圈,以及博客。写的越多越好,哪怕只是为了给自己留下点记录而已。

评分 0, 满分 5 星
0 票

现在是晚上十一点差五分,刚刚读完一章「我的职业是小说家」,摘抄了相当数量的文字。直接照录而不是一边回想一边用自己的语言重新组织一遍,是因为……这毕竟是类似小说的文体,而不是什么技术性的专业书籍。与其说是要确切的获得什么知识,不如说是为了在读书的过程中体会一种感觉,读村上春树的书时常会有这种温润的感觉,心情会变得放松下来,想听舒缓的音乐。(这时耳机里就放着一盘Gregory Porter的Jazz专辑,在Apple Music里随便选的。选择Jazz genre自然也是因为村上春树。)

说到这,我听的音乐太少了,以至于至今并没有形成真正属于我个人的音乐偏好(Preference)。在听音乐这种事情上,「不偏不倚」恐怕并不是什么值得夸耀的态度。「我那个时候狂热的喜欢着摇滚」,「把唱片店里的爵士专辑一盘不落的听了个遍」——类似这样的话光读着都觉得心旷神怡。可是现在我们不具有这样的条件了,换句话说,不具有这种accessibility上的局限性。(富足反而成为了一种局限,换成流行的词就是选择困难。)说起来还是希望自己能爱上音乐的,倒不必特意趋炎附势的要去喜欢摇滚、古典、爵士,而是得大体上、相当程度的热爱音乐,一有机会就多听音乐。不过有一件事情还没弄清楚,有机会的话想找找村上春树的回答,就是音乐是更多的作为一件完全占据意识中心的活动,还是说权当配角,作为其他事情的背景,悄悄的沁入潜意识里?(偶尔有特别精彩的段落,大脑自然会上下文切换去凝神细听:嗯,刚才那一段的确不错。)若是需要专门的听,难免又扭扭捏捏的想,如今的生活节奏,哪有专门的时间空出来去只用耳朵听呀!我现在可是不需要每天通勤嘞。

村上春树在这本书里详细的写了他创作小说(尤其是长篇小说)的细节。说起来,他采用的方式,拟定的规则等几乎跟现在认知科学、心理学所推崇的一致。(阳志平先生开创并授课的认知写作学,最为切题。)例如,要快写慢改。例如,写作要有节奏,文思泉涌的时候,够了字数也要搁笔;文思枯竭的时候,也得勉力而为的写够数量。「做一项长期工作时,规律性有极大的意义。」例如,每天进行相当强度的身体锻炼。(锻炼是促进神经元生长,加固脑中刚刚生成的组块的最好途径之一,就仿佛往刚搭的砖墙缝中抹入水泥。)例如,写完之后要尽可能的多做修改,不断的改写、润色、重读。那种一气呵成写出佳作的例子不能说世界上绝不存在,但想要像村上这样几十年保持写作的热度和水平,可能性几乎为零。

所以说,有些人就是以几乎直觉一般的方式去洞悉了世界本来的运行规律,随后照之执行。

我每天写1000字的日记,有时候当天并没有发生什么事情,一直都坐在桌子前吭哧吭哧着使用着电脑(说是坐在桌子前全在编程或是全在消遣都未免太过偏颇,所以说使用着电脑)。或者明明一天在外奔波,却觉得所见所闻并没什么好写的,换言之无感可发,这个时候就只得绞尽脑汁的遣词造句,有时候甚至会故意把句子写长一点以凑字数。但有的时候(比如现在),大概是刚刚读了村上春树书的缘故,似乎心底动词打次的敲着小小的节奏,指尖的字得以一个一个的蹦出。实际上说起来也没写上什么值得写的东西,比如现在,但细想起来村上的书也是如此这般,看起来似乎啰啰嗦嗦的写了不少,一看好多页了,但回想起来并没有什么惊涛骇浪的情节,大部分时候都是主角一人独自在房间读书、听音乐、做饭、发呆,跟作者本人的日常生活恐怕差不多。但读的时候可以多少体会到这种情景中作者想写、想传递的东西,说倒也说不清楚到底是什么,但读完会很愉快,如此多的人喜欢村上春树,肯定是抓住了什么本质的东西(同样的话来描述郭敬明是不是也适用呢?我严肃的问自己。毕竟日本文坛也有相当多的所谓专业评论家批评村上春树的作品空洞啦,不成体统啦,小说怎么可以这么写啦)。扯远了,总之就是,现在这种时候,可以流畅的写出很多字来,于是就把明天的日记也写了。事已至此,这究竟还能叫日记吗?恐怕算作1000字一页的容器更为恰当。无论如何,读了村上谈写小说的情形,我得到了相当程度的解脱,因为自己所践行的方式,巧妙的与他的经验所契合。(昨天也聊了这个来着。)

首先是每天无论如何都要写1000字,哪怕有时候需要凑字数,这也没关系,别说是自己一个人看的到的文字了,就算是正儿八经出版的书,村上说啦,也是紧疏有致,节奏间落,总有地方写的草率,给读者缓口气的;而碰巧找到节奏感,自觉可以写个不停的时候…… 我之前是提前完成接下来一天的配额,现在想起来似乎又得停笔不写为更好?不过我这是短篇随笔,并不像长篇小说具有内在的生命力可以独自生长啊。

其次,并不是需要人生如演电影一般每天过的富有戏剧性,才能写出好文字的。至少就村上而言,是利用「E.T方式」,「打开后院的储物间,将里面现成的东西——哪怕触目皆是一文不值、形同废物的东西——不问青红皂白,先抓住几件来,再努力砰的一下施展魔法。」我相当中意这样的方式,因为……我虽然乐于去尝试很多东西,但的确缺乏跌宕起伏的生活经验,人生到目前为止算是波澜不惊,所以也只能如此告诉自己,使自己相信,哪怕没有什么东西可写,也可以构建出好的文字,讲出触动人心的故事。我是具有这样的能力的,说是天赋也好,毕竟生性细腻敏感。

 

评分 0, 满分 5 星
0 票

读了余晟的一篇「分享一些习惯」,初稿写于七年前,算是旧文了。他写的时候应该比我现在的年龄还小。我读起来,深以为然,觉得这些习惯都极为可靠,其中有几个我也是最近刚刚慢慢培养起来。

  • 长期的任务要尽早开始
  • 时常跳出来想想:目的是什么
  • 给自己设定明确的时间点
  • 留下详细的记录
  • 早起
  • 培养规划和思维能力

我现在做的比较好的,大概只有「留下详细的记录」了,每天会写日记。写日记除了日后回顾外,很有用的一方面就是无形中督促自己多做有意义的事情,不要虚度光阴。因为每天写日记的时候都要去想这一天做了什么,如果没有完成什么事,那么就很难下笔。同时写日记也能促进自己将平常跟同事或朋友的一些讨论,或是自己对事物事件的看法写出来成文字,这样思考更系统和深入一些,以后读起来也能看到自己的思想轨迹。

长期的任务要尽早开始,其实昨天谈游泳健身的时候我就写了。带来最大痛苦的是开始之前的畏难导致的恐惧,而非真正的生理痛苦或事实对自己造成的伤害,还不如马上开始动手,多少做一点事情,哪怕是列个任务清单,准备点学习资料,让事情滚动起来,从而开始有反馈和改进。

时常跳出来想想:目的是什么,我是很需要学习的。之所以我在别人眼里很能解决具体的多方面的小问题,但实际上缺少掌控稍微大点的任务的原因是,我非常容易偏离当前的目的。当然,这在某种程度上是好的一面,就是现在我在碰到问题时,会努力去搞清楚为什么,迎难而上,然后把问题解决,不过这个过程有时候耗费了太长时间,尽管过程中我学到了很多相关的知识,但有时候绕过障碍是时间性价比更高的选择。

给自己设定明确的时间点,现在做的一般,对于日常的临时工作和生活上的事情,最近倒是经常用wunderlist, 设定明确的due day, 但最重要的工作项目,却很少这样做。大概是连切分任务都有点力不从心吧。分而治之——首先分都做不到的话,治就更无从谈起了。

早起,这是几乎没做到的,在宁波每天是八点半到九点起,而睡得太晚,前天晚上甚至两点半才睡。其实我完全可以12点以前睡,然后7点起。觉得一个人学习工作效率高的话,早上同样是一个人。

培养规划和思维能力, 几乎还没有刻意的训练过。略微看了一下「怎样解题」,不过有些枯燥,很快就放下了。2017年要努力把它吃透,真正内化其中的思维方法。每天要给自己留一些思维的时间,不要无时无刻都扎在具体的任务里。

前几天潇潇跟我说,觉得我之前跟她说的「慢即是快」很有道理,意思是碰到问题认认真真的把前因后果弄清楚,而不是只求快速的解决掉,总的来说是更加省时间,速度更快的;还说这些朴实的道理因为太朴实,所以都没人相信,只有真正践行的人才发现原来是这么的有用。很高兴能够帮到她成长。

评分 0, 满分 5 星
0 票

今天又想起来了Bash for Windows, 就又试用了下,结果很惊喜。作为一个subsystem而不是虚拟机,它的性能在大多数情况下几乎可以达到原生Linux的水平,只在少数涉及到文件系统的测试中落后较多,毕竟是直接使用的NTFS系统。对于我来说,使用subsystem而不是虚拟机(哪怕是Hyper-V)的好处是:

  1. 当我不使用它的时候,是没有什么东西在运行的。(当然有后台进程除外例如MySQL和Redis。)而想要使用的时候,就直接cmder里运行bash就可以了。而虚拟机的话,得一直运行在那,占用我的内存。(当然虚拟机也可以不用的时候save起来,但save/resume还是需要点开虚拟机去操作,花去额外的时间);
  2. 不需要配置网卡IP, 因为它只是个subsystem, 可以直接访问网络,而网络上的其他机器也可以直接用Windows的IP和端口来访问其中的服务。这样对于开发是极其方便的,比如我之前用虚拟机的话,设置成桥接,在家和公司IP又会变化,由于网段不一样也不能设置成固定IP;设置成NAT呢每次新加服务又得加端口转发规则,着实很麻烦;
  3. Windows的分区是直接在/mnt/c下可用的,不用操心什么挂载之类的事情。用df可以看到rootfs就是Windows的分区,整个文件系统放在C:\Users\Jindi Wu\AppData\Local\lxss. (不过我直接在Windows修改其中的文件,subsystem里好像拿不到更改,是不是存在镜像或缓存之类的机制)?作为开发人员的话,可以直接把工作区用符号链接链到$HOME去。

当然,目前这个subsystem还在高速的演化中。GitHub上微软专门创建了一个项目于收集问题,现在有614个issues! 而微软的官方网站上的Release Notes里看到,最新的迭代又改进了subsystem和Windows的互操作性,例如可以直接在bash里调用Windows的程序,用Sublime Text之类的编辑器来编辑文件。

不过目前也还是有不少bug和缺陷,由于是subsystem而不是虚拟机,所以网络方面似乎支持的并不是很完整,ifconfig和ping都还没办法跑。(最新的新版说是可以无须管理员权限跑ping了)。但是就微软现在这态度,相信这些问题都能得到解决。我已经申请加入了Preview Insider, 希望能早点收到测试版更新。

当前的subsystem是用的Ubuntu 14.04 LFS, 官方源里的软件包都有些古老了,例如没有Redis 3.X, MySQL 5.7这些我需要的软件,需要手工添加apt repos. 最新的build里听说已经是16.04了。