入门
参考资料
廖雪峰python教程
cookbook
答疑
基础
1 2 k=123.45 print (f"123:5.1f" )
[Python 中下划线的 5 种含义 | 菜鸟教程 (runoob.com )](https://www.runoob.com/w3cnote/python-5-underline.html#:~:text=下划线前缀的含义是告知其他程序员:以单个下划线开头的变量或方法仅供内部使用。 该约定在PEP 8中有定义。 这不是Python强制规定的。 Python不像Java那样在"私有"和"公共"变量之间有很强的区别。 这就像有人提出了一个小小的下划线警告标志,说: “嘿,这不是真的要成为类的公共接口的一部分。 不去管它就好。,” 如果你实例化此类,并尝试访问在__init__构造函数中定义的foo和_bar属性,会发生什么情况? 让我们来看看: 你会看到_bar中的单个下划线并没有阻止我们"进入"类并访问该变量的值。 这是因为Python中的单个下划线前缀仅仅是一个约定 - 至少相对于变量和方法名而言。 但是,前导下划线的确会影响从模块中导入名称的方式。)
常用
time
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 import timeimport functoolsfrom datetime import datetime, datedef elapse_s (func ): @functools.wraps(func ) def wrapper (*args, **kw ): time1 = datetime.now() temp = func(*args, **kw) time2 = datetime.now() elapse = (time2-time1).microseconds/1000 print (f"{time2} -FunctionName:{func.__name__:} -Elapse:{elapse:.3 f} " ) return temp return wrapper def elapse_l (func ): @functools.wraps(func ) def wrapper (*args, **kw ): time1 = datetime.now() temp = func(*args, **kw) time2 = datetime.now() elapse = (time2-time1).microseconds/1000 print (f"{time2} -FunctionName:{func.__name__:} -Elapse:{elapse:.3 f} " ) return temp return wrapper @elapse_s def test (): print ('-----Test-----' ) time.sleep(1 ) def seconds2time (seconds ): m, s = divmod (seconds, 60 ) h, m = divmod (m, 60 ) d, h = divmod (h, 24 ) if d>0 : return f"{d:%d} day {h:%d} :{m:%02d} :{s:%02d} " else : return f"{h:%d} :{m:%02d} :{s:%02d} " print (seconds2time(245030.235 ))
问答