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

1、问:python中浅拷贝和深拷贝如何实现?

答:浅拷贝:copy.copy    只拷贝父对象,不会拷贝对象的内部的子对象。
   深拷贝:copy.deepcopy    拷贝对象及其子对象

2、问:python中如何实现多线程?
答:1)函数式:调用thread模块的start_new_thread()产生新的进程;
2)继承式:让需要以多线程运行的类继承自threading.Thread,然后重写其run方法实现;

3、表达式:
type((1))
type((1,))
的输出分别是什么?
答:输出分别是:
<type ‘int’>
<Type ‘tuple’>
不带逗号python默认当成一个数字处理,带逗号则当成元组处理

4、问:python中RE模块match()和search()的区别?
答:match()函数只检测RE是不是在字符串的开头匹配成功的话才有返回,否则返回none;
search()会扫描整个string查找匹配;

5、问:使用stmplib模块发送一份e-mail,要求:
   1)收件人为:[email protected](可设置为你的其他邮箱)
   2)发件人:[email protected](可设置为你的其他邮箱)
   2)主题为:python
   3)邮件内容为:Hello,python!

答:简单实现,程序如下:

import smtplib
from email.mime.text import MIMEText

#设置基本参数
mail_host="smtp.qq.com"
mail_user='your user'            #修改为你的账号
mail_passwd='your password’     #修改为你的密码

#设置邮件参数
mail_from='[email protected]'   #修改为你的账号
mail_to='[email protected]'     #修改为你想发送的账号  
subject='python'
content='Hello,python!'

msg = MIMEText(content)
msg['Subject'] = subject
msg['From'] = mail_from
msg['To'] = mail_to

try:

#邮件发送启动会话,连接,身份验证,发送,结束

server = smtplib.SMTP()

server.connect(mail_host)

server.login(mail_user,mail_passwd)

server.sendmail(mail_from,mail_to, msg.as_string())

server.close()


except Exception, e:
print str(e)

注:需在qq邮箱设置-->账号-->开启SMTP服务,否则报类似如下错误:

Msg: Authentication failed, please open smtp flag first


你可能感兴趣的:(测试你的Python 水平----4)