Python小Trick

1 批量生成变量

使用函数locals()可批量生成 x 1 = 1 , x 2 = 2 , x 3 = 3 , … x_1=1, x_2=2, x_3=3,\dots x1=1,x2=2,x3=3,

## python code
name = 'x_'
size = 4
# list存储变量名
var_names = [name + str(i) for i in range(size)]
for i,n in enumerate(var_names):
    locals()[n] = i+1
print('x_1:', x_1)
print('x_3:', x_3)
x_1: 2
x_3: 4

2 显示进度条

2.1 使用tqdm库

库安装

pip install tqdm

函数trange用法

from tqdm import trange, tqdm
from time import sleep

for i in trange(10, ncols=50): # nclos控制进度条的长度
	sleep(0.1)

在这里插入图片描述

tqdm的用法

from tqdm import trange, tqdm
from time import sleep

text = ""
for char in tqdm(["a", "b", "c", "d"]):
    text = text + char
    sleep(0.5)

在这里插入图片描述
进度条前打印自定义的语句

pbar = tqdm(["a", "b", "c", "d"])
for char in pbar:
    pbar.set_description("Processing %s" % char)
    sleep(4)

在这里插入图片描述
2.2 自定义

import sys,time

it = 100
for i in range(it):
    k = i + 1
    writer = k / 100.0
    # 
    sample = '>' * (i//2) + ' '*((it - k)//2)
    sys.stdout.write('\r' + sample + '[{0}%], {1}'.format(i+1, writer))
    sys.stdout.flush()
    time.sleep(0.1)
print(' ,end')

在这里插入图片描述
更多用法见tqdm github文档

3 生成大小字母和数字

3.1 可以通过str函数将ASCII值转化为数字和字母。

print([chr(i) for i in range(65,91)])#所有大写字母
print([chr(i) for i in range(97,123)])#所有小写字母
print([chr(i) for i in range(48,58)])#所有数字
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']

3.2 使用string库

>>> import string
>>> string.ascii_lowercase
'abcdefghijklmnopqrstuvwxyz'

>>> string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

>>> string.digits
'0123456789'

>>> string.ascii_letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

string的用法见Python String

4 python中print打印显示颜色

显示颜色的格式

\ 033 [显示方式;字体色,背景色 ...... \ 033 [0m!

显示颜色的参数
在这里插入图片描述

print('This is a \033[1;35m test \033[0m!')
print('This is a \033[1;32;43m test \033[0m!')
print('\033[1;33;44m This is a test !\033[0m')

效果
在这里插入图片描述
完全参考于Mr-Liuqx博客,感谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值