案例:tokens生成器

学习要点

——random

——string

——字符串和数字综合练习

——列表

token生成器编程

分析:

import random
random.choice('acfhjlio')   #随机选择一个字符
'f'
str_list=['a','b','c','d','e','2','3']
s = ""
s.join(str_list)    #把列表中的字符串连接到s内,连接一起的意思
'abcde23'
s = ""
for i in range(5):
    s = random.choice('adfjlui')
    print(s)
l
i
d
i
u
import string
string.ascii_lowercase     #表示26个小写字母
'abcdefghijklmnopqrstuvwxyz'
string.ascii_uppercase     #表示26个大写字母
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
string.ascii_letters      #表示所有字母
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

实例:

import string
import random
str_from = string.ascii_letters + string.digits
count = 10
tokens = []
for i in range(count):
    s = random.choice(str_from)
    print(s)
    tokens.append(s)
"".join(tokens)
N
p
u
3
r
H
J
5
D
4





'Npu3rHJ5D4'

tokens生成器简化编程

分析:

[x for x in range(8)]
[0, 1, 2, 3, 4, 5, 6, 7]
[ random.choice(string.ascii_letters + string.digits) for x in range(5)]  #x被放弃的变量,只是占位,使random循环5次
['K', '2', '8', 'a', '0']
[ random.choice(string.ascii_letters + string.digits) for _ in range(5)]
['u', '6', 'W', 'v', 'j']

实例:

import string
import random
count = 8
str_from = string.ascii_letters + string.digits
tonkens = [ random.choice(str_from) for _ in range(count)]
"".join(tokens)
'Npu3rHJ5D4'