python学习笔记
migushu3
这个作者很懒,什么都没留下…
展开
-
python操作文件和目录
获取操作类型 >>> import os >>> os.name # 操作系统类型 'posix'要获取详细的系统信息,可以调用uname()函数:>>> os.uname() #在windows上不提供posix.uname_result(sysname='Darwin', nodename='MichaelMacP...原创 2018-10-28 19:04:45 · 130 阅读 · 0 评论 -
请设计一个decorator,它可作用于任何函数上,并打印该函数的执行时间:
import time, functoolsdef log(func): @functools.wraps(func) def wrapper(*args, **kw): t1=time.time() r=func(*args, **kw) print('%s excute in %s ms' %(func.__name__, 10...原创 2018-10-25 18:56:15 · 6066 阅读 · 0 评论 -
利用闭包返回一个计数器函数,每次调用它返回递增整数:
#方案1def createCounter(): def f(): x = 0 while True: x += 1 yield x it = f() def number(): return next(it) return number createA = c...原创 2018-10-25 17:00:03 · 1015 阅读 · 1 评论 -
通过类中的__getitem__()来访问斐波那契数列的任意一项及切片
class Fib(object): def __getitem__(self, n): if isinstance(n, int): print('int n=' + str(n)) a, b = 1, 1 for x in range(n): ...原创 2018-10-28 13:49:29 · 161 阅读 · 0 评论 -
假设我们用一组tuple表示学生名字和成绩: L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)],分别按名字和分数排序
#请用sorted()对上述列表按名字排序def by_name(t): return t[0]L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]print(sorted(L, key=by_name))print(L) #L不变##请用sorted()对上述列表按分数排序def by_score(t...原创 2018-10-25 14:19:22 · 8318 阅读 · 0 评论 -
回数是指从左向右读和从右向左读都是一样的数,例如12321,909。请利用filter()筛选出回数:
#方案一:def is_palindrome(n): nn = str(n) #转成字符串 return nn == nn[::-1] #反转字符串并对比原字符串返回true/falseprint list(filter(is_palindrome,range(1,1000)))#方案二:print list(filter(lambda n : str(n)==str(n...原创 2018-10-25 11:28:32 · 5962 阅读 · 3 评论 -
利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456:
from functools import reducedef str2float(s): def str2num(a): L = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9} return L[a]// return {'0':0,'1...转载 2018-10-25 10:06:48 · 610 阅读 · 0 评论