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

旅游网站建设的好处网站引流怎么做的

旅游网站建设的好处,网站引流怎么做的,合肥网站建设平台,律师怎样做网站Day22作业讲解 学生类Student:属性:学号#xff0c;姓名#xff0c;年龄#xff0c;性别#xff0c;成绩 ​ 班级类 Grade:属性:班级名称#xff0c;班级中的学生 【使用列表存储学生】 ​方法:1.查看该班级中的所有学生的信息2.查看指定学号的学生信息3.查看班级中成绩不…Day22作业讲解 学生类Student:属性:学号姓名年龄性别成绩 ​ 班级类 Grade:属性:班级名称班级中的学生 【使用列表存储学生】 ​方法:1.查看该班级中的所有学生的信息2.查看指定学号的学生信息3.查看班级中成绩不及格的学生信息4.将班级中的学生按照成绩降序排序​ class Student():__slots__ (sid,name,age,score)def __init__(self,sid,name,age,score):self.sid sidself.name nameself.age ageself.score scoredef __repr__(self):return f{self.sid}-{self.name}-{self.score} ​ class Grade():__slots__ (grade_name,stus_list)def __init__(self,grade_name,stus_list):self.grade_name grade_nameself.stus_list stus_list   # 将学生的对象添加到列表中def show_all(self):print(所有学生的信息如下)for stu in self.stus_list:print(stu)  # 调用__init__或__repr__def show_single(self,sid):print(f学号为{sid}的学生的信息如下)for stu in self.stus_list:if stu.sid sid:print(stu)breakelse:print(不存在)def show_low(self):print(不及格学生的信息如下)for stu in self.stus_list:if stu.score 60:print(stu)def sort_by_score(self):print(降序排序之后的信息如下)self.stus_list.sort(reverseTrue,keylambda stu:stu.score)self.show_all() ​ if __name__ __main__:s1 Student(1003,小明,19,88)s2 Student(1001, 小王, 17, 100)s3 Student(1005, 小李, 19, 56)s4 Student(1006, 小张, 20, 99)s5 Student(1002, 小赵, 18, 60) ​grade Grade(千锋2401,[s1,s2,s3,s4,s5])grade.show_all()grade.show_single(1006)grade.show_low()grade.sort_by_score() 一、单例设计模式【重点掌握】 1.概念 什么是设计模式 ​ 设计模式是经过总结、优化的对我们经常会碰到的一些编程问题的可重用解决方案 ​ 设计模式更为高级它是一种必须在特定情形下实现的一种方法模板。设计模式不会绑定具体的编程语言 ​ 23种设计模式其中比较常用的是单例设计模式工厂设计模式代理模式装饰者模式等等 什么是单例设计模式 ​ 单例单个实例/单个对象一个类只能创建一个对象只能创建出一个对象的类被称为单例类 ​ 程序运行过程中确保某一个类只有一个实例【对象】不管在哪个模块获取这个类的对象获取到的都是同一个对象。例如一个国家只有一个主席不管他在哪 单例设计模式的核心一个类有且仅有一个实例并且这个实例需要应用于整个程序中该类被称为单例类 问题验证两个变量中是否存储的是同一个对象 解决地址 ​ 方式一x1 is x2 ​ 方式二id(x1) id(x2) 2.应用场景 应用程序中描述当前使用用户对应的类 ——— 当前用户对于该应用程序的操作而言是唯一的—— 所以一般将该对象设计为单例 实际应用数据库连接池操作 —— 应用程序中多处地方连接到数据库 ——— 连接数据库时的连接池只需一个就行没有必要在每个地方都创建一个新的连接池这种也是浪费资源 ———— 解决方案也是单例 3.实现 3.1实现单例类方式一 # 1.普通类 class Person():pass p1 Person() p2 Person() print(p1 is p2)  # False print(id(p1) id(p2))  # Flase ​ print(* * 50) ​ # 2.单例类__new__ __init__class Person():# 定义一个类属性用于表示当前类可以创建的唯一的对象# 因为此类属性无需在类的外面被访问修改则设置为私有属性__instance Nonedef __new__(cls, *args, **kwargs):print(new~~~)# 只要super().__new__(cls)被执行一次则会创建出一个新的对象# 判断__instance的值如果为None则重新赋值为对象并返回如果非空则直接返回if not cls.__instance:print(if~~~~)cls.__instance super().__new__(cls)return cls.__instance ​def __init__(self,name,age):print(init~~~~,name,age)self.name nameself.age age p1 Person(张三,10)  # 创建对象 p2 Person(李四,20)   # 获取第一次创建的对象此处的李四和20相当于给对象的name和age属性重新赋值 print(p1 is p2)  # True print(id(p1) id(p2))   # True ​ print(p1.name,p2.name)   # 李四 ​ p1.name Jack print(p1.name,p2.name) 3.2装饰器装饰类 .装饰器装饰类 def wrapper(cls):  # cls表示需要被装饰的类def inner(*args,**kwargs):c cls(*args,**kwargs)      # 类(),创建对象调用类中的构造函数__new__,__init__,所以此处的参数需要和__init__中的参数保持一致print(new~~~)  # 新增的功能return creturn inner ​ wrapper            # 调用外部函数wrapper class A():def __init__(self,name,age):self.name nameself.age age print(A)   # function wrapper.locals.inner at 0x000001DF7EDCC430 a1 A(111,10)        # 调用inner,a1中存储的是inner的返回值为了符合最初创建对象的语法则给inner设置返回值 print(a1) 3.3实现单例类方式二 def singleton(cls):# 定义一个函数作用域的变量用于存储被装饰的类可以创建的唯一的对象instance Nonedef get_instance(*args,**kwargs):nonlocal instanceif not instance:instance cls(*args, **kwargs)  # 调用__init__return instancereturn get_instance ​ singleton class Person():def __init__(self,name,age):print(init~~~~~,name,age)self.name nameself.age age ​ p1 Person(张三,10)   # 调用get_instance p2 Person(李四,20)   # 调用get_instance print(p1 is p2)  # True print(id(p1) id(p2))  # True ​ print(p1.name,p2.name)   # 张三 ​ p1.name Jack print(p1.name,p2.name) 3.4实现单例类方式三 def singleton(cls):# 定义一个函数作用域的字典变量key:被装饰的类value:唯一的对象instance {}def get_instance(*args,**kwargs):if not instance:# 向字典中添加键值对instance[cls] cls(*args, **kwargs) # 调用__init__return instance[cls]return get_instance ​ singleton class Person():def __init__(self,name,age):print(init~~~~~,name,age)self.name nameself.age age ​ p1 Person(张三,10)   # 调用get_instance p2 Person(李四,20)   # 调用get_instance print(p1 is p2) # True print(id(p1) id(p2)) # True ​ print(p1.name,p2.name)   # 张三 ​ p1.name Jack print(p1.name,p2.name)
http://www.hkea.cn/news/14395868/

