2019-05-28阶段性总结(Python3)

这篇是用来总结这段时间所学的所用的关于python3小tips,比较细微。主要是为了防止以后会遗忘掉这些而去重复搜索解决方法。
1.全局变量

在单个模块中,在引用之前就应先声明变量为全局变量。如果在声明之后需要修改变量值,则需要在修改之前再次声明。
目前只实现了两个模块之间的全局变量。
a文件中对全局变量进行定义

global script_id
def getvalue(value):
    global script_id
    script_id = value

def setvalue():
    global script_id
    return script_id

b文件中进行赋值即可调用

getvalue(5)
2.解析json数组
import json
data = {
    'no': 1,
    'name': 'Bruce',
    'url': 'http://www.baidu.com'
}

json_str = json.dumps(data)
print("Python 原始数据:", repr(data))
print("JSON对象:", json_str)

data2 = json.loads(json_str)
print("data2['name']:", data2['name'])
print("data2['url']:", data2['url'])
3.websocket长连并对服务器传来数据进行解析
from ws4py.client.threadedclient import WebSocketClient
import json

data = {
    'connectCode': 1,
    'clientType': 1
}
sendJS = json.dumps(data)
class DummyClient(WebSocketClient):
    def opened(self):
        print()

    def closed(self, code, reason=None):
        print("关闭", code, reason)

    def received_message(self, message):
        print("recv:", message)
        m = json.loads(str(message))[0]
        print(m['msg'])

if __name__ == '__main__':
    try:
        ws = DummyClient('ws://xxxx/ws')  #xxxx为请求地址
        ws.connect()
        ws.send(sendJS)
        ws.run_forever()
    except KeyboardInterrupt:
        ws.close()

个人理解(可能不太对):对于某一条接收到的信息处理方法写在received_message中,可以通过判断穷举数据并进行相应的动作(目前信息较少且单一,所以穷举比较方便)。

4.中文变量(纯属娱乐)

偶然得知python3支持中文变量,比如如下代码:

名字 = "李晨"
def print_var(s:str)->None:
    return s

print(print_var(名字))
输出结果为 李晨
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容