python面试题—python基础3

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

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章