测试你的Python 水平----3

2015/09/16 10:44
阅读数 164

1、问:简述python中列表、元组、字典的异同?

答:列表和元组都是任意对象的有序集合,通过偏移量存取,而字典是无序的映射,通过键值对存取,他们都支持嵌套。同时列表是元素和长度可变,而元组是不可变的。

2、问:简述python中else语句的用法?
答:
1)if-else语句:if条件值不满足时执行else语句中内容。
2)while/for-else语句:while循环完成后执行else语句,但是会被break跳过。
3)try-else语句:程序未检测出异常的时候执行。

3、第三题

定义:

a=5
b=6
请实现a和b值的交换,要求不能使用任何中间1变量?
答:(a,b)=(b,a)

4、问:编写程序计算10!。
答:比较简洁的实现方法:
f=lambda x,y:x*y
reduce(f,range(1,11))

5、问:使用python实现一个单例模式。

答:1)


import threading

class Singleton(object):

instance=None

mutex=threading.Lock()


@staticmethod

def getInstance():

if None==Singleton.instance:

Singleton.mutex.require()

if None==Singleton.instance:

Singleton.instance=Singleton()

Singleton.mutex.release()


return Singleton.instance


2)

def singleton(cls, *args, **kw):    

instances = {}    

def _singleton(*args,**kw):    

if cls not in instances:    

instances[cls] = cls(*args, **kw)    

return instances[cls]    

return _singleton


@singleton

class Singleton(object):

pass


展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部