jakeyfly
V2EX  ›  问与答

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

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