您现在的位置是:首页 > 网页设计心得 > 博客日记博客日记

Python知识点汇总

胜于蓝2020-06-04【博客日记】人已围观

简介1、Python的两种编程方式:交互式(随输随运行)和文件式(主要方式;批量运行出结果)

2、一切皆对象,每个对象由标识(id())、类型(type())和值(print())标识。

3、Python采用基于值的内存管

1、Python的两种编程方式:交互式(随输随运行)和文件式(主要方式;批量运行出结果)b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
2、一切皆对象,每个对象由标识(id())、类型(type())和值(print())标识。b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
3、Python采用基于值的内存管理,不同变量赋值为同一个值,ID一样,但是只适用范围在-5至256的整数和短字符串。b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
4、内置函数(BIF),68个,查看方式:dir(builtins)b3u胜于蓝|优秀个人博客
分类:b3u胜于蓝|优秀个人博客
数值数据类型:int,float,complex,bool,decimal,fractionsb3u胜于蓝|优秀个人博客
序列数据类型:字符串(string)、列表(list)、元祖(tuple)、bytes、bytearrayb3u胜于蓝|优秀个人博客
集合数据类型:set、frozensetb3u胜于蓝|优秀个人博客
字典数据类型:dictb3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
不可变的数据类型:数值Number、字符串String、元祖Tupleb3u胜于蓝|优秀个人博客
可变的数据类型:列表List、字典Dict、集合Setb3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
5、b3u胜于蓝|优秀个人博客
二进制:0b/0B开头b3u胜于蓝|优秀个人博客
八进制:0o/0O开头b3u胜于蓝|优秀个人博客
十六进制;0x/0X开头b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
6、b3u胜于蓝|优秀个人博客
数值运算函数:b3u胜于蓝|优秀个人博客
abs(x):绝对值 ;divmod(x,y):商余 ;pow(x,y,z):幂余((x**y)%z) ;round(x,d):四舍五入d位 ;max/min ; int(x) /float(x) /complex(x)b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
7、b3u胜于蓝|优秀个人博客
math库:b3u胜于蓝|优秀个人博客
常数:math.pi ;math.fabs(x):绝对值 ;math.fmod(x,y):x%y ;math.ceil(x):向上取整,返回不小于x的最小整数 ;math.floor(x):向下取整,返回不大于x的最大整数 ;math.modf(x):返回x的小数和整数部分 ;math.trunc(x):返回x的整数部分b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
8、b3u胜于蓝|优秀个人博客
浮点数类型:0.1 + 0.2不等于 0.3 ,浮点数有小尾数。看是否等于可以用round()函数帮助去小尾数。b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
9、类型间混合运算:b3u胜于蓝|优秀个人博客
整数 -> 浮点数 -> 复数b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
10、布尔数据类型(bool)包含两个值->True(真–1)或假(False–0)。b3u胜于蓝|优秀个人博客
如果表达式的结果为数值类型的0、空字符串(“”)、空元祖()、空列表[]、空字典{},则其布尔值为false(假),否则为true(真)。b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
11、逻辑运算符:and、or、notb3u胜于蓝|优秀个人博客
a and b等于a if not a else b ; a or b 等于a if a else b。b3u胜于蓝|优秀个人博客
not一定会返回true或false;and和or不一定。b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
12、运算优先级(由高到低)b3u胜于蓝|优秀个人博客
**(指数)> +x.-x(正负号)> *./.%(乘。除。取余)> +. -(加。减)> &(与)> ^(或)> \(非)>比较大小> not(非)> and(与)>or(或)> lambda表达式b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
13、序列型数据b3u胜于蓝|优秀个人博客
(1)序列的索引s[i]:如果索引下标越界,导致IndexError;如果索引下标不是整数,导致TypeError。b3u胜于蓝|优秀个人博客
(2)序列的切片(截取序列s的一部分):顾头不顾尾。b3u胜于蓝|优秀个人博客
(3)序列的加:x + y:连接两个序列; 序列的乘(复制):x * n:复制n次序列x ;b3u胜于蓝|优秀个人博客
(4)判断子串:x in s :返回True/False ; s.count(x):返回x在s中出现的次数 ; s.index(x,i,j):返回x在s(范围[i,j])中第一次出现的索引位置。b3u胜于蓝|优秀个人博客
(5)序列的排序:sorted(s, key=None,reverse=False)。reverse为false是为升序,为true时为倒序。返回结果为一个列表。b3u胜于蓝|优秀个人博客
(6)序列的拆封赋值:当变量个数和序列长度相等时,一一对应赋值。如a,b = (1,2)即a = 1,b = 2。不等则导致ValueError。或使用变量(将多个值作为整体赋给变量)或使用临时变量‘_’b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
14、字符串类型b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
比较字符ASCII码值的大小:空格<数字<大写字母<小写字母b3u胜于蓝|优秀个人博客
Unicode变字符:chr(u) ;字符变Unicode:ord(x)b3u胜于蓝|优秀个人博客
format()方法的格式控制:b3u胜于蓝|优秀个人博客
(1)槽{序号}的使用b3u胜于蓝|优秀个人博客
(2){参数序号:格式控制标记},格式控制标记包括:填充、对齐(分别用<、>、^表示左、右和居中对齐)、宽度、精度、类型(b=二进制,c=Unicode,d=十进制,o=八进制,xX=十六进制)。b3u胜于蓝|优秀个人博客
字符串的类型判断:b3u胜于蓝|优秀个人博客
str.isdigit()是否全为数字(0-9);str.isalpha()是否全为字母;str.isal num()是否全为数字或字母;str.isspace()是否是空白(空格、制表符、换行符等);str.isprintable()是否可打印(空格和没有东西是可以被打印的);str.isidentifier()是否满足标识符定义规则(字母或下划线开头,只含数字、字母和下划线)b3u胜于蓝|优秀个人博客
大小写转换:str.capitaiize():转换为首字母大写,其余小写;str.title()各单词首字母大写。b3u胜于蓝|优秀个人博客
对齐:居中str.center(长度,填充物) ;左对齐:ljust ;右对齐:rjust。b3u胜于蓝|优秀个人博客
填充:str.zfill(长度)相当于右对齐,前方补0。如果str前有正负号,则正负号也算长度,在正负号之后填充。b3u胜于蓝|优秀个人博客
移除:左右两边:str.strip(字符chars) ; 左边:str.lstrip() ;右边;rstrip()b3u胜于蓝|优秀个人博客
字符串的查找:find和indexb3u胜于蓝|优秀个人博客
str.find(s):从左至右查找str中是否含s,有则返回第一次出现s的索引位置,否则返回-1b3u胜于蓝|优秀个人博客
str.index(x):从左至右查找是否含有x,有则返回第一次出现的索引位置,没有则抛出ValueErrorb3u胜于蓝|优秀个人博客
str.rfind()和str.rindex()就是从右至左查找。b3u胜于蓝|优秀个人博客
字符串的替换:S.replace(old,new,count)。将S中的old替换为new,如果给定count,则只替换前count个old子串。b3u胜于蓝|优秀个人博客
拆分/分割:b3u胜于蓝|优秀个人博客
S.split(分隔符sep,分割次数maxsplit), maxsplit = -1或不指定时,会从左向右搜索完整个字符串。S.rsplit()是从右往左。生成列表。b3u胜于蓝|优秀个人博客
S.partition(sep),S.rpartition(sep)(从右往左搜索)。搜索S中的子串sep,并从第一个sep处分割,返回一个包含三个元素的元组 -->(sep左边的部分,sep,sep右边的部分)。如果搜索不到sep,则返回中有两个元素为空,partition是后两个元素为空,rpartition是前两个为空。b3u胜于蓝|优秀个人博客
连接组合:S.join(字符串对象)。 当对象为字符串字典时,结果是键的连接。b3u胜于蓝|优秀个人博客
15、列表类型b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
列表list是可变对象,则对其增删改查不会改变其的id。除了list.copy().b3u胜于蓝|优秀个人博客
方法:b3u胜于蓝|优秀个人博客
(1)添加:b3u胜于蓝|优秀个人博客
list.appand(x):将元素x添加到列表的尾部;b3u胜于蓝|优秀个人博客
list.extend(L):将列表L中所有元素添加到列表的尾部;b3u胜于蓝|优秀个人博客
list.insert(index,x):在列表指定位置index处添加元素x;b3u胜于蓝|优秀个人博客
(2)删除:b3u胜于蓝|优秀个人博客
list.remove(x):删除列表中首次出现的元素x;b3u胜于蓝|优秀个人博客
list.pop(kediedai[index]):删除并返回指定位置的元素(可以理解为挖取出),list为空就抛IndexError异常;b3u胜于蓝|优秀个人博客
list.clear():删除列表中所有元素,但保留列表对象。b3u胜于蓝|优秀个人博客
(3)排序:b3u胜于蓝|优秀个人博客
list.reverse():倒序;b3u胜于蓝|优秀个人博客
list.sort():排序(正或倒);b3u胜于蓝|优秀个人博客
(4)其他:b3u胜于蓝|优秀个人博客
list.index(x):返回值为x首次出现的下标;b3u胜于蓝|优秀个人博客
list.count(x):返回x的出现总次数;b3u胜于蓝|优秀个人博客
list.copy() :返回列表对象的浅拷贝。很厉害!!它可以改变列表的ID!b3u胜于蓝|优秀个人博客
**浅拷贝——只拷贝一层。**如果拷贝对象只有一层,那么同b = a[:],两个变量相互独立的。但如果拷贝对象只有一层,就会有影响,会跟着改变。(详见例题)b3u胜于蓝|优秀个人博客
!!列表推导式:b3u胜于蓝|优秀个人博客
[新元素表达式 for 临时变量 in 可迭代对象 if 条件表达式]b3u胜于蓝|优秀个人博客
16、集合类型b3u胜于蓝|优秀个人博客
集合中的元素没有顺序,且不重复。集合set是可变的,用大括号表示。b3u胜于蓝|优秀个人博客
但是{}表示空字典;set()表示空集合,用set()创建集合时,会将元素一个一个拆开,如’hello’变成’h’,‘e’,‘l’,‘l’,‘o’。b3u胜于蓝|优秀个人博客
集合中元素要是固定数据类型:整数、浮点数、字符串、元组等。不可为可变的列表、字典、集合。b3u胜于蓝|优秀个人博客
利用集合过滤掉重复的元素。b3u胜于蓝|优秀个人博客
4种基本操作:交(&)、并(|)、差(-)、补(^)b3u胜于蓝|优秀个人博客
S.add() ;S.clear() ;S.copy() ; S.remove() ;len(S) ;x (not)in S ;b3u胜于蓝|优秀个人博客
**S.pop():随机返回S中的一个元素,如果S为空,产生KeyError.(区分list.pop([index]))b3u胜于蓝|优秀个人博客
特有的:S.discard(X);如果x在S中,移除x,不在,不报错。b3u胜于蓝|优秀个人博客
主要三大用途:成员关系测试、元素去重、删除数据项。b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
17、字典类型(映射)b3u胜于蓝|优秀个人博客
{建(key):值(value)}。键不能重复,且是不可变对象。值可变。元素没有顺序。b3u胜于蓝|优秀个人博客
创建一个空字典:dict() ;创建字典:dict(‘a’=1,‘b’=2)/dict(‘a’:1,‘b’:2)/dict((‘a’,1),(‘b’,2))b3u胜于蓝|优秀个人博客
查找值:Dict[key] ;修改键值:dict[key] = new_value ;增添新键值:dict[new_key] = new_value .b3u胜于蓝|优秀个人博客
D.keys():返回所有键的列表,如dict_keys([‘a’, ‘b’, ‘c’]);b3u胜于蓝|优秀个人博客
D.values():返回所有值的列表,如dict_values([1, 2, 3]);b3u胜于蓝|优秀个人博客
D.items():返回所有的键值对的列表,如dict_items([(‘a’, 1), (‘b’, 2), (‘c’, 3)]);b3u胜于蓝|优秀个人博客
D.get(key,v):键存在则返回相应值,否则返回None(自定义了v时,返回v的内容);b3u胜于蓝|优秀个人博客
D.pop(key.value):键存在则返回相应值,同时删除键值对,否则返回None;b3u胜于蓝|优秀个人博客
D.popitem():随机取出一个键值对,以元组(key,value)形式返回;b3u胜于蓝|优秀个人博客
D.setdefault(k,v):如果键k存在,返回对应值,否则添加项目k = v,v默认为None;b3u胜于蓝|优秀个人博客
D.update(dict):更新或添加键值对;b3u胜于蓝|优秀个人博客
D.clear():删除所有的键值对;b3u胜于蓝|优秀个人博客
del.D[key]:删除key对应的键值对。如果key不存在,则抛出KeyError。 遍历:b3u胜于蓝|优秀个人博客
for 变量名 in 字典名:b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
18、可变与不可变(关于值)b3u胜于蓝|优秀个人博客
可变:列表(有序)、集合(无序)、字典(无序)b3u胜于蓝|优秀个人博客
不可变:字符串(有序)、元组(有序)b3u胜于蓝|优秀个人博客
Python是基于值的内存管理方式,举例:a=[1,2,3],b=[1,2,3],a==b成立。 但是id(a)与id(b)不相等,id(a[0])==id(b[0])成立。总结就是关乎值的就相等b3u胜于蓝|优秀个人博客
什么叫可变?即值是可变的,但id是固定不变的。例如可变的列表,修改列表L中的一个元素的值,列表L的id是不变的。b3u胜于蓝|优秀个人博客
不管是可变还是不可变的序列类型:b3u胜于蓝|优秀个人博客
(1)分片必定产生新的序列;b3u胜于蓝|优秀个人博客
(2)“+”号在等号右边(L=L+[i]),必定产生新的序列。然后将新的序列地址赋予给等号左边的变量。(每一次执行时都会将原列表复制一次,L指向新列表,并在新列表中加入新元素)b3u胜于蓝|优秀个人博客
对三种列表添加方法进行总结:b3u胜于蓝|优秀个人博客
(1)L=L+[i]在每一次执行时都会将原列表复制一次,L指向新列表,并在新列表中加入新元素。b3u胜于蓝|优秀个人博客
(2)L.append(i)只是将新元素直接添加到原列表中,不会产生新列表。b3u胜于蓝|优秀个人博客
(3)L+=[i]的执行效果和L.append(i)类似,也是在原列表中直接添加元素,不会复制原列表。b3u胜于蓝|优秀个人博客
b = a VS b = a[:]b3u胜于蓝|优秀个人博客
b = a时,b就是跟着a变化,并且a与b的id一样。b = a[:]时,b与a是独立的整体,id就不同,只不过指向了同一个值。对a做修改(增删改查),对b没有影响。b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
19、程序的三种基本结构:b3u胜于蓝|优秀个人博客
顺序结构、·分支结构(if-else、elif)、·循环结构(遍历:for…in、条件:while。循环控制:break/continue)。b3u胜于蓝|优秀个人博客
异常值处理:try-except。b3u胜于蓝|优秀个人博客
二分支结构简单语法:表达式1 if 条件 else 表达式2b3u胜于蓝|优秀个人博客
循环结构分遍历循环(for)和无限循环(while):b3u胜于蓝|优秀个人博客
遍历循环:for 循环变量 in 遍历结构:语句块(从遍历结构逐一提取元素,放在循环变量中,对每一个提取出的元素执行一次语句块。)b3u胜于蓝|优秀个人博客
无限循环:while 条件:语句块。判断条件为True就一直循环,为false时魂环结束,执行与while同级别缩进的后续语句。b3u胜于蓝|优秀个人博客
break用于结束当前循环,如果有两层循环,break用于跳出最内层for或while循环,脱离该循环后程序从循环后代码继续执行;b3u胜于蓝|优秀个人博客
continue用来结束当前循环的当次循环过程,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。b3u胜于蓝|优秀个人博客
当有输入要求时,可运用异常值处理try:except:b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
20、函数b3u胜于蓝|优秀个人博客
(1)形参与实参:定义函数时的参数是形参,调用函数时的参数是实参。b3u胜于蓝|优秀个人博客
(2)参数传递的方法:位置参数、默认值参数、关键字参数、命名关键字参数。。。b3u胜于蓝|优秀个人博客
位置参数:按位置顺序传递参数值,位置参数要在所有参数之前,是第一个参数;b3u胜于蓝|优秀个人博客
关键字参数:关键字参数就是在调用函数,传入实参时指定形参的变量名。关键字不用遵守位置的对应关系。参数之间的顺序可以任意调整。关键字传递可以和位置传递混用。但位置参数要在关键字参数之前。举例:def hello(name,age = 11,gender = ‘F’):(age = 11,gender = 'F’就是关键字参数)b3u胜于蓝|优秀个人博客
。举例:def hello(name,age = 11,gender = ‘F’):(age = 11,gender = 'F’就是关键字参数)b3u胜于蓝|优秀个人博客
默认值参数:定义参数时已经给定值,一般参数为不可变对象,(如果为可变的空列表,可用于装位置参数);b3u胜于蓝|优秀个人博客
可变数量参数:*args、**kwb3u胜于蓝|优秀个人博客
带有星号*的可变参数只能出现在参数列表的后面。调用时,*参数被当作元组类型传递到函数中。(如: def func(*args): -> func(10,20))b3u胜于蓝|优秀个人博客
带双星号(**)的参数,在使用时必须指定参数值,使用key=value这种形式,只能出现在参数列表的最后。调用时,**kw后的那些参数被当作字典类型传递到函数中。(如:def func(**kw): -> func(a=10,b=20))b3u胜于蓝|优秀个人博客
强制命名参数:参数带星号或者就是一个星号(def f(*c或*,a,b,c)),强制命令参数*c 的含义是它后面的参数必须用实名调用,即必须用 a = … , b = … 来调用,不能只写值。b3u胜于蓝|优秀个人博客
Python中只有函数,函数是有返回值的,**如果没有return,默认返回None。**return返回多个值时,多个值以元组形式保存。b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
21、比较b3u胜于蓝|优秀个人博客
(1)list.sort()与全局sorted()b3u胜于蓝|优秀个人博客
list.sort(key = None,reverse = False)是列表内置排序方法。但其返回值为None(x.sort()的结果、print(x.sort())、x = x.sort()后x的结果都是None),只有当文字说“执行语句x.sort(),x的值为”,x.sort()作用的结果,需要通过打印被作用的列表才可以查看结果。true是倒序,false是正序。b3u胜于蓝|优秀个人博客
sorted():Python内置方法。返回新的列表。b3u胜于蓝|优秀个人博客
(2)list.reverse()和reversed()b3u胜于蓝|优秀个人博客
list.reverse()返回的是None,其作用的结果,需要通过打印被作用的列表才可以查看结果。b3u胜于蓝|优秀个人博客
reversed():内置方法。经过reversed()作用之后,返回的是一个吧序列值经过倒序的迭代器,所以,需要通过遍历或list、tuple或next()方法,才能获得作用后的值。b3u胜于蓝|优秀个人博客
(3)字符串的查找:find和indexb3u胜于蓝|优秀个人博客
str.find(s):从左至右查找str中是否含s,有则返回第一次出现s的索引位置,否则返回-1b3u胜于蓝|优秀个人博客
str.index(x):从左至右查找是否含有x,有则返回第一次出现的索引位置,没有则抛出ValueErrorb3u胜于蓝|优秀个人博客
str.rfind()和str.rindex()就是从右至左查找。b3u胜于蓝|优秀个人博客
b3u胜于蓝|优秀个人博客
22、函数变量的作用域b3u胜于蓝|优秀个人博客
(1)局部变量、全局变量、globalb3u胜于蓝|优秀个人博客
global:用于在函数中直接修改全局变量的值。b3u胜于蓝|优秀个人博客
(2)内嵌函数b3u胜于蓝|优秀个人博客
内嵌函数的作用域仅限其所在的函数体内。如果要在内部函数中修改外部函数中的局部变量的值,使用nonlocal关键字。b3u胜于蓝|优秀个人博客
————————————————b3u胜于蓝|优秀个人博客
版权声明:本文为CSDN博主「童璐0」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。b3u胜于蓝|优秀个人博客
原文链接:https://blog.csdn.net/qq_44704609/article/details/94041481

Tags:

很赞哦! ()

文章评论

当前时间

快速排名

  • 网站建设|万词霸屏,企业软文推广,刷下拉框
  • 快速排名:不用再等SEO三个月,只需3-7天即可把行业关键词覆盖百度搜索引擎首页,点击不收费,排名报表,真实访问量报表一目了然。

合作加盟

  • 扫码请注明来意,否则不会通过
  • 填写商户姓名不要带有“超市”,“便利店” ,“百货”等
  • 扫码成为快钱代理
  • 扫码加站长微信,为您推荐快钱总部负责人
  • 快钱POSS机(电签版)
  • 1,免押版:签约费率快捷交易0.38%,常规交易0.65%
  • 贷记卡单笔≥3000元视为激活
  • 2,,有押版:签约快捷交易0.38%,常规交易0.65%
  • 激活首刷≥99元,扣除99元系统服务费,多出部分shishi到账
  • 电签版ipos参与每月扶持奖励
  • 电签版ipos与Mpos单独考核台均
  • 30台以上有效激活奖励3000元扶持金
  • 当月交易额≥3000元的为活跃用户

本站推荐

站点信息

  • 建站时间:2018-10-24
  • 网站程序:帝国CMS7.5
  • 主题模板《今夕何夕》
  • 文章统计7613篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 扫描二维码:请注明来意,否则不会通过
  • 微信号:扫描二维码,关注我们
歌名 - 歌手
0:00