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

西安建站广东网站建设公司电话

西安建站,广东网站建设公司电话,百度seo搜索,郑州网站建设外包哈喽大家好#xff0c;我是咸鱼 当我们在学习 Python 的时候#xff0c;可能会经常遇到单下划线 _ 和双下划线 __ 这两种命名方式 单下划线 _ 和双下划线 __ 不仅仅是只是一种简单的命名习惯#xff0c;它们在 Python 中有着特殊的含义#xff0c;对于代码的可读性和功能…哈喽大家好我是咸鱼 当我们在学习 Python 的时候可能会经常遇到单下划线 _ 和双下划线 __ 这两种命名方式 单下划线 _ 和双下划线 __ 不仅仅是只是一种简单的命名习惯它们在 Python 中有着特殊的含义对于代码的可读性和功能实现有着关键的作用。 那么今天我们来看一看在 Python 中单下划线和双下划线的用法和意义 前导单下划线 前导单下划线Leading Single Underscore通常用于命名变量、方法和属性表示这些命名的元素是【私有】的或者说是【内部使用】的。 这种命名约定并不是严格的语言规则即非强制性而是一种约定告诉开发人员该对象不应该被外部直接访问或修改 _internal_variable 10比如说下面的例子中_internal_var和_internal_method都以前导单下划线开头表示它们是类的内部使用。 而public_method是公共方法可以在类外部访问。 class MyClass:def __init__(self):self._internal_var 42 # 前导单下划线表示该变量是内部使用的def _internal_method(self):return This is an internal methoddef public_method(self):# 在公共方法中调用内部方法和变量print(self._internal_method())print(fThe internal variable is: {self._internal_var})虽然可以在类外部访问前导单下划线命名的变量和方法但是按照约定建议只在类内部使用而避免在类外部直接访问它们。 单下划线 单下划线通常用作一个占位符用于表示一个不重要的变量名或迭代中的临时变量即在解构赋值或循环迭代中不需要使用的变量 例子一中_ 用作一个占位符变量表示在tuple_returning_function()返回的元组中的某个值但是在解构赋值中没有被使用。 def tuple_returning_function():return (1,1), (2,2), (3,3)_ , tuple_I_need, _ tuple_returning_function()例子二中_ 用作循环迭代中的占位符因为循环体中不需要使用循环变量的值只是执行了三次打印操作 for _ in range(0,3):print(打印三次)单尾随下划线 单个后缀下划线Single trailing underscores通常用于避免与 Python 关键字产生命名冲突。它被用作标识符的后缀以示与Python关键字有所区别。 比如说我想使用一个在 Python 中已经是保留关键字的变量名时比如class、def、type等。为了避免冲突可以添加后缀下划线 class_ Computer Science type_ “字符串”Dunder 方法 Dunder 方法指的是以双下划线__开头和结尾的特殊方法也称为魔术方法或特殊方法。 这些方法具有特殊的行为可以在自定义类中重写以改变类的行为。Dunder方法的名称是Python中预定义的例如__init__、__str__、__repr__等。 下面是一些常见的 Dunder 方法 __init__(self, ...): 初始化方法在对象实例化时调用用于初始化对象的属性。__str__(self): 将对象转换为字符串表示形式当使用print()函数或str()函数时调用。__repr__(self): 返回一个包含对象信息的字符串通常用于开发和调试可通过repr()函数调用。__len__(self): 返回对象的长度通过len()函数调用。__getitem__(self, key): 获取对象的元素用于索引操作例如obj[key]。__setitem__(self, key, value): 设置对象的元素用于索引赋值操作例如obj[key] value。__delitem__(self, key): 删除对象的元素用于索引删除操作例如del obj[key]。__call__(self, ...): 将对象作为函数调用使得对象实例可调用。 我们在下面的例子中定义了 __add__ dunder 方法并创建了两个实例 class Point:def __init__(self, x, y):self.x xself.y ydef __add__(self, other):return Point(self.x other.x, self.y other.y)def __str__(self):return f({self.x}, {self.y}) p1 Point(1, 2) p2 Point(3, 4) p3 p1 p2 print(p3) # Output: (4, 6)我们定义了一个 Point 类它有 x、y 两个实例变量以及__add__ 方法和__str__ 方法 当我们使用 运算符对 Point 的两个实例p1、p2求和时__add__ 会自动调用。它返回一个新 的 Point 对象p3其 x 和 y 值是两个原始 Point对象的 x和 y 值的和 当使用print()函数时调用自定义的__str__ 方法 前导双下划线 前导双下划线作为前缀在对象名前使用时表示这是一个特殊的命名约定它在类定义中用于创建私有属性或方法。 当在类中使用双下划线作为前缀时Python 解释器会自动修改属性名以避免在子类中发生命名冲突。这个过程被称为名称修饰name mangling 比如下面这个例子 class MyClass:def __init__(self):self.__private_var 10def get_private_var(self):return self.__private_var# 创建类的实例 obj MyClass()# 尝试访问私有属性 print(obj.__private_var) # 会抛出 AttributeError 错误因为这个属性名称已被修改# 通过调用访问私有属性的方法来获取 print(obj.get_private_var()) # 输出: 10__private_var属性在类内部被访问但是在类外部直接访问会导致 AttributeError 错误。 这是因为 Python 对 __private_var 进行了名称修饰实际名称变成了 obj._MyClass__private_var这样避免了外部直接访问 但是我们可以通过调用类内部方法 get_private_var() 在类外部访问私有属性。 通过使用前导双下划线以确保类的某些属性或方法只能从类本身内部访问。这有助于防止意外修改重要的内部数据并使代码更加可靠和可维护 但如果你知道修饰后的名称你仍可以在类外部去访问
http://www.huolong8.cn/news/290309/

相关文章:

  • 乐山网站营销推广哪家公司好如今做哪个网站致富
  • 网络小说网站三巨头网站会员推广邀请系统
  • .net 获取网站域名c 做彩票网站
  • 网站开发方法有哪些it外包服务平台
  • 做网站要和企业logo上海哪家公司提供专业的网站建设
  • 知道抖音视频是怎么做的网站嘛网页设计是前端还是后端
  • 个人免费网站制作怎么做网站原型
  • 外贸网站建设销售类网站数据库的建设
  • 宁波网站推广有哪些wordpress完全版教材
  • 海南建设网站网站 架构 设计
  • 做网站 流量怎么抓钱wordpress后台好卡
  • 网站建设步骤详解快捷的网站建设排行榜
  • discuz 手机网站南京专业网站优化公司
  • 个人网站设计模板中文品牌营销的重要性
  • 使用动易模版制作网站wordpress中文完全教程
  • 西宁网站建设费用品牌建设费用包括哪些?
  • 网站建设征求意见表wordpress读取文章样式
  • 组织网站建设应该注意什么网站建设与开发的软件
  • 网页设计与制作教程第四版台州网站优化方案
  • 招标网平台厦门谷歌seo公司
  • 贺州网站seo制作网站赚钱不
  • 营销型网站代理株洲关键词优化
  • 网站源码 后台301重定向手机网站
  • 有没有学做零食的网站wordpress添加主栏目
  • 国外免费建站成都最好的网站建设
  • 无极商城网站建设网站建设价格山东济南兴田德润什么活动
  • 怎么进网站源码的后台梵客联盟
  • 做百度外链哪些网站权重高点d0906网站建设与管理
  • cmsv6官方免费下载上海小红书seo
  • ac86u做网站服务器温州网站