先看代码
import random
import string
chars = string.ascii_letters + string.digits # 26个字母的大小写和数字组合
def generateCode(count, length):
for x in range(count):
code = ''
for y in range(length):
code = code + random.choice(chars)
yield code
print(1)
if __name__ == "__main__":
codes = generateCode(200, 20)
# print codes
for code in codes:
print(code)
代码是用来输出200个长度为20的随机码。
学习代码:
1)import module_name。即import后直接接模块名。在这种情况下,Python会在两个地方寻找这个模块,第一是sys.path(通过运行代码import sys; print(sys.path)查看),os这个模块所在的目录就在列表sys.path中,一般安装的Python库的目录都可以在sys.path中找到(前提是要将Python的安装目录添加到电脑的环境变量),所以对于安装好的库,我们直接import即可。第二个地方就是运行文件所在的目录
2)for循环中 x y 是序列索引;
range(100) 意思是[0, 1, 2, 3, 4, …, 98, 99],返回长度100的序列。
yield 含有return功能,带yield的函数是一个生成器,而不是一个函数,遇到yield 则返回生成的字符串,调用时使用next()方法,继续生成器上次的循环,x y会保存上次的值,自增。
generateCode(200, 20) 并不会执行生成器,而是返回一个生成器对象。
3)if name == “main”
当直接运行包含main函数的程序时,main函数会被执行,同时程序的__name__变量值为’main’,当包含有main函数的程序被作为module被import时,该module程序(print_main_function.py)对应的__name__变量值为该module对应的函数名称。
4)python缩进为四个空格,必须严格遵守,否则报错。
在 Python 里,标识符由字母、数字、下划线组成。
在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
Python 中的标识符是区分大小写的。