私有变量、类函数、断言assert
私有变量
没有私有制,哪来的生产力和积极性。
不同编程语言的私有变量
私有变量一般只有在面向对象类设计中才有的名词,也被称为类内部变量。
- 大部分OOP语言提供private修饰符指示为类私有,比如C++/Java/C#/ObjC等。
- Python不提供所谓的私有属性和方法,所有方法都是公开的,它建议用双下划线__开头作为不希望被类外调用或修改的方法或属性名,但这只是浅浅的"约定",编译器也不阻止蓄意访问。
类函数
函数其实都很像,只是放在类里面的被约束了一些。
类静态函数和成员函数
- 和类的成员分为静态成员和实例成员一样,函数也被分成静态和成员两种。
- 大部分面向对象编程语言的类静态函数本质是独立于类对象,类成员函数是和类对象息息相关。比如C++/Java/C#等。
- Python把静态函数又分成类方法和静态方法两种,可以认为它和类完全绑定关系,主要为了提供给外部模块调用,而类方法就和其他面向对象语言理解上一样。
- 类静态方法用@staticmethod修改,类方法用@classmethod修饰,有默认参数cls.
- 类静态方法不能访问任何类属性或类方法,当然也不能访问实例属性和方法; 类方法可以访问类属性。
断言assert
总有人喜欢断定,但总是有不对的时候。
不同语言的断言
- 大部分编程语言会提供assert断言。
- Python也提供assert, 在__debug__为True时才生效。Python也提供-O参数关闭断言。
若文章对您有帮助,欢迎关注。助您在编程路上越走越好!
微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。
我是程序员小迷(致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。