=
成都創(chuàng)新互聯(lián)科技有限公司專業(yè)互聯(lián)網(wǎng)基礎(chǔ)服務(wù)商,為您提供服務(wù)器托管,高防主機,成都IDC機房托管,成都主機托管等互聯(lián)網(wǎng)服務(wù)。
=怎么連接。。先調(diào)用注冊函數(shù)
然后調(diào)用登錄函數(shù)就行。順序執(zhí)行。至于如果你說注冊失敗不進行登錄的話
直接在注冊函數(shù)里面處理
注冊失敗
return
def sign_up(user,pwd):
#注冊代碼... #
if not sign_up_true:
# 注冊失敗 返回false
return false
#注冊成功 返回true
return true
# 注冊成功則執(zhí)行l(wèi)ogin登錄函數(shù)
if sign_up('admin','admin'):
login(user,pwd)
就是告訴你有錯誤。你for之前那個clock()是什么?哪里來的?
就算你把它刪除掉,最后那個print里用的clock又怎么辦?
如果你想使用time.clock()做計時:
你需要在文件開始引入這個包里的clock:
from?time?import?clock
然后,在開始計時的地方保存clock()的值:
t?=?clock()
在結(jié)束計時的地方計算
clock()?-?t
即為用時。
如果要使用time.perf_counter()做計時:
修改相應(yīng)的import語句為
from?time?import?perf_counter?as?clock
其它代碼不需要修改即可使用。
但有一點需要注意的是,perf_counter自第一次引用后,它就開始計時,之后無論調(diào)用多少次,它都是返回當(dāng)前時間到開始計時的時間差,這會產(chǎn)生一個問題:
如果在其它模塊中導(dǎo)入了它到全局范圍,那么,所有模塊中使用此函數(shù)的將都使用同一個計時器,這會讓使用它得到的時長超出期望。
一般情況下,這是用來測試一段程序的用時的,應(yīng)當(dāng)避免使用影響到其它環(huán)境或受其它環(huán)境影響的方式,所以建議你使用第一種方式去處理這個問題
import time
這是一個內(nèi)置模塊。
包括以下函數(shù):
time() -- return current time in seconds since the Epoch as a float
clock() -- return CPU time since process start as a float
sleep() -- delay for a number of seconds given as a float
gmtime() -- convert seconds since Epoch to UTC tuple
localtime() -- convert seconds since Epoch to local time tuple
asctime() -- convert time tuple to string
ctime() -- convert time in seconds to string
mktime() -- convert local time tuple to seconds since Epoch
strftime() -- convert time tuple to string according to format specification
strptime() -- parse string to time tuple according to format specification
tzset() -- change the local timezone
此外,還有個 daytime 可以配套用。
你想定時執(zhí)行的,話,只要返還時間,如果等于你制定的時間就執(zhí)行
使用timeit模塊,先介紹下:
timeit 模塊
timeit?模塊定義了接受兩個參數(shù)的?Timer?類。兩個參數(shù)都是字符串。 第一個參數(shù)是你要計時的語句或者函數(shù)。 傳遞給?Timer?的第二個參數(shù)是為第一個參數(shù)語句構(gòu)建環(huán)境的導(dǎo)入語句。 從內(nèi)部講,?timeit?構(gòu)建起一個獨立的虛擬環(huán)境, 手工地執(zhí)行建立語句,然后手工地編譯和執(zhí)行被計時語句。
一旦有了?Timer?對象,最簡單的事就是調(diào)用?timeit(),它接受一個參數(shù)為每個測試中調(diào)用被計時語句的次數(shù),默認為一百萬次;返回所耗費的秒數(shù)。
Timer?對象的另一個主要方法是?repeat(), 它接受兩個可選參數(shù)。 第一個參數(shù)是重復(fù)整個測試的次數(shù),第二個參數(shù)是每個測試中調(diào)用被計時語句的次數(shù)。 兩個參數(shù)都是可選的,它們的默認值分別是?3?和?1000000。?repeat()?方法返回以秒記錄的每個測試循環(huán)的耗時列表。Python?有一個方便的?min?函數(shù)可以把輸入的列表返回成最小值,如: min(t.repeat(3, 1000000))
你可以在命令行使用?timeit?模塊來測試一個已存在的?Python?程序,而不需要修改代碼。
再給你個例子,你就知道怎么做了。
#?-*-?coding:?utf-8?-*-
#!/bin/env?python
def?test1():
n=0
for?i?in?range(101):
n+=i
return?n
def?test2():
return?sum(range(101))
def?test3():
return?sum(x?for?x?in?range(101))
if?__name__=='__main__':
from?timeit?import?Timer
t1=Timer("test1()","from?__main__?import?test1")
t2=Timer("test2()","from?__main__?import?test2")
t3=Timer("test3()","from?__main__?import?test3")
print?t1.timeit(1000000)
print?t2.timeit(1000000)
print?t3.timeit(1000000)
print?t1.repeat(3,1000000)
print?t2.repeat(3,1000000)
print?t3.repeat(3,1000000)
用python實現(xiàn)計時器功能,代碼如下:
''' Simple Timing Function.
This function prints out a message with the elapsed time from the
previous call. It works with most Python 2.x platforms. The function
uses a simple trick to store a persistent variable (clock) without
using a global variable.
'''
import time
def dur( op=None, clock=[time.time()] ):
if op != None:
duration = time.time() - clock[0]
print '%s finished. Duration %.6f seconds.' % (op, duration)
clock[0] = time.time()
# Example
if __name__ == '__main__':
import array
dur() # Initialise the timing clock
opt1 = array.array('H')
for i in range(1000):
for n in range(1000):
opt1.append(n)
dur('Array from append')
opt2 = array.array('H')
seq = range(1000)
for i in range(1000):
opt2.extend(seq)
dur('Array from list extend')
opt3 = array.array('H')
seq = array.array('H', range(1000))
for i in range(1000):
opt3.extend(seq)
dur('Array from array extend')
# Output:
# Array from append finished. Duration 0.175320 seconds.
# Array from list extend finished. Duration 0.068974 seconds.
# Array from array extend finished. Duration 0.001394 seconds.
time()函數(shù)可以獲取當(dāng)前時間戳;ctime()函數(shù)可以以一種易讀的方式獲取系統(tǒng)當(dāng)前時間;gmtime()函數(shù)可獲取當(dāng)前0時區(qū)的struct_time格式的時間;localtime()函數(shù)可獲取當(dāng)前地區(qū)的struct_time格式的時間。