python代码看不懂,谁解释一下

 mobiledu2502882733 发布于 2022-11-07 17:34
import urllib
eval(urllib.urlopen("http://stock2.finance.sina.com.cn/futures/api/json.php/GlobalFuturesService.getGlobalFuturesDailyKLine?symbol=XAU").read(),
 type("Dummy", (dict,), dict(__getitem__ = lambda s,k: k))())

完全看不懂啊,尤其是后面的 type 啥么的?功力太深了。谁给解释一下。

1 个回答
  • 等效代码:

    class Dummy(dict):
        def __getitem__(self, key):
            return key
    
    g = Dummy()
    
    json_str = urllib2.urlopen("...").read()
    
    eval(json_str, g)
    

    g作为evalglobals,在处理json_str的时候,遇到一个变量 data,会执行 g['data'] ,得到的返回值就是 "data" ,实际上就是完成了 符号到字符串 这样一个替换过程。

    2022-11-12 01:58 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有