提前说一点:如果你是专注于Python开发,那么本系列知识点只是带你入个门再详细的开发点就要去看其他资料了,而如果你和作者一样只是操作其他技术的Python API那就足够了。
在Python中被规定的东西不止有常识中的那些关键字、构造器等编程语言共性的内容,还有很多Python自己的特色资源,我也给大家罗列了一些Python的被系统定义赋予特殊意义的内容,如下
1、私有:如__private_attrs ,像这样两个下划线开头,声明该内容为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用时,使用方法为:self.__private_attrs。老版本是这样的!!!!!!!
2、类的方法:在类的内部,使用 def 关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数,这一点就是我在上一篇知识点中和大家强调的,大家要养成写方法带上self参数的习惯
3、类的私有方法:__private_method,像这样两个下划线开头,声明该方法为私有方法,不能在类的外部调用。在类的内部调用 需要用的–>self.__private_methods
4、随着Python的发展,在新版中你可以使用如下方法访问一个私有数据
object._className__attrName( 对象名._类名__私有内容名 )
注意:className左侧只有一个下划线,右侧有两个
5、双下滑线:如__foo__:,这种资源都是有特殊意义的,一般是系统定义的统一名字 ,就是说名称已经有了一个规范的叫法,类似 init() 、__name__之类的
6、单下划线:如_foo , 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问
其中涉及到的都可以互用,大家有兴趣可以试一试,自己研究一下
下面这几个方法,是常用的被规定的方法
与之对应的,还有被规定的属性,比如
对于被规定的属性,我想给大家着重提及的是最常用的一个,我们在日常接触代码的时候看到的最多的就是,如下的内容
if __name__ == '__main__':
这行代码的作用,其实是用来检测是否直接执行当前程序,如果是直接执行这个程序那么值就是__main__,如果不是,那值就是调用这个程序的类名
应用场景,大家可以看看这个_ _ name _ _ == ’ _ _ main _ _ ':的作用
最后我想说的是,大家要注意,Python中这些被规定的资源有很多,常用的没有多少,大家使用的时候日常累计就可以了,如果你某一天看到一个奇奇怪怪的东西,不要惊讶