推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
kinvv
V2EX  ›  Python

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

  •  
  •   kinvv · Jun 25, 2020 · 4887 views
    This topic created in 2325 days ago, the information mentioned may be changed or developed.

    写给 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

    16 replies  •  2020-06-29 16:04:28 +08:00
    XIVN1987
    XIVN1987
    Jun 25, 2020
    1
    回复主题的时候怎么操作??
    kinvv
    kinvv
    OP
    Jun 25, 2020
    2
    评论里没有看到能调节文本语法器的地方,不如直接在本帖评论里测试一下 Markdown 的方法是否默认可用:

    ``` python

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

    if __name__ == '__main__':
    foo()

    ```
    loading
    loading
    Jun 25, 2020
    4
    以前会转的
    Trim21
    Trim21
    Jun 25, 2020 via Android❤️3
    5
    BadAngel
    BadAngel
    Jun 25, 2020 via Android
    7
    ```
    print('hello world')

    ```

    手机做的,不知道是否正确
    kinvv
    kinvv
    OP
    Jun 25, 2020
    8
    @BadAngel 是的,在创建正文时这么写,就是正确的。
    musi
    musi
    Jun 25, 2020 via iPhone
    9
    对于没有缩进的 Python 代码我一般选择不看,万一嵌套了几个 for 循环 if 判断啥的,我还得猜代码的位置。。。
    mjikop1231
    mjikop1231
    Jun 26, 2020
    10
    各种 paste 服务和 gist 不香么
    levelworm
    levelworm
    Jun 26, 2020
    11
    可惜评论里头好像不行。试试看纯 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
    matrix67
    Jun 26, 2020
    12
    ```
    print('新人之所以是新人,就是因为他来了之后不会去搜索应该怎么样贴代码空格不会被狗吃掉啊;他只会一上来就贴')

    ```

    所以解决问题之道是用程序去限制,而不是用制度去限制。比如提交框里面检测有没有代码,有代码就全部吃掉不允许提交,然后加一个代码框,让在代码框里面提交。
    a22271001
    a22271001
    Jun 26, 2020 via Android
    13
    用 pastebin 不就好了
    xilou31
    xilou31
    Jun 26, 2020
    14
    可以试试这个网址 https://carbon.now.sh/ ,粘贴代码进去,以图片形式保存即可
    yucongo
    yucongo
    Jun 26, 2020
    15
    ```python
    def func():
    ...
    ```
    stackoverflow 的缩进几个空格再 markdown 在 V2EX 的回复里行不通?
    MerlinShieh
    MerlinShieh
    Jun 29, 2020
    16
    Snipaste 不是天下第一?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1716 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 16:20 · PVG 00:20 · LAX 08:20 · JFK 11:20
    ♥ Do have faith in what you're doing.