# coding: utf-8
def _time_analyze_(func):
from time import clock
exec_times = 10000000
def callf(*args, **kwargs):
start = clock()
for i in range(exec_times):
r = func(*args, **kwargs)
finish = clock()
print("{:<20}{:10.6} s".format(func.__name__ + ":", finish - start))
return r
return callf
@_time_analyze_
def slowest_replace(original_str):
replace_list = []
for i, char in enumerate(original_str):
c = char if char != " " else "-"
replace_list.append(c)
return "".join(replace_list)
@_time_analyze_
def slow_replace(original_str):
replace_str = ""
for i, char in enumerate(original_str):
c = char if char != " " else "-"
replace_str += c
return replace_str
@_time_analyze_
def fast_replace(original_str):
return "-".join(original_str.split())
@_time_analyze_
def fastest_replace(original_str):
return original_str.replace(" ", "-")
if __name__ == "__main__":
original_str = "People's Republic of China"
res1 = slowest_replace(original_str)
res2 = slow_replace(original_str)
res3 = fast_replace(original_str)
res4 = fastest_replace(original_str)
网友评论