197.132.80:7808', '205.164.41.101:3128', '63.141.249.37:8089', '27.34.142.47:9090')
4 >>> t = list(l)
5 >>> print t
6 ['217.169.209.2:6666', '192.227.139.106:7808', '110.4.12.170:83', '69.197.132.80:7808', '205.164.41.101:3128', '63.141.249.37:8089', '27.34.142.47:9090']
10.请写出一段Python代码实现删除一个list里面的重复元素
1 >>> l = [1,1,2,3,4,5,4]
2 >>> list(set(l))
3 [1, 2, 3, 4, 5]
4 或者
5 d = {}
6 for x in mylist:
7 d[x] = 1
8 mylist = list(d.keys())
11.Python如何实现单例模式?其他23种设计模式python如何实现?
1 #使用__metaclass__(元类)的高级python用法
2 class Singleton2(type):
3 def __init__(cls, name, bases, dict):
4 super(Singleton2, cls).__init__(name, bases, dict)
5 cls._instance = None
6 def __call__(cls, *args, **kw):
7 if cls._instance is None:
8 cls._instance = super(Singleton2, cls).__call__(*args, **kw)
9 return cls._instance
10
11 class MyClass3(object):
12 __metaclass__ = Singleton2
13
14 one = MyClass3()
15 two = MyClass3()
16
17 two.a = 3
18 print one.a
19 #3
20 print id(one)
21 #31495472
22 print id(two)
23 #31495472
24 print one == two
25 #True
26 print one is two
27 #True
1 #使用装饰器(decorator),
2 #这是一种更pythonic,更elegant的方法,
3 #单例类本身根本不知道自己是单例的,因为他本身(自己的代码)并不是单例的
4 def singleton(cls, *args, **kw):
5 instances = {}
6 def _singleton():
7 if cls not in instances:
8 instances[cls] = cls(*args, **kw)
9 return instances[cls]
10 return _singleton
11
12 @singleton
13 class MyClass4(object):
14 a = 1
15 def __init__(self, x=0):
16 self.x = x
17
18 one = MyClass4()
19 two = MyClass4()
20
21 two.a = 3
22 print one.a
23 #3
24 print id(one)
25 #29660784
26 print id(two)
27 #29660784
28 print one == two
29 #True
30 print one is two
31 #True
32 one.x = 1
33 print one.x
34 #1
35 print two.x
36 #1
12.Python里面如何拷贝一个对象?
http://blog.csdn.net/sharkw/article/details/1934090
标准库中的copy模块提供了两个方法来实现拷贝.一个方法是copy,它返回和参数包含内容一样的对象.
使用deepcopy方法,对象中的属性也被复制
13.介绍一下except的用法和作用?
Python的except用来捕获所有异常,因为Python里面的每次错误都会抛出一个异常,所以每个程序的错误都被当作一个运行时错误。
14.Python中pass语句的作用是什么?
pass语句什么也不做,一般作为占位符或者创建占位程序,pass语句不会执行任何操作
15.如何知道一个python对象的类型?
type()
16.介绍一下Python下range()函数的用法?
http://docs.python.org/library/functions.html#range
range(start, stop[, step])
17.如何用Python来进行查询和替换一个文本字符串?
可以使用sub()方法来进行查询和替换,sub方法的格式为:sub(replacement, string[, count=0])
replacement是被替换成的文本
string是需要被替换的文本
count是一个可选参数,指最大被替换的数量
18.Python里面search()和match()的区别?
match()函数只检测RE是不是在string的开始位置匹配,search()会扫描整个string查找匹配, 也就是说match()只有在0位置匹配成功的话才有返回,如果不是开始位置匹配成功的话,match()就返回none
19.用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别?
前者是贪婪匹配,会从头到尾匹配 <a>xyz</a>,而后者是非贪婪匹配,只匹配到第一个 >。
20.Python里面如何生成随机数?
import random
random.random()
它会返回一个随机的0和1之间的浮点数
21.如何用Python来发送邮件?
python实现发送和接收邮件功能主要用到poplib和smtplib模块。
poplib用于接收邮件,而smtplib负责发送邮件。
代码如下:
1 #! /usr/bin/env python
2 #coding=utf-8
3 import sys
4 import time
5 import poplib
6 import smtplib
7 #邮件发送函数
8 def send_mail():
9 try:
10 handle = smtplib.SMTP('smtp.126.com',25)
11 handle.login('XXXX@126.com','**********')
12 msg = 'To: XXXX@qq.com\r\nFrom:XXXX@126.com\r\nSubject:hello\r\n'
13 handle.sendmail('XXXX@126.com','XXXX@qq.com',msg)
14 handle.close()
1