案例: 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'
来源: http://www.bubuko.com/infodetail-2625765.html