平常写Python太无聊,小编带你写几个Python好玩的技巧,让你学Python的路途中,乐趣横生!
一 . print 打印带有颜色的信息
大家知道 Python 中的信息打印函数 Print,一般我们会使用它打印一些东西,作为一个简单调试。
我们都知道print可以打印出索引的信息.但是我们打印都是简单的,好像都是同意的颜色,报错了之后就都适合红色的,那么你知道吗?
Python中print输出到控制面板的颜色是可以更改的;我们来看下面的一个例子吧!
demo.py
点击加载图片
得到的结果如下图所示
点击加载图片
其中 Error 是红色加下划线的,important 为默认色
其设置格式为:\033[显示方式;前景色;背景色 m
下面可以设置的参数:
说明:
前景色 背景色 颜色
---------------------------------------
30 40 黑色
31 41 红色
32 42 绿色
33 43 黃色
34 44 蓝色
35 45 紫红色
36 46 青蓝色
37 47 白色
显示方式 意义
-------------------------
0 终端默认设置
1 高亮显示
4 使用下划线
5 闪烁
7 反白显示
8 不可见
例子:
\033[1;31;40m
二 . 还在用脚本写定时器吗?来教你一个简单的
今天逛github的时候看到一个人性化的定时模块 schedule ,现在的star大概有8000了,还是非常受欢迎的!
1.通过 pip 即可安装。
pip install schedule
2.使用案例
点击加载图片
从单词的字面意思,你就知道这是做什么的。
举个例子:
schedule.every.monday.do(job)
这个代码的意义就是单词的意义,每周执行一次job函数,是不是超级好用!
三 . 实现一个进度条
代码如下
点击加载图片
效果如下图所示
点击加载图片
点击加载图片
四 . 如何优雅的打印嵌套类型的数据
大家应该都有印象,在打印 json 字符串或者字典的时候,打印出的一坨东西根本就没有一个层次关系,这里主要说的就是输出格式的问题。
当我们和前端小姐姐一起愉悦交流技术的时候,我们看到json字符串的时候,内心是不是崩溃得到呢?这么乱,.而且感觉毫无层次感,看到不舒服,
我们来介绍如何将这些乱的代码看起来好看!
第一种方式
点击加载图片
效果如下图所示:
点击加载图片
点击加载图片
回复[01]获取
第二种方式:
那么如果我们打印字典组成的列表呢,这个时候使用 json 的 dumps 方法肯定不行的,不过没关系
我们可以使用一个官方的库 pprint
demo
点击加载图片
效果展示
点击加载图片
怎么样,是不是很棒很nice!
五 . 功能简单的类使用 namedtuple 和 dataclass 的方式定义
很多时候我们要考虑一做一个具有类的功能,但是又不需要有那么复杂操作的时候,我们可以看看一下下面的两种方式哦,可以事半功倍的
第一个,namedtuple 又称具名元组,带有名字的元组。它作为 Python 标准库 collections 里的一个模块,可以实现一个类似类的一个功能。
点击加载图片
点击加载图片
但是呢,所有属性需要提前定义好才能使用,比如想使用my_car.name,你就得把代码改成下面的样子。
美中不足的是,所有索性都必须提前定义好才能使用,如果想使用mt_car_name ,那么你就需要把代码改变成下面的样子啦
点击加载图片
点击加载图片
那么使用nametuple的缺点就很明显了哦
所以现在更优的方案,那就是 Python3.7 加入到标准库的 dataclass。
现在有更加有话的方案了,在Python3.7中加入了标准库dataclass,
如果想要在3.6中使用的话可以使用pip进行安装的哦!
点击加载图片
点击加载图片
六 . f-string 里'='的应用
在Python3.8里有这样一个小功能
a = 5
print(f'{a=}')
打印之后的结果为
a=5
是不是觉得很方便,再也不用使用 f'a={a}'啦!
七 . 海象运算符:=的是使用
a =6
if b:=a+1>6:
print(b)
赋值的时候同时可以进行运算,和 Go 语言的赋值类似了。
是不是突然觉得有点看不懂,不要紧,看下面!
代码的运行顺序,首先计算 a+1 得到值为 7,然后把 7 赋值给 b,到这里代码相当于下面这样了
b =7
if b>6:
print(b)
怎么样是不是简单了不少,不过这个功能3.8开始才能用哦。
总结:
我们一共说了7个小demo ,一定要记住哦,要好好学习哒!
联系客服