首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Coding
V2EX  ›  Python

与面试官谈笑风生 | Python 面向对象之访问控制

  •  
  •   simpleapples · 2018-04-03 18:08:11 +08:00 · 4180 次点击
    这是一个创建于 618 天前的主题,其中的信息可能已经有所发展或是发生改变。
    写了一篇关于 Python 访问控制的文章,请各位大佬鉴定一下。
    https://juejin.im/post/5ac18d08f265da237b223d1a
    第 1 条附言  ·  2018-04-04 08:20:08 +08:00
    谢谢 v 站各位大佬指正
    话题本身确实比较基础,但是在面试中发现有很多候选人对这块了解的都比较少,所以写了篇文章
    接下来会尝试一下稍有深度的主题 ( •̀ ω •́ )
    23 回复  |  直到 2018-04-04 22:19:24 +08:00
        1
    NoahNye   2018-04-03 20:19:33 +08:00 via iPhone
    学 py 的时候看过这段,严格来说 py 是没有私有的,通过下划线其实是提醒后来人谨慎使用该变量。
        2
    u14e   2018-04-03 20:53:07 +08:00
    楼主要想搞个大新闻,还是找点有深度的主题吧!这东西任何一本入门书都有讲解
        3
    chroming   2018-04-03 20:55:20 +08:00   ♥ 1
    讲 py3 源码才能在 v 站立足
        4
    codehole   2018-04-03 20:56:21 +08:00 via Android
    标题赞一个
        5
    xpresslink   2018-04-03 23:07:55 +08:00
    谢谢楼主不辞辛苦跑来告诉大家母鸡是会下蛋的。
    只是哲学不同,我们都认为自己是成年人。
        6
    xnth97   2018-04-04 07:04:58 +08:00
    感谢 + 没有帮助(
        7
    blless   2018-04-04 08:34:20 +08:00 via Android
    这篇真的有点水了… python 不了解这个特性可以说是完全不会 python 吧…
        8
    blless   2018-04-04 08:35:14 +08:00 via Android
    真正访问控制应该是 @property
        9
    wivwiv   2018-04-04 08:50:40 +08:00 via Android
    快出去走道里看看 看到墙上有火警报警按钮没,会不会误触?非要按能不能按下去?但是你应不应该按?
        10
    lyroge   2018-04-04 09:12:16 +08:00
    基础文章,还不错 ; ) 可以看看描述符之类
        11
    nov   2018-04-04 09:17:26 +08:00
    @xpresslink 只是哲学不同,我们都认为自己是成年人,这句话什么意思?
        12
    gitgabige   2018-04-04 09:43:58 +08:00
    写得可以,之前一直把 python 当脚本来写的,面向对象没用过
        13
    ericls   2018-04-04 09:45:43 +08:00
    everything is available at runtime
        14
    scriptB0y   2018-04-04 10:04:35 +08:00   ♥ 1
    正确的访问控制应该使用 __getattr__ __setattr__

    自定义的方法或变量在任何时候都不应该使用 __foo__ 的形式。js 社区前短时间好像在争执 Array.prototype.flatten 的方法问题,因为和有个库定义了 flatten,js 如果加入这个的话会冲突。所以有人提议我们用 smoosh (笑)

    Python 就没有这个问题,只要大家老老实实把魔术方法保留给 Python 语言。
        15
    xpresslink   2018-04-04 10:07:45 +08:00
    @nov 和 9 楼一个意思。
        16
    ahaxzh   2018-04-04 10:10:26 +08:00
    配图用个 C++//
        17
    GeruzoniAnsasu   2018-04-04 13:30:11 +08:00
    。。。。。。。。。。。任何一本 python 入门数都会讲的东西
        18
    GeruzoniAnsasu   2018-04-04 13:30:45 +08:00
    如果对这个都不了解换我我可能直接拒了
        19
    aa825aa   2018-04-04 14:34:11 +08:00
    1、_xxx 不能用于’ from module import *’ 以单下划线开头的表示的是 protected 类型的变量。即保护类型只能允许其本身与子类进行访问。
    2、__xxx 双下划线的表示的是私有类型的变量。只能是允许这个类本身进行访问了。连子类也不可以
        20
    aa825aa   2018-04-04 14:35:33 +08:00
    """是一种约定的规范,而不是语言层面真的实现了访问控制...""" lz 搞笑吗
        21
    simpleapples   2018-04-04 15:06:17 +08:00
    @aa825aa 这句话有什么问题吗?
        22
    junnplus   2018-04-04 17:47:49 +08:00
    这怕是不能谈笑风生吧
        23
    qsnow6   2018-04-04 22:19:24 +08:00
    水到不行
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1158 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 18:40 · PVG 02:40 · LAX 10:40 · JFK 13:40
    ♥ Do have faith in what you're doing.