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

游戏网站开发运营的几个思路网站及系统建设维护

游戏网站开发运营的几个思路,网站及系统建设维护,厦门网站设计哪家公司好,在北京注册公司要哪些条件本章学习链接如下#xff1a; Python 面向对象——1.基本概念 Python 面向对象——2.类与对象实例属性补充解释#xff0c;self的作用等 Python 面向对象——3.实例方法#xff0c;类方法与静态方法 Python 面向对象——4.继承 Python 面向对象——5.多态 1. 封装的基…本章学习链接如下 Python 面向对象——1.基本概念 Python 面向对象——2.类与对象实例属性补充解释self的作用等 Python 面向对象——3.实例方法类方法与静态方法 Python 面向对象——4.继承 Python 面向对象——5.多态 1. 封装的基本概念 封装是将属性和方法结合在一起的机制同时限制对对象内部实现的直接访问。在Python中封装通常是通过定义类和使用私有变量以双下划线开头来实现的。封装的主要目的是隐藏对象的内部状态和复杂性只暴露出一个清晰和简洁的接口供外部代码使用。 1私有变量 私有变量是一种访问限制机制用于限制类外部对类内部属性或方法的直接访问。 命名约定在Python中私有变量通常以两个下划线_ _开头。例如_ _my_variable。那这是怎样做到的呢源于Python中的名称重整机制。 2名称重整规则  如果属性名以双下划线开头但不以下划线结尾_ _name那么在名称重整时会将属性名中的双下划线替换为类名然后再加上一个单下划线。例如对于类MyClass中的属性_ _my_variable重整后的名称将是_MyClass_ _my_variable。 如果属性名以双下划线开头并且以下划线结尾_ _my_variable_ _那么在名称重整时会保留一个下划线在属性名的开头和结尾。例如对于类MyClass中的属性_ _my_variable_ _重整后的名称将是 _MyClass_ _my_variable_ _。 我们看下面这个代码示例self._ _salary 是一个私有属性它被声明为私有的因为它的名称以双下划线开头。根据名称重整规则这个属性在类外部的名称将变为 _Employee_ _salary。self._ _top_secret() 是一个私有方法同样因为以双下划线开头它在类外部的名称将变为 _Employee_ _top_secret。当我们尝试直接访问这些私有成员时Python解释器会抛出一个 AttributeError因为它找不到这些属性或方法。然而如果我们知道了名称重整后的名称我们仍然可以访问到这些私有成员但这违反了封装的原则因此通常不推荐这样做。 请注意尽管我们可以通过名称重整后的名称访问私有成员但这并不是Python推崇的做法。更好的做法是通过类的公有接口如方法来访问或修改私有成员以保持类的封装性。 class Employee:def __init__(self, name):self.name name # 公开属性self.__salary 50000 # 私有属性使用双下划线开头def give_raise(self, amount):self.__salary amountprint(f{self.name}s new salary is: ${self.__salary})def __top_secret(self):pass # 私有方法使用双下划线开头# 创建Employee类的实例 emp Employee(Alice)# 尝试直接访问私有属性这将不会成功 try:print(emp.__salary) # 错误__salary不是Employee的属性 except AttributeError as e:print(e)# 尝试调用私有方法这也将不会成功 try:emp.__top_secret() # 错误__top_secret不是Employee的方法 except AttributeError as e:print(e)# 使用公开方法访问私有属性 print(f{emp.name}s salary is: ${emp._Employee__salary}) 请注意名称重整并不是真正的私有化而是一种约定。它通过名称改写来减少属性被外部访问的可能性但并不阻止有经验的程序员绕过这个机制。在Python中如果你想要完全私有的属性可以使用单下划线开头的属性名_my_variable但这只是一种约定表示该属性不应该被外部直接访问。 3try: try和except语句用于异常处理。当你执行一个可能会抛出异常的代码段时可以将该段代码放在try块中。如果在try块中的代码执行过程中发生了异常程序的执行将不会立即停止而是会跳转到except块中这允许你捕获并处理异常。 在这段代码示例中try块用于尝试访问Employee类的私有属性_ _salary和调用私有方法_ _top_secret。根据Python的命名规则以双下划线开头的属性和方法对外部是不可访问的因为它们被视为私有的尽管这不是一种真正的私有机制只是一种命名约定。 代码中的两个try块尝试执行如下操作 尝试直接访问emp实例的私有属性_ _salary。由于_ _salary是私有的这个尝试会抛出AttributeError因为_ _salary不是Employee实例的公开属性。 尝试调用emp实例的私有方法_ _top_secret。同样由于_ _top_secret是私有的这个尝试也会抛出AttributeError。 2.错误捕获 1背后的原理 except AttributeError as e:print(e) 当AttributeError被捕获时变量e是一个异常对象。这个对象包含了异常的详细信息当你打印e时实际上是调用了该对象的__str__()方法它返回异常的描述性字符串。 当你打印一个异常对象时背后实际上是调用了该对象的__str__()方法。这是Python对象的内置特殊方法也称为dunder方法即双下划线前缀和后缀的方法用于返回对象的字符串表示形式。即使在给定的类定义中没有显式地看到__str__()方法它也是隐式存在的因为所有的Python对象默认继承自object类而object类提供了一个默认的__str__()实现。 异常类如AttributeError通常会重写__str__()方法以返回一个描述错误的字符串。当你执行print(e)Python首先查找对象e的__str__()方法并调用它来获取字符串表示然后打印出来。 这是Python中所有异常对象的标准行为所以即使你在类定义中没有看到显式的__str__()方法当你打印异常对象时它也是可用的。 下面是一个简单的示例展示如何自定义一个类并重写__str__()方法 在上面的代码中我们创建了一个自定义异常MyError它继承自Python的基类Exception。我们重写了__str__()方法来返回一个自定义的错误信息。当异常被捕获并打印时会显示我们提供的信息。 class MyError(Exception):def __str__(self):return 自定义错误信息try:raise MyError() except MyError as e:print(e) # 输出: 自定义错误信息 2Exception类 Python的Exception类是所有内置和用户定义的异常的基类。它位于异常类继承层次结构的顶端提供了处理异常时的默认行为。在Python中异常是用于错误处理的一种机制允许程序在发生错误时从代码的某个部分“跳出”并提供一种方式来响应或恢复。
http://www.pierceye.com/news/49539/

相关文章:

  • 建立网站做家教辅导内蒙中国建设银行招聘网站
  • 企业网站php源码免费下载建站快车的优点
  • 福州网站制作外包全能网站建设完全自学手册
  • 网站广告调词平台企业官方网站建设教程
  • 网站建设专有名词网络科技有限公司网站建设
  • 能自己做谱子的网站西安品牌策划公司排名
  • 上海博道投资管理公司的网站谁做的顺德网站制作案例信息
  • 邯郸学校网站建设费用最便宜的网站建设
  • 在中筹网站上做众筹百度网站推广咨询
  • 东莞网站优化seodtcms怎么做自己网站
  • 济南单位网站建设济南网站建站
  • 济南市住房建设网站塘厦基础网站建设
  • 佛山模板网站建站电视剧在线观看免费影视网站
  • 网站备案查询创业网站建设怎么样
  • 深圳做手机网站多少钱专业网站建设兴田德润
  • wordpress全站ajax手机网站样式
  • 威海网站建设吧菜单 wordpress
  • 功能性的网站建设完整网站模板
  • 河南高端网站建设广州市国外网站建设平台
  • 西安微网站制作管理咨询公司技术服务
  • asp.net+网站开发+实战局网站建设
  • 微小店网站建设比较好顺德做pc端网站
  • 桐城网站定制北京的网站开发公司
  • 百度网站网址是什么wordpress 3d主题
  • 陕西网站开发公司建站系统下载
  • 做商城网站需要备案什么域名全屏网站帮助
  • 980网站wordpress自动回到顶部
  • 网站文件权限设置dw制作网页的代码
  • 网站建设任务执行书国家基础设施建设网站
  • 中山做网站优化精品展厅设计