#__author : "ziChuan" #__data : 2019/7/19 import random # print(random.random()) # print(random.randint(1,8)) #包含8 #print(random.choice("hello")) #print(random.choice([[1,2,3],2,"1234"])) #print(help(random.shuffle)) #print(random.sample([[1,2,3],2,"1234"],2)) #print(random.randrange(1,4))
#作個練習:不完整驗證碼
def v_code(): code = "" for i in range(5): add_num = random.choice([random.randrange(10), chr(random.randrange(65, 91))]) #if i == random.randint(0,4): # if random.choice: # add_num = random.randrange(10) # else: # add_num = chr(random.randrange(65,91)) code += str(add_num) print(code) v_code()
#列表生成器dom
[x*2 for x in range(10)]spa
#生成器(generator object)code
建立生成器的兩種方式: 一、(x*2 for x in range[10]) >>>>>>>>>>>>>>generator object 二、def f(): print("ok") yield 2 print("ok") f() >>>>>>>>>>>>>>>>>>>>>>generator object 生成器的方法: 一、next(f()) ------------------------------------計算出一個值 注意:生成器在建立的時候已經決定了能計算出值的個數,調用 next的次數超過這個值就會報StopIteration 遍歷全部元素可使用for循環: for i in [1,2,3]: print i for循環內部作了三件事: 1、調用對象的iter()方法,返回一個迭代器對象 二、while: try: i = next(list_Iterator) except StopIteration: break 二、send():
f().send(None) #等價於next(f())
#迭代器對象
#知足迭代器協議:
1、內部有next方法
二、內部有Iter()方法
li = [1,2,3]:Iterable(內部有Iter方法) >>>>>>>>>>>>>>iter()
i = iter(li):list_Iterator
#模塊blog
import time #時間模塊 time.time #時間戳
time.strftime() #格式化時間戳
time.gmtime() #UTC 時間
time.localtime #北京時間
time.ctime() #時間日期格式
datetime
datetime.datetime.now()
import random #隨機數模塊 chr() #將數字轉化爲字母 驗證碼