摘要:
假设要从**@163.com发送邮件到**@sina.com,会经过下面几个过程: 首先,你得使用邮件代理软件(也就是MUA:Mail User Agent),例如Outlook,Foxmail。填写你的Email地址和密码,发送邮件。 Email从MUA发出后会到达163的服务器,也就是MTA:M 阅读全文
摘要:
恢复内容开始 现有的互联网通讯方式,是服务器端的进程与客户端进程的通信。Python中进行网络编程,就是在Python程序本身这个进程内,连接别的服务器进程的通信端口进行通信。 互联网协议上包含了上百种协议标准,但是,最重要的是两个协议:TCP和IP协议。所以,互联网协议简称TCP/IP协议。 通信 阅读全文
摘要:
Python支持多种图形界面,有:第三方库有Tk、wxWidgets、Qt、GTK等。 Python自带的库是支持Tk的Tkinter,无需安装任何安装包,就可以直接使用。 在Python中使用函数调用Tkinter的接口,然后Tk会调用操作系统提供的本地GUI接口,完成最终的GUI。 编写一个简单 阅读全文
摘要:
Python由于开源,所以拥有大量的第三方模块。 基本上,所有的第三方模块都会在PyPI - the Python Package Index上注册,只要找到对应的模块名字,使用easy_install或者pip即可安装。 PIL:Python Imaging Library,Python平台上图像 阅读全文
摘要:
collections包含对tuple、list、dict等派生出新功能 namedtuple用来为tuple类型派生出一个新名字的tuple类,并提供用属性引出的功能。 deque提高list的插入和删除的效率,同时增加appendleft()和popleft()功能。 defaultdict:使 阅读全文
摘要:
正则表达式: 由于程序中对字符串进行操作的情况实在太多,所以就诞生了正则表达式。它就是用来匹配字符串的。 \d匹配一个数字,\w匹配一个字母或者数字,\s匹配一个空格(包括Tab等空白符) *表示任意个字符,+表示一个字符,?表示0或者1个字符,{n}表示n个字符,{n,m}表示n-m个字符(数量表 阅读全文
摘要:
进程和线程 在操作系统看来,一个任务就是一个进程,而一个进程内部如果要做多个任务就是有多个线程。一个进程至少有一个线程。 真正的并行执行任务是由多个CUP分别执行任务,实际中是由,操作系统轮流让各个任务交替执行,任务1执行0.01秒,任务2执行0.01秒,之后再依次切换。 Python中支持两种模式 阅读全文
摘要:
由于CUP的运行速度远高于其他外设,IO操作有两种方式: 同步IO:CUP登着,程序暂停直到执行完后续代码 异步IO:CUP不等待,去做其他的事情,磁盘做完该做的事情后,告诉CUP,CUP再进行后续代码 异步IO操作较为复杂,这里记录同步IO操作。 文件读写 Python中读写文件是通过由操作系统提 阅读全文
摘要:
程序运行时,会遇到各种各样的错误。 编写错误叫做bug,而另一类由于运行过程中无法预测的,比如写文件时,磁盘满了,写不进去;或者从网络抓取数据,网络突然掉了。这些错误称为异常,程序中需要对异常进行处理,使得程序能够运行下去。 错误处理 Python中,程序运行错误时,如果错误没有捕获,它会一直往上抛 阅读全文
摘要:
数据封装、继承和多态只是面向对象编程中最基础的3个概念。 下面整理面向对象高级编程的更为强大的技巧。 使用__slots__:Python属于动态语言,可以允许已创建好的类动态地绑定任何属性和方法。但是,给实例绑定后,由该类创建的其他其他实例是没有绑定的;不过,可以给类绑定,那么有该类创建的实例均会 阅读全文