鱼C论坛

 找回密码
 立即注册
查看: 2169|回复: 2

关于函数前后都由双下划线问题

[复制链接]
发表于 2017-11-9 14:41:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
各位鱼友大家好。
            1:  list应该属于一个内置的类吧?
            2:  help看了下,有很多方法都是 双下划线开头,双下划线结束,这是什么意思?
            3:  这些函数都能调用么?还是私有的呢?


例如:
>>> help(list)
Help on class list in module builtins:

class list(object)
|  list() -> new empty list
|  list(iterable) -> new list initialized from iterable's items
|  
|  Methods defined here:
|  
|  __add__(self, value, /)
|      Return self+value.
|  
|  __contains__(self, key, /)
|      Return key in self.
|  
|  __delitem__(self, key, /)
|      Delete self[key].
|  
|  __eq__(self, value, /)
|      Return self==value.
|  
|  __ge__(self, value, /)
|      Return self>=value.
|  
|  __getattribute__(self, name, /)
|      Return getattr(self, name).
|  
|  __getitem__(...)
|      x.__getitem__(y) <==> x[y]
|  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-9 14:45:14 From FishC Mobile | 显示全部楼层
带下划线的一般是属于一个类里面的内置函数,后面学到类你就明白了,一般称作魔法方法

而不带下划线的是系统的内置函数,比如print等
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-9 15:43:52 | 显示全部楼层
1.对
2.两边带__下划线__的是类里面的特殊方法,实现某种特殊功能,比如__add__是加法,调用一般都是在写类的时候定制用的,有的可以直接调用;
3.__下划线在左边就是一个私有方法,不允许直接访问.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-19 08:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表