23.程序执行如下的代码输出结果是什么?
def multipliers():
return [lambda x:i * x for i in range(4) ]
Print[m(2) for m in multipliers()]
[6, 6, 6, 6]
24.如何使用 Python 来进行替换一个文本字符串?请写出代码?
可以使用 replace 函数来替换字符串
25.程序执行如下的代码输出结果是什么?
class Parent(object):
x = 1
class Child1(Parent):
pass
class Child2(Parent):
Pass
print(Parent.x,Child1.x,Child2.x)
Child.x = 2
print(Parent.x,Child1.x,Child2.x)
Parent.x = 3
print(Parent.x,Child1.x,Child2.x)
26.输入某年某月某日,判断这一天是这一年的第几天?(可以使用Python 标准库)
import time
D=input("请输入年份,格式如 XXXX-XX-XX:")
d=time.strptime( D,'%Y-%m-%d').tm_yday
print("the {} day of this year!" .format(d))
27.请写出你所熟知的几种设计模式?
工厂模式,单例模式,装饰器模式,迭代器模式,MVC 模式
28.如下代码输出的是什么?
list = [“a”,”b”,”c”,”d”,”e”]
Print ( list[ 10 : ] )
[]
29.请手动书写使用装饰器实现的单利模式?手写个使用装饰器实现的单例模式;
def single01(cls):
s=[] //这里定义了一个私有列表,也可以声明一个变量,在 wrap 用关
键字 nonlocal 去调用
def wrap(*args,**kwargs):
if not s:
s.append(cls(*args,**kwargs))
return s
return wrap
@single01
class A(object):
def __init__(self,name):
self.name = name
30.以 升 序 方 式 融 合 两 个 列 表list1=[2,4,5,9,20,8,7],list2=[21,25,42,39,8],并返回融合后的列表。要求:不能使用 Python 自带的 sort、list.sort 等函数。
def bubble_sort(array):
for i in range(len(array)):
for j in range(i, len(array)):
if array[i] > array[j]:
array[i], array[j] = array[j], array[i]
return array