python中得公有和私有——私有函数和公开函数_补充完整
- 包括实例属性、类属性,私有成员和公有成员,公有方法、私有方法和静态方法。
类似_xxx和__xxx这样的函数或变量就是非公开的,不应该被直接引用。如下:
# python私有函数
def _abc_1(name):
return "Hello, 私有函数一号为:%s" %name
def _abc_2(name):
return "Hi, 私有函数二号为:%s" %name
# python公有函数
def greeting(name):
if len(name)>3:
return _abc_1(name)
else:
return _abc_2(name)
print(greeting('frank'))
-
类Class中成员变量有两种属性分别是:实例属性和类属性。
-
实例属性是在构造函数中定义的(init),定义时候以self作为前缀。
-
类属性是在类中方法之外但又在类之中定义的属性。类属性在所有实例之间共享。在类内部和类外部都可以通过"类.类属性"来访问。
-
两者访问形式:主程序中,实例属性只能通过对象名访问;而类属性能够通过类名访问,也可以通过对象名访问。
-
-
对于公有成员(方法和变量),可以公开使用,既可以在类内部访问,也可以在类外部访问。
-
对于私有成员(方法和变量),只能在类内部使用,但也可以通过特殊的方法进行访问,即"对象名._类名+私有成员",
book._Book__types
。- 两者表现形式:类属性定义时,如果以两个短下滑线"__"开头则表示是私有属性,否则就是公有属性。例如,
self.__size = s
为私有属性,而self.price = money
为公有属性。
- 两者表现形式:类属性定义时,如果以两个短下滑线"__"开头则表示是私有属性,否则就是公有属性。例如,
-
私有方法:以两个下滑线"__"开始,不能通过对象名直接调用。只能在属于对象的方法中通过self调用。例如,
self._namemethod
-
公有方法:通过对象名直接调用。例如,
a.printLcs
-
静态方法:可以通过类名和对象名调用,但不能直接访问属于对象的成员,只能访问属于类的成员。
参考:
1、https://blog.csdn.net/lydia_liumeijie/article/details/80391531
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· 在 Windows 10 上实现免密码 SSH 登录
· C#中如何使用异步编程
· SQL Server 内存占用高分析及解决办法(超详细)
· ffmpeg简易播放器(1)--了解视频格式
· 20250116 支付宝出现重大事故 有感