Python的易错点

时间:2022-03-15 05:21:05

一.列表和元组的区别

列表是允许修改的,而元组是不能修改的,元组只能实现拼接,形成一个新的元组。两者可以实现相互转换,列表转换成元组使用truple函数,而元组转换成列表使用list函数。

二.Raw_input 和input 的区别

使用raw_input输入的强制转换成了,字符串;而用input 输入的可以是python的一个表达式,并将运算结果返回。

程序如下:

a = raw_input()
b = input()
print a
print type(a)
print b
print type(b)

结果如下:

1

1

1

<type 'str'>

1

<type 'int'>

Process finished with exit code 0

三.面向对象和面向过程的区别

所谓的面向对象,其实就是将一个事务拆分成很多个功能,每个功能就是一个对象。就像设计五子棋,规则是一个对象,棋盘是一个对象,而黑白棋又是一个对象。

所谓的面向过程,其实就是将一个事务拆分成几个步骤,每个步骤写个函数,一次调用。还是五子棋,1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。

python是面向对象的程序语言。和java一样。

四.继承和重写的区别

所谓的继承,就是子类从父类继承字段和方法。

所谓的重写,就是子类从父类继承的方法不符合要求,对该方法的重写,称之为覆盖,也成为重载。

双下划线不管是加在方法的前面还是,属性的前面都表示其为私有的。

默认__init__方法是不重载的

五.类和普通函数的区别

类和普通函数的区别在于,类必须有一个额外的参数名称叫做self。self代表的是类的实例,self.class才代表着类

六.Match 和search 的区别

这两个函数都在re模块中,用于正则表达式的判断,区别在于match 只匹配字符串的开始,如果开始不匹配那就会返回none;而 search匹配整个字符串直到直到一个匹配

程序如下:

import re
str = "who are you"
match = re.match("you", str)
print match
search = re.search("you", str)
print search.group()

七.Post和get的区别

post和get这两者都可以用于提交数据。区别在于post提交数据时,将数据信息包在http的包体里面,而get直接将数据信息保存在url上提交,用一个?标识,后面的内容就是提交的数据。因此post会比get更加的安全,因此习惯上用get作为向服务器索取数据的一种请求,而post作为向服务器提交数据的一种请求。

Put,delete,post,get这四个操作相当于http协议中的增,删,改查。

八.事务的四个特性

原子性:要么都做,要么都不做

一致性:使数据库从一个一致状态变成了另一个一致状态

隔离性:一个事务和并行执行的其他事务之间不会相互干扰

永久性:一旦执行成功,改变是永久的

九.线程与进程的区别与联系

1.一个应用程序至少有一个进程,一个进程至少有一个线程。

2.线程可以创建与中断线程,处于同一个进程的线程之间共享内存。

3.进程在执行的过程中拥有独立的内存单元,而多个线程共享内存。

4.线程只拥有一些必不可少的资源比如寄存器什么的,因此他在切换的时候所需的资源比较少。

十.python可以和很多大的技术相结合。比如数据库,线程,smtp,gui,cgi,还可以解析xml文件。

十一.remove 和 pop函数的区别

1.这两个函数都用于删除一个列表中的某个元素

2.remove函数用来删除从列表开始,第一个匹配的元素;pop函数默认删除最后一个元素