相关文章:

  • 清溪镇网站建设公司网站文档怎么加图片不显示不出来
  • 高端网站建设谷美开发游戏的职业叫什么
  • 北京的网站建设收费标准自己创建app
  • 系统之家win7纯净版广州seo网络优化公司
  • 厦门网站建设工作室网监大队让网站备案
  • 做地图特效的网站成都注册公司多少钱
  • 做效果图网站有哪些装饰公司简介内容
  • 无为县住房建设局网站首页logo免费一键生成
  • 房地产做网站公司文化建设
  • 网站建设产品经理职责四川建筑人员证书查询官网
  • 集团公司网站 案例学it需要什么学历
  • 网站怎么做qq微信登陆界面郴州网站设计公司
  • 一个模拟做实验的网站西安优化网站
  • 做网站知道访客ip做搜狗手机网站快速
  • 会计培训网站医疗机构网站
  • 网站建设卖点什么是软件定制开发
  • 企业网站标签页是什么网页编辑布局在线
  • 网站建设合同用贴印花税吗南宁企业门户网站建设价格
  • 网站 工信部备案 收回别人抄袭网站设计怎么办
  • 织梦做仿站时 为何会发生本地地址跳转网站地址大连网站制作机构
  • 企业做网站哪家公司好跨境电商知名网站建设
  • 兰州企业建设网站软文的概念
  • 可视化响应式网站建设物流网站大全
  • 成立公司有什么好处和坏处seo狂人
  • 最好的flash网站seo分析网站
  • 设计教学网站推荐设计师网络用语
  • 企业网站内使用了哪些网络营销方式58同城商业后台如何做网站
  • ftp给网站上传图片后图片的链接地址被改了制作网站站用的软件
  • 取名网站开发php wordpress开发教程
  • 手机网站后台Sensei wordpress插件