在代码中放置数据时使用技巧来拯救程序员是否可以?

10 投票
13 回答
710 浏览
提问于 2025-04-15 12:53

举个例子:在Python中输入一串字符串真的很烦人:

["January", "February", "March", "April", ...]

我经常这样做,以免到处都要输入引号:

"January February March April May June July August ...".split()

这样做花的时间和之前一样,但我输入的月份数量却翻了一倍。再举个例子:

[('a', '9'), ('4', '3'), ('z', 'x')...]

而不是:

map(tuple, "a9 43 zx".split())

这样做花的时间少多了。

13 个回答

6

在一个比较智能的编辑器里,你可以这样做:

  1. 选择你感兴趣的那几行,
  2. 插入替换内容(比如把"<space>"替换成"<space>",这是第一个例子),
  3. 勾选选中的行的复选框,
  4. 点击“全部替换”,
  5. 啪.. 完成了。

既可读又容易输入... 要好好利用编辑器的强大功能!

19

一个好的文本编辑器可以让这些问题变得不再重要。例如,我可以在我的代码中输入以下这一行:

print `"January February March April May June July August September October November December".split()`

然后我可以使用快捷键 V:!python<ENTER> 来通过 Python 解释器运行这一行代码,输出结果如下:

['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']

我在这里用的是 Vim 作为例子,但我相信用 Emacs、TextMate 等其他编辑器也同样简单。

33

代码通常会被读很多次,而写代码只需要一次。
为了节省写代码的时间而牺牲可读性,通常不是一个好主意,除非你是在写一些临时用的代码。

第二个版本的代码不够明确,你需要花一些时间去理解它在做什么。而我们现在讨论的只是变量的创建,不是算法!

撰写回答