Python 易错总结

目录

一.Python语言的简介易错

二.基本控制结构易错

三.列表_元组_集合_字典_易错

四.函数易错

五.文件易错


一.Python语言的简介易错

Python语言的特点:

执行高效,语法简洁,丰富的库;

eval()将字符串转换成相应的对象;abs()如果传入的参数是整数或者浮点数,则返回绝对值;如果传入的是一个复数,则返回该复数的模;

C语言是静态语言,Python是脚本语言,编译是将源代码转换成目标代码的过程,解释是将源代码逐条转换成目标代码的同时逐条运行目标代码的过程,静态语言是指使用编译执行的语言,脚本语言是指使用脚本执行的语言;

Python的缩进一般用Tab

解释型编程语言:

Java Basic Python;

二.基本控制结构易错

不能创建字典的语句是:

dict=dict([2,5],[3,4])

而dict=dict((1,2),(3,4))可以创建字典;

假设将单词保存在变量 word 中,使用一个字典类型 counts={},统计单词出现的次数可采用以下代码:counts[word]=count.get(word,0)+1

可以用大括号创建字典,用中括号增加新元素;嵌套的字典数据可以用来表达高维数据;字典的pop函数可以返回一个键对应的值,并删除该键对应值

字符串不能视为长度为1的字符串

dict.clear()-删除字典所有元素;dict.has_keys()-如果在字典dict里存在返回true,否则返回false;len(dict)-计算字典元素个数,即键的总数

break可以跳出当前循环,continue只能跳过此次循环,紧接着要进行下次循环

对于带有else子句的循环语句,如果是因为循环条件表达式不成立儿自然结束循环则执行else语句

生成器比列表推导式更具有效率 ,生成器使用后会自动清空

%不仅可以求余数,还可以用来格式化字符串

已知x为非空字符串,那么表达式 ‘,’.join(x.split(‘,’)) == x 的值一定为True

当作为条件表达式时,空值、空字符串、空列表、空元组、空字典、空集合、空迭代对象以及任意形式的数字0都等价于False

当作为条件表达式时,{},[]和None等价

三.列表_元组_集合_字典_易错

temp=hello world

print(temp[-5:])可以输出world

组合数据类型可以分为三类:序列类型(str,tuple,list),集合类型,映射类型

Python中的pop()将列表指定位置的元素移除,同时可以将移除的元素赋值给某个变量,不填写位置参数则默认删除最后一位,pop()根据键将字典中指定键的键值删除,同时可以将删除的键值赋值给变量

在Python中,变量不直接储存值,而是储存值的引用,也就是值在内存中的地址

当以指定“键”为下标给字典对象赋值时,若该“键”存在则表示修改该“键”对应的“值”,若不存在则表示为字典对象添加一个新的“键-值对”

假设x是含有5个元素的列表,那么切片操作x[10:]也会执行,输出[]

使用列表对象的remove()方法可以删除列表中首次出现的指定元素,如果列表中不存在要删除的指定元素则会报错

无法删除集合中指定位置的元素,只能删除特定值的元素

列表对象的append()方法属于原地操作,用于在列表尾部追加一个元素,尾部追加一个元素比中间插入的时间要快

列表不能作为集合的元素,元组可以

四.函数易错

Python支持按照位置传参也支持名称传参,但不支持地址传参;

位置传参:

def Fun(a,b,c):

print(a,b,c)

Fun(1,2,4)

关键字传参:

def Fun(a,b,c):

print(a,b,c)

Fun(1,c=2,b=4)

必备参数:

def Fun(a,b):

C=a+b

print(C)

Fun(11,12)

在调用时必须要传参,否则会报错

默认传参:

def Fun(a,b=99):

C=a+b

print(C)

Fun(11)

不定长传参*args(元组形式保存)和**kwargs(字典形式保存),调用函数时可以传0个或多个

Python函数被调用后才能执行,函数定义是函数的第一步,函数执行结束后,程序执行流程会自动返回到函数被调用的语句之后;函数运算结束后,局部变量会被释放;局部变量和全局变量是不同的变量,但可以使用global保留字在函数内部使用全局变量;局部变量可以和全局变量重名;局部变量为组合数据类型且未创建,等同于全局变量

同一个作用域内,局部变量会隐藏同名的全局变量

包含yield语句的函数一般为生成器函数,可以用来创建生成器对象

Python中定义函数时不需要声明函数参数的类型,函数是代码复用的一种方式,函数中没有return语句,默认返回空值None

全局变量会增加不同函数之间的隐式耦合度,从而降低代码可读性,要尽量避免过多使用全局变量

在编写函数时,一般建议先对参数进行合法性检查;函数内部也可以定义全局变量

函数定义时,带有默认值的参数必须出现在参数列表的最右端,任何一个带有默认值的参数右边不允许出现没有默认值的参数

在Python中定义函数时并不能声明函数的返回值类型

五.文件易错

异常语句可以与else和finally保留字配合使用;Python通过try、expect等保留字提供异常处理功能

关于Python的+打开模式,与r/w/a/x一同使用,在原功能基础上增加同时读写功能

Python对文件的读操作有read、readlines、readline;

with open('abc.txt','r+') as f:

    lines = f.readlines()

for item in lines:

print(item)

Item是字符串类型,lines是列表类型,打印输出abc.txt文件内容

关于Python对文件的处理,文件使用结束后用close()方法关闭,释放文件的使用授权;Python通过解释权内置的open()函数打开一个文件;Python能够以文本和二进制两种方式处理文件

Python标准库os中的方法exists()可以用来测试给定路径文件是否存在

二进制文件可以使用记事本或其他编辑器打开,但是一般无法正常查看其中的内容

os中的方法listdir()返回包含指定路径中所有文件和文件夹名称的列表

os中的方法isfile()可以用来测试给定的路径是否为文件

你可能感兴趣的:(python学习,python,文档资料)