面试第八篇

1. 输出 [[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8], [0, 3, 6, 9, 12]]

r = (4, 5)
ret = [[x*i for i in range(0, r[1])] for x in range(0, r[0])]

2. [{'name':'zs','age':32},{'name':'ls','age':35}] 这样一个数据结构,取出name为zs的年龄

print([i['age'] for i in s if i['name']=='zs'])

3.[i%2 for i in range(10)] 和 (i%2 for i in range(10))的输出结果分别是什么

 [i%2 for i in range(10)]   =======> [0, 1, 0, 1, 0, 1, 0, 1, 0, 1]
 (i%2 for i in range(10))   =======>返回一个生成器对象

4.用python实现99乘法表(两种方式)

 for i in range(1,10):
     for j in range(i,10):
         print("%d*%d=%d"%(i,j,i*j),end=" ")
     print("")

 for i in range(1,10):
     for j in range(1,i+1):
         print("%d*%d=%d"%(i,j,i*j),end="	")
    print("")

5.python如何实现单例模式

 python中最常用的单例模式就是基于文件的单例模式,即文件的读写;基于__new__()方法实现;基于metaclass方法实现;基于类方法实现(instanse)

6.常用的一些状态码都有哪些

200——服务器成功返回网页
204——请求收到,但返回信息为空
301——删除请求数据
304——客户端已经执行了GET,但文件未变化
400——错误请求,如语法错误
401——请求授权失败
404——请求的网页不存在
500——服务器产生内部错误
502——服务器暂时不可用,有时是为了防止发生系统过载
503——服务器超时过载或暂停维修

7. mysql中连表都用什么,他们有什么区别  

内连接 只连接匹配的行,又叫等值连接,又生出自然连接。
左外连接 包含左边表的全部行,以及右边表中全部匹配的行。
右外连接 包含右边表的全部行,以及左边表中全部匹配的行。
全外连接 包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行。
交叉连接 笛卡尔积-它不使用任何匹配或者选取条件,而是直接对两张表的每个行进行交叉匹配。

8.面向对象中类方法,静态方法,实例化方法的作用?  

(1)类方法:将类内的函数,转换成类方法,函数上装饰@classmethod 会将函数的自动传值参数改成cls。
(2)静态方法:此种方法相当于给类扩展了一个功能,将类内的函数实例化,给类或是对象使用。此时类内的函数就是普通的函数,不管是类还是实例化的对象都可以使用,不再属于谁的绑定方法,就是一个函数。
(3)实例化:类的实例化就会产生一个实例(对象)。 可以理解为类加()把虚拟的东西实例化,得到具体存在的值,叫做类的实例化。

9. 列表 alist = [{“a”:5,”b”:2},{“a”:2,”b”:8},{“a”:8,”b”:2}]请写出以键 a 的值对 alist 进行排序的表达式是  

sorted(alist,key=lambda x:x['a'])

10.python 支持的数据类型有  

Number(数字) 
String(字符串)
List(列表)
Tuple(元组)
Sets(集合)
Dictionary(字典)
原文地址:https://www.cnblogs.com/moning/p/8451522.html