美文网首页Python程序员Python 运维
一些好玩实用的Python一行式

一些好玩实用的Python一行式

作者: 一根薯条 | 来源:发表于2017-03-22 00:10 被阅读273次

    以代码简洁为设计目标的Python有各种方便的功能,方便到极致时,我们可以用一行Python代码干很多事情。

    下面列举并说明一些我个人总结的Python一行式:

    1.用一行Python画爱心。

    print '\n'.join([''.join([('ILoveYou'[(x - y) % 8] if((x * 0.05) ** 2 + (y * 0.1) ** 2 - 1) ** 3 -(x * 0.05) ** 2 * (y * 0.1) ** 3 <= 0 else ' ') for x in range(-30, 30)])for y in range(15, -15, -1)])
    

    运行效果:

    运行效果图.png

    2.用一行Python代码实现类似FTP服务器功能(web服务器)

    python -m SimpleHTTPServer
    

    说明:
    这个服务器默认在你当前所处的目录下开启,使用时通过ip地址:8000(默认值)进行访问,访问者并不能访问当前目录的上层目录。

    运行效果图:

    效果图1.png 效果图2.png

    3.解析式+模块函数 创造出各种方便的功能。
    Python容器类型的内置数据类型都支持 解析式 这一Pythonic的语法,而各种解析式结合系统模块中的函数就能创造出各种功能强大,语法优美的语句。

    举例:

    1.列出当前目录下所有的文件
    [item for item in os.listdir('.') if os.path.isfile(item)]
    2.列出当前目录下所有文件到文件大小的映射
    {item: os.path.getsize(item) for item in os.listdir('.') if os.path.isfile(item) }
    3.分别求出10以内所有奇数的平方值(也可以单独使用)
    {i: i**2 for i in range(10) if i % 2 }
    ...
    

    4.JSON转换

    echo '{"key1": "val", "key2":[1, 2, 3], "key3": 99}'| python -m json.tool
    

    运行效果图:

    运行效果图

    相关文章

      网友评论

      • 4b5cfb830586:根本运行不了,亲,显示AttributeError:'NoneType' object has no attribute 'join'说对象没有连接属性?什么意思啊?
        一根薯条:@思念无法自拔 哪个一行式?
      • 彩虹金刚_Q:为什么第一个执行不起来呢
        print '\n'.join([''.join([('ILoveYou'[(x - y) % 8] if((x * 0.05) ** 2 + (y * 0.1) ** 2 - 1) ** 3 -(x * 0.05) ** 2 * (y * 0.1) ** 3 <= 0 else ' ') for x in range(-30, 30)])for y in range(15, -15, -1)])
        ^
        SyntaxError: invalid syntax
        一根薯条:@Queenie_kw 哈哈
        彩虹金刚_Q:@一根薯条 对 Python3 的print需要前后都加() 不可以像这里这样用,加上()就好了
        一根薯条:报错信息不全,猜测可能是你用的是python3吧。python2没有问题

      本文标题:一些好玩实用的Python一行式

      本文链接:https://www.haomeiwen.com/subject/sqennttx.html