天蓬老师2017-04-18 09:38:012楼
这段代码封装丑陋,难用,而且有错误,你看的是哪里的"官网"?
我看了你发的链接,让我很不可思议,这段代码居然真的源自于微信官方文档.但是不代表这段代码一定正确好用.我还是那句话,这段代码封装丑陋,难用,而且有错误.
首先说它为什么封装丑陋,难用,我认为这样编写Basic类更好:
class Basic():
def __init__(self,appId,appSecret):
self.appId = appId
self.appSecret = appSecret
...
...
# 省略
这样写的话,可以在你的代码里直接
import Basic
basic = Basic('appId', 'appSecret')
accessToken = basic.getAccessToken()
这样比直接把appId和appSecret硬编码到Basic里要好
再说,它为什么错误,代码里的run()方法里居然是个死循环,运行了run()之后就执行死循环,那我怎么获得accessToken?好吧,其实用多线程的方式做些改动还是能运行的,但是如果要集成到网站里,这段代码需要修改和新增加的编码多得多,而且要对多线程等高级知识特别熟悉,从某种意义上来说,这段代码可以说是有错误,根本没法用.
其他的一些编码规范的问题我就不说了,python熟手一眼就看出来了,这段代码很不pythonic.
其实你一眼看上去就觉得不对劲,觉得它有错误,但是它出自于权威的微信官方文档,你又不够自信认为它是错的.我也算不上是高手,但是做过微信公众号相关开发,独自一人完成过2个以上的项目的(APP+PCweb)服务端开发,我明确的告诉你,这段代码就是错的.