深拷贝与浅拷贝的区别
关于Python中的深拷贝和浅拷贝,有一篇很好的文章:图解Python深拷贝和浅拷贝,这篇文章用示例代码和图解很好地阐释了两者的区别。这里自己简单地归纳一下。
关于Python中的深拷贝和浅拷贝,有一篇很好的文章:图解Python深拷贝和浅拷贝,这篇文章用示例代码和图解很好地阐释了两者的区别。这里自己简单地归纳一下。
字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取 @
前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。
Perl语言的原作者Larry Wall曾经说过,伟大的程序员都有三个优点:懒惰、暴躁和自负。乍一看这三个词语没有一个是褒义词,但在程序员的世界里,这三个词有不同的意义。首先,懒惰会促使程序员去写一些省事儿的程序来辅助自己或别人更好的完成工作,这样我们就无需做那些重复和繁琐的劳动;同理能够用3行代码解决的事情,我们也绝不会写出10行代码来。其次,暴躁会让程序员主动的去完成一些你还没有提出的工作,去优化自己的代码让它更有效率,能够3秒钟完成的任务,我们绝不能容忍1分钟的等待。最后,自负会促使程序员写出可靠无误的代码,我们写代码不是为了接受批评和指责,而是为了让其他人来膜拜。
现代操作系统包括Mac OS X,UNIX,Linux,Windows等,它们都是支持“多任务”的操作系统。
什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务。打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务,至少同时有3个任务正在运行。还有很多任务悄悄地在后台同时运行着,只是桌面上没有显示而已。
IO在计算机中指输入和输出(Input/Output)。由于程序运行时,数据是在内存中驻留,并由CPU这个超快的计算核心来进行处理的(处理时会把数据从内存载入到CPU的高速缓存中),而涉及到数据交换的操作,比如磁盘读写、网络传输等的时候,就需要使用IO接口来协调了。
在程序运行过程中我们总会遇到各种各样的错误。有的错误是程序编写有问题造成的,比如本来应该输出整数结果输出了字符串,这种错误我们通常称之为bug,bug是必须修复的;有的错误是用户输入造成的,比如让用户输入email地址,结果得到一个空字符串,这种错误可以通过检查用户输入来做相应的处理;还有一类错误是完全无法预测的,比如写入文件的时候,磁盘满了,写不进去了,或者从网络抓取数据,网络突然断掉了。这类错误也称为异常,在程序中通常是必须处理的,否则,程序会因为各种问题终止并退出。Python内置了一套异常处理机制,可以帮助我们处理这些错误。