美文网首页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