写给 Python 新人:如何更好地在 V2EX 里贴出 Python 代码?

2020-06-25 21:00:25 +08:00
 kinvv

写给 Python 新人:如何更好地在 V2EX 里贴出 Python 代码?

起因

每位点进本帖里来的朋友当然都知道,对于 Python 来说,代码格式并不是仅仅服务于可读性的,而是 Python 的语法。

也正因为这样,在贴出自己的代码时,如果不能保真地展示出自己的代码缩进,就几乎不可能让愿意帮助自己的人方便地复现自己的问题。

可是在浏览 Python 节点时,相信大伙儿也发现了,无法合适地贴出自己 Python 代码的新人朋友们,还是蛮多的。所以我打算在 V2EX 简单地科普一下。

希望可以帮助到一些有需要的朋友。

具体方法

具体的方法很简单,只需要 3 步,容易学会。

第一步:在创建新主题时,在主题文本框的右下角,将文本框的「文本标记语法」从 Default 改为 Markdown

第二步:将自己的代码通过空格调整好缩进,然后包含在 6 个反引号正中间即可。反引号的位置在英文输入状态下 Tab 键之上。还有,部分 Markdown 渲染器可以按指定的代码语言来染色,只需要将具体的语言写在前 3 个反引号之后即可。

第三步:通过 V2EX 的预览功能,检查自己的代码有无达到自己期待的效果。

情况示例:

```python

Your Code.

```

效果演示:


#Version: Python 3
# Date: 2020-06-25

import datetime
import re

def general_split_url(u):
    '''Split URL string to a list.\n'''
    return re.split('[:/.?&=#]',u)

def timestamp():
    '''Return a nowtime string. eg. 2019-12-10 Tuesday PM 20:33:18  '''
    return datetime.datetime.now().strftime("%Y-%m-%d %A %p %H:%M:%S")

写在最后

如此,便能合适地贴出自己的代码。当然,如果你是一名老鸟,本文也许可以帮到你的地方是:在没法三言两语教会新人如何贴出合适的代码时,直接把我的这个链接甩给他。

而如果你自己就是新手,现在就可以创建一个 V2EX 新主题,练习一下 Markdown 下是如何张贴代码的。下次再遇到问题需要求助时,就能用得上了。

之所以想写这个帖子,一是希望帮助一些朋友,二是希望借 V2EX 这个平台认识一些写 Python 代码的朋友。

谢谢大家。

kinvv 于 2020 年 6 月 25 日 端午节

EOF

3574 次点击
所在节点    Python
16 条回复
XIVN1987
2020-06-25 21:08:02 +08:00
回复主题的时候怎么操作??
kinvv
2020-06-25 21:17:21 +08:00
评论里没有看到能调节文本语法器的地方,不如直接在本帖评论里测试一下 Markdown 的方法是否默认可用:

``` python

def foo(): return "Hello, world."

if __name__ == '__main__':
foo()

```
loading
2020-06-25 21:21:19 +08:00
loading
2020-06-25 21:22:32 +08:00
以前会转的
Trim21
2020-06-25 21:28:17 +08:00
jakezh
2020-06-25 21:29:14 +08:00
BadAngel
2020-06-25 21:30:47 +08:00
```
print('hello world')

```

手机做的,不知道是否正确
kinvv
2020-06-25 21:34:22 +08:00
@BadAngel 是的,在创建正文时这么写,就是正确的。
musi
2020-06-25 23:39:00 +08:00
对于没有缩进的 Python 代码我一般选择不看,万一嵌套了几个 for 循环 if 判断啥的,我还得猜代码的位置。。。
mjikop1231
2020-06-26 10:27:42 +08:00
各种 paste 服务和 gist 不香么
levelworm
2020-06-26 11:07:50 +08:00
可惜评论里头好像不行。试试看纯 HTML 。。。

<pre><code class="lang-python"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">test</span><span class="hljs-params">()</span>:</span>
print(<span class="hljs-string">"Yes"</span>)

<span class="hljs-keyword">if</span> __name__ == <span class="hljs-string">"__main__"</span>:
test()
</code></pre>
matrix67
2020-06-26 13:44:54 +08:00
```
print('新人之所以是新人,就是因为他来了之后不会去搜索应该怎么样贴代码空格不会被狗吃掉啊;他只会一上来就贴')

```

所以解决问题之道是用程序去限制,而不是用制度去限制。比如提交框里面检测有没有代码,有代码就全部吃掉不允许提交,然后加一个代码框,让在代码框里面提交。
a22271001
2020-06-26 14:55:51 +08:00
用 pastebin 不就好了
xilou31
2020-06-26 16:16:38 +08:00
可以试试这个网址 https://carbon.now.sh/ ,粘贴代码进去,以图片形式保存即可
yucongo
2020-06-26 18:16:05 +08:00
```python
def func():
...
```
stackoverflow 的缩进几个空格再 markdown 在 V2EX 的回复里行不通?
MerlinShieh
2020-06-29 16:04:28 +08:00
Snipaste 不是天下第一?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/684748

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX