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

做婚恋网站赚钱吗网站如何发布

做婚恋网站赚钱吗,网站如何发布,wordpress 功能菜单,wordpress花园网站一、什么是魔术方法 Python中像__init__这类双下划线开头和结尾的方法#xff0c;统称为魔术方法魔术方法都是Python内部定义的#xff0c;自己不要去定义双下划线开头的方法 二、__new__ 重写new方法时#xff0c;一定要调用父类的new方法来完成对象的创建#xff0c;并…一、什么是魔术方法 Python中像__init__这类双下划线开头和结尾的方法统称为魔术方法魔术方法都是Python内部定义的自己不要去定义双下划线开头的方法 二、__new__ 重写new方法时一定要调用父类的new方法来完成对象的创建并将对象返回出去参数cls代表的是类对象本身 class MyClass(object):def __init__(self, name):self.name name #new方法返回一个类对象 __init__才可进行初始化def __new__(cls, *args, **kwargs):print(这是new方法)# 子类调用父类object中的new方法并返回# return super().__new__(cls)return object.__new__(cls) # 推荐写法m MyClass(丸子) # 重写new方法后 对象为None了 需return print(m.name) 三、单例模式 单例模式可以节约内存也可以设置全局属性类每次实例化的时候都会创建一个新的对象不管实例化多少次始终只返回一个对象就是第一次创建的那个对象 class MyTest(object):__isinstance None # 设置一个类属性用来记录这个类有没有创建过对象(__isinstance私有属性 防止修改)def __new__(cls, *args, **kwargs):# 方法中不能直接调用类属性,需通过类名MyTest 或cls调用if not MyTest.__isinstance: # 为空cls.isinstance object.__new__(cls) # object.__new__(cls) 创建了对象return cls.__isinstance # 类属性接收到的就是上一行创建的对象else:return cls.__isinstancet1 MyTest() t1.name wanzi t2 MyTest() # 返回的仍然是t1 print(t2.name) print(t1的内存地址,id(t1)) print(t2的内存地址,id(t2))四、__str__和__repr__ 1、str给用户看的repr给程序员看的接近创建时的状态具体显示哪个类的方法 2、str方法注释后会触发repr方法repr方法注释后 repr()不会返回str  3、str和repr均注释后找父类object中的方法 4、str有3种方式被触发 print(m)str(m)format(m) 5、repr有2种方式被触发  1种是交互环境,控制台输入ipython后编写代码1种是repr() class MyClass(object):def __init__(self, name):self.name namedef __str__(self): # 重写__str__ 必须return字符串print(str被触发了)return self.namedef __repr__(self): # 重写__repr__ 必须return字符串print(repr被触发了)return MyClass.object-{}.format(self.name)def __call__(self, *args, **kwargs):# 对象像函数一样调用的时候触发print(----call----)m MyClass(youyou) # str有3种方式被触发 # print(m) # str(m) # format(m) # repr有2种方式被触发 1种是交互环境 1种是repr() res repr(m) print(res) 五、__call__ TypeError: MyClass object is not callable 六、__add__和__sub__ 字符串相加减若没有__str__方法 print(s1,s2)时会输出对象的默认表示 比如 __main__.MyStr object at 0x...不是内容本身 # 字符串加减法 __add__ __sub__ class MyStr(object):def __init__(self, data):self.data datadef __str__(self):# 若没有此方法 print(s1,s2)时会输出对象的默认表示比如 __main__.MyStr object at 0x...不是内容本身return self.datadef __add__(self, other): # other就是个普通参数 其他对象return self.data other.datadef __sub__(self, other):return self.data.replace(other.data,) # 字符串相减s1 MyStr(sss1) # self为s1 s2 MyStr(sss2) # other为s2 print(s1 s2) # 等同于s1.__add__(s2) print(s1 - s2) # 等同于s1.__sub__(s2) 七、上下文管理器 1、上下文管理器的概念 上下文管理器是一个Python对象为操作提供了额外的上下文信息。这种额外的信息在使用with语句初始化上下文以及完成with块中的所有代码时采用可调用形式 object.__enter__(self) 输入与此对象相关的运行时上下文如果存在则with语句将绑定该方法的返回值到该语句的as子句中指定的目标 object.__exit__(self, exc_type, exc_val, exc_tb) 退出与此对象相关的运行上下文参数描述导致上下文退出的异常。 ①如果该上下文退出时没有异常三个参数都将为None。 ②如果提供了一个异常并且该方法希望抑制该异常它应该返回一个真值。否则在退出此方法后异常将被正常处理 注意__exit__()方法不应该重新抛出传递进去的异常这是调用者的责任 2、上下文管理器的实现 如果在一个类中实现了__enter__和__exit__两个方法那么这个类就可以当做一个上下文管理器 # with open(test.txt,w,encodingutf8) as f: # f.write(我是丸子啊)# with后面跟的是一个上下文管理器对象class MyOpen(object):# 文件操作的上下文管理器类def __init__(self, file_name,open_method, encodingutf-8):self.file_name file_nameself.open_method open_methodself.encoding encodingdef __enter__(self):self.f open(self.file_name,self.open_method,encodingself.encoding)return self.f # 返回的内容等同于with open() as f中的fdef __exit__(self, exc_type, exc_val, exc_tb)::param exc_type: 异常类型:param exc_val: 异常值:param exc_tb: 异常追踪:return:print(exc_type,exc_type)print(exc_val,exc_val)print(exc_tb,exc_tb)self.f.close() 自定义一个上下文管理器 # 通过MyOpen类创建一个对象with处理对象时会自动调用enter魔术方法 with MyOpen(test.txt, r) as f: #f 是文件操作的一个句柄文件操作的I/O对象content f.read()print(content) #with方法执行结束后 触发exit方法
http://www.hkea.cn/news/14365309/

相关文章:

  • 广州微信网站建设平台php做的网站 订单系统
  • 免费的网站建造顺德网站
  • 校园门户网站建设项目技术支持做网站的公司哪好
  • 如何提升网站的流量汕头建设学校的网站
  • 淄博网站制作网络定制做网站怎么上传
  • 钓鱼网站模板制作前端怎么接私活做网站
  • asp绿色简洁通用型企业网站源码事业单位网站设计
  • 个人网站备案需要哪些材料网站建设的含义
  • 苏州网站建设推荐q479185700霸屏外贸公司出口退税申报流程
  • 西安学建网站网站建设少用控件
  • 许昌小学网站建设wordpress侧边联系方式
  • 外国游戏概念设计网站新农村建设在哪个网站申请
  • php做不了大型网站做英文网站 赚美元
  • 网站建设情况汇报做企业网站不好混
  • 网站模板怎么修改教程网站设置不可粘贴
  • 站长工具同大全站wordpress浏览插件
  • 网上做牙刷上什么网站深圳电商网站设计公司
  • 中国建设银行网站用户注册谈谈你对互联网营销的认识
  • 做seo网站优化多少钱西安俄语网站建设
  • 无锡外贸网站制作富阳建设局网站首页
  • 具有价值的建网站网站建设发布
  • 网站开发职业岗位个人做当地旅游网站
  • pc网站 手机网站 微信公众平台润滑油网站怎样做效果更好
  • 企业做网站需要做哪些工作广告公司有哪些
  • 会所网站建设360建筑工程网
  • 企业网站优化方案范本wordpress没显示已发布
  • 域名申请而完成以后怎么做网站中小企业网站设计与开发目的
  • wordpress 上传网站桐柏微网站开发
  • 手机网站版面设计如何修改网站logo
  • 推广不收费的网站有哪些wordpress 搜索无效