V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
jakeyfly
V2EX  ›  问与答

flask 中的 localproxy 的源码看的蒙蔽了,求大佬解惑

  •  
  •   jakeyfly · Aug 12, 2018 · 3140 views
    This topic created in 2815 days ago, the information mentioned may be changed or developed.

    这是 flask localproxy 的源码 我没看明白_get_current_object 方法中的 self.__local 属性是那里来的.有大佬能指导小弟不

    大佬能不能解释一下 __init__方法中都做了啥呀

    Imgur

    13 replies    2018-08-12 18:52:38 +08:00
    ericls
        1
    ericls  
       Aug 12, 2018 via iPhone
    我去 这个代码谁写的?
    freefcw
        2
    freefcw  
       Aug 12, 2018
    jakeyfly
        3
    jakeyfly  
    OP
       Aug 12, 2018
    @freefcw 我对 python 有一定了解,我只是找不到他设置这个属性的地方
    jakeyfly
        4
    jakeyfly  
    OP
       Aug 12, 2018
    @ericls flask 的 几万人写的吧
    ericls
        5
    ericls  
       Aug 12, 2018 via iPhone
    看了一下代码
    作为 proxy 这么写 make sense
    jakeyfly
        6
    jakeyfly  
    OP
       Aug 12, 2018
    @ericls 啥?????
    taozle
        7
    taozle  
       Aug 12, 2018
    __init__ 里面的第一句就是设置 __local
    jakeyfly
        9
    jakeyfly  
    OP
       Aug 12, 2018
    @taozle 不懂 __localproxy_local 被改成__local 了?
    jakeyfly
        10
    jakeyfly  
    OP
       Aug 12, 2018
    @taozle 我草明白了 私有变量自动改名!!!我二了 谢谢大佬
    chashao
        11
    chashao  
       Aug 12, 2018
    这一句 object.__setattr__(self, '_LocalProxy__local', local)
    因为__local 属性会被 python 变为_类名__local,所以添加_LocalProxy__local 也就是__local 私有属性
    jakeyfly
        12
    jakeyfly  
    OP
       Aug 12, 2018
    @chashao 是的 我脑子短路了 还是基础不扎实啊!! 想明白后 感觉自己好二
    freefcw
        13
    freefcw  
       Aug 12, 2018
    @jakeyfly 囧,你这描述和本意隔得有点远啊。不过说实话,我也没去仔细看代码,python 也不扎实
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1155 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 23:15 · PVG 07:15 · LAX 16:15 · JFK 19:15
    ♥ Do have faith in what you're doing.