当前位置: 首页 > news >正文

网站开发应用网站建设报价明细表

网站开发应用,网站建设报价明细表,为什么网站建设需要每年续费,武汉网站建设whjzyhPython 私有变量和私有方法介绍 关于 Python 私有变量和私有方法,通常情况下,开发者可以在方法或属性名称前加上单下划线(_),以表示该方法或属性仅供内部使用,但这只是一种约定,并没有强制执行禁…

Python 私有变量和私有方法介绍

关于 Python 私有变量和私有方法,通常情况下,开发者可以在方法或属性名称前加上单下划线(_),以表示该方法或属性仅供内部使用,但这只是一种约定,并没有强制执行禁止外部访问。要真正实现“私有”的效果,可以在方法或属性名称前加上双下划线(__),在 Python 内部自动将方法或属性名称改写,这样就无法从类的外部直接访问了,但仍然可以通过在其前面添加单下划线和类名的方式来访问。

Python 私有变量

在Python中,私有变量是指在类定义中以两个下划线(__)开头的变量。这些变量被认为是私有的,因为它们不能从类的外部直接访问。

【Python 私有变量的官方说明 https://docs.python.org/zh-cn/3/tutorial/classes.html#private-variables 】

Python将双下划线作为前缀来对属性进行名称修饰,使得这些属性在类的外部无法通过简单的名称访问。但是,在类的内部,这些属性可以像其他属性一样使用,只不过需要使用特殊的名称来引用它们。

例如:

class MyClass:def __init__(self):self.__private_var = 42def get_private_var(self):return self.__private_varmy_object = MyClass()
print(my_object.get_private_var())  # 输出结果:42
#print(my_object.__private_var)      # 报错:AttributeError: 'MyClass' object has no attribute '__private_var'
print(my_object._MyClass__private_var)# 输出结果:42 ,可以这样访问私有变量,但是不建议

在上述代码中,我们定义了一个名为 MyClass 的类,并在其构造函数 __init__() 中设置了一个私有变量 __private_var。然后,我们定义了一个名为 get_private_var() 的方法,该方法返回私有变量 __private_var 的值。

当我们创建一个新的 MyClass 实例并调用 get_private_var() 方法时,我们可以成功地获取私有变量的值并输出它。但是,当我们尝试直接访问私有变量 __private_var 时,Python会抛出 AttributeError 异常,因为该属性不是公共的,不能从类的外部直接访问。

需要注意的是,在Python中,私有属性不是真正的私有。它们仍然可以通过特殊的名称来访问。具体来说,Python将私有变量名解释为一个新的变量名,这个变量名包括类名和变量名,并且以单下划线作为前缀,例如 _MyClass__private_var。虽然这种方式可以在某些情况下访问私有变量,但是强烈建议不要这样做,因为这会使你的代码更难理解和维护。

Python私有方法

在 Python 中,可以使用双下划线(__)来定义“私有”方法,这些方法只能在类的内部访问。具体来说,双下划线开头的方法名称会被 Python 解释器重命名为 _ClassName__my_private_method 的形式,因此在外部无法直接调用。

例如:

class MyClass:def __init__(self):self.__my_private_var = 42def __my_private_method(self):print("This is a private method.")print(f"The value of my_private_var is {self.__my_private_var}.")obj = MyClass()
# obj.__my_private_method()  # 报错:AttributeError: 'MyClass' object has no attribute '__my_private_method'
obj._MyClass__my_private_method()  # Output: This is a private method. The value of my_private_var is 42.

在这个示例中,我们定义了一个 MyClass 类,并在其中定义了一个“私有”方法 __my_private_method,该方法只能在类的内部访问。然后,我们创建了一个 MyClass 的对象并将其赋给变量 obj,但如果尝试直接调用 obj.__my_private_method(),会导致 AttributeError 错误,因为该方法是“私有”的。相反,我们可以通过 _MyClass__my_private_method() 方法来间接地调用该方法。

尽管在 Python 中可以通过特殊的名称来访问“私有”方法,但这并不是一种好的编程风格。

附录

python/类和实例-访问限制https://www.codenong.com/cs106668667/

Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解https://www.jb51.net/article/157112.htm

http://www.dinnco.com/news/46849.html

相关文章:

  • wordpress自建图床seo推广技巧
  • 网站怎么进入后台维护沈阳疫情最新消息
  • 建设网站招标引擎搜索
  • 西安专业做网站公司百姓网推广电话
  • 手机网站程序可以用.com作为域名吗狼雨的seo教程
  • 湖南常德政府网seo网站优化推广教程
  • 哪些是+joomla做的网站网站播放视频速度优化
  • 网站建设制作报价方案html网页制作成品
  • 阿里巴巴网站做销售方案seo技术蜘蛛屯
  • 想做个网站 怎么做蚁坊软件舆情监测系统
  • 搜索关键词网站seo网站排名优化公司哪家好
  • 北京华兴森茂印刷网站建设项目淄博新闻头条最新消息
  • 科普网站建设熊猫seo实战培训
  • 学生个人网站模板哪些平台可以发广告
  • 广告传媒公司简介广州seo技术外包公司
  • 谁能低价做网站支付接口国外媒体报道
  • 怎么查网站关键词密度免费行情网站app大全
  • 网站建设 考题中国十大门户网站排行
  • 前台和后台网站开发的区别个人网站制作
  • 网站建设中系统实现网络推广是诈骗吗
  • 专业建网站 优帮云房产网站建设
  • 网站开发后端论文近两年网络营销成功案例
  • 网站设计有哪些语言版本国家卫健委每日疫情报告
  • 工作室网站建设旅游企业seo官网分析报告
  • 无码一级a做爰片免费网站付费恶意点击软件
  • 做网站的细节小网站关键词搜什么
  • 网站邮箱登陆代码附近电脑培训速成班一个月
  • 乌鲁木齐网站建设公司百度智能建站平台
  • 手机微网站模板下载百度运营优化师
  • 会ps的如何做网站媒体公关是做什么的