php开发面试题---创建型设计模式1(创建型设计模式有哪几种) 一.总结 一句话总结: 共五种:(简单工厂模式).工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 1.学设计模式最好的方式是什么? 能够自己举例,举一反三,并且多举例 用:用永远是最好的学习方式 自己实例多用性:一举三得:所有的设计模式,往legend系统里面来靠,这样既学了设计模式,又改进了legend2,而且这还是能把设计模式学好的为数不多的几种方法 2.设计模式大的分类有哪几种? 创建型模式,共五种:工厂方法模…
纯sql语句写出: '''设计 图书管理系统 表结构: - 书 - 书名 - 作者 - 姓名 - 出版社 - 出版社名称 - 地址 一本书只能由一家出版社出版 --> 多对一(书对出版社) 一本书可以有多个作者,一个作者也可以写多本书 --> 多对多 ''' #答案CREATE TABLE book ( id INT PRIMARY KEY AUTO_INCREMENT, title ), publisher_id INT, FOREIGN KEY(publisher_id) REFERENC…
""" 封装.继承.多态 1. 谈谈你对面向对象的理解? 2. Python面向对象中的继承有什么特点? 3. 面向对象深度优先和广度优先是什么? 4. 面向对象中super的作用? 5. 列举面向对象中特殊成员(带双下划线的特殊方法,如:__new__.__init__.__call__等) 6. 静态方法和类方法区别? """ #谈谈你对面向对象的理解? #面向对象,首先我们要理解对象,什么是对象?对象是特征与技能的结合体.特征即变量,技能即…
''' 编写Python脚本,分析xx.log文件,按域名统计访问次数 xx.log文件内容如下: https://www.sogo.com/ale.html https://www.qq.com/3asd.html https://www.sogo.com/teoans.html https://www.bilibili.com/2 https://www.sogo.com/asd_sa.html https://y.qq.com/ https://www.bilibili.com/1 htt…
""" 1. os和sys都是干什么的? 2. 你工作中都用过哪些内置模块? 3. 有没有用过functools模块? """ #sys模块主要是用于提供对python解释器相关的操作 #os模块是Python标准库中的一个用于访问操作系统功能的模块,使用os模块中提供的接口,可以实现跨平台访问,在Linux和Windows下都可以运行. import os #常用的一些方法 # BASE_DIR = os.path.abspath(__file…
def f(): print("2018-06-04") # 每次调用f的时候 在打印"2018-06-04" 之前打印一句 开始, 之后再打印一句 结束 def wrapper(func): def inner(): print("start") func() print("end") return inner @wrapper def f(): print("2018-06-04") 答案 但这里面还是…
""" l1 = [11, 2, 3, 22, 2, 4, 11, 3] 去重并保持原来的顺序 """ #方式一 for 循环方法 l1 = [11, 2, 3, 22, 2, 4, 11, 3] l2 = [] for i in l1: if i not in l2: l2.append(i) print(l2) #方式二 l3 = list(set(l1)) # 将列表用set去重,再转换回列表(没有按照之前的顺序) l3.sort(key=…
""" 问:执行完下面的代码后, l,m的内容分别是什么? """ def func(m): for k,v in m.items(): m[k+2] = v+2 m = {1: 2, 3: 4} l = m # 拷贝 l[9] = 10 func(l) m[7] = 8 print("l:", l) print("m:", m) #在python 3.6版本 以上会直接报错 #在迭代一个列表或字典的时候,…
在格式化字符串中有两种方法: 1.%s 2.format 大家常用的是哪一种方法?为什么要用你选的这种方法? 我们先看一个例子: 首先我们定义一个我军需要击杀的恐怖分子的地理坐标为 c=(128,128) # 利用%进行字符串格式化 print("向他开炮:%s" % c) #报错 TypeError: not all arguments converted during string formatting print("向他开炮:%s" % (c, )) #正确的…
话不多说直接上题: 生成如下列表: [[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8], [0, 3, 6, 9, 12]] # 方式一 list1 = [] for i in range(4): msg = [] for j in range(5): tmp.append(j * i) list1.append(tmp) print(list1) # 方式二 列表生成式中,列表再嵌套列表 res = [[i * j for j in range…