您的位置: 网站首页> python面向对象> 当前文章
单下划线变量和方法-单前导下划线
老董-我爱我家房产SEO2021-09-26188围观,143赞
在python中还有一种单下划线开头的变量(单前导下划线),无论是在类外部还是类内部,以单下划线开头的变量是一种指定变量私有的一种约定,他只是来表达不想被使用,并不是完全在功能上的限制。
1、类外部的单下划线变量和方法的访问特点
1)使用from module import * 进行导入,不能导入私有变量,但是在被导入的py文件中使用__all__单独声明了可导入内容时,可以正常导入。
2)使用import module导入模块可以导入并使用私有属性和方法
我们有1个A.py模块,内容如下:
class A: def __init__(self): self.text = "A" class _B: def __init__(self): self.text = "B
如果我们的脚本中如此写代码会报错
from A import * a = A() print(a.__dict__) b = _B() print(b.__dict__) # 报错_B is not defined
如果脚本中按照如下方式则是正确的
import A a = A.A() print(a.__dict__) b = A._B() print(b.__dict__)
2、类内部的单下划线变量和方法可以在外界访问
# -*- coding:utf-8 -*- class Person: def __init__(self,name,age): self.name = name self._age = age def _change(self,body): print(f'整容{body}') class Girl(Person): def __init__(self,name,age,cost): super().__init__(name,age) self._cost = cost if __name__ == "__main__": g = Girl('小龙女',18,1000) g._change('脸') print(g._cost)
整容脸 1000
很赞哦!
python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群
上一篇:类外部如何访问私有属性私有方法
下一篇:什么是多态,统一函数接口实现多态
相关文章
文章评论
-
单下划线变量和方法-单前导下划线文章写得不错,值得赞赏
站点信息
- 网站程序:Laravel
- 客服微信:a772483200