栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python基础知识速查表

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python基础知识速查表

     ##这是我自己学习过程中总结的文章是复制过来的可读性差,需要word文档的私信我#####

Python基础知识

Python入门

1.注释的分类

单⾏:# 注释内容 ,快捷键ctrl+/

多⾏: """ 注释内容 """ 或 ''' 注释内容 '''

   2.定义变量:

变量名 = 值

标识符:数字、字⺟、下划线组成 不能数字开头 不能使⽤内置关键字 严格区分⼤⼩写

  3.bug工具:

打断点,调试

4.数据类型 :

整型:int    浮点型:float   字符串:str  布尔型:bool  元组:tuple      集合:set 字典:dict

  5.格式化输出:

%s 字符串 %d 有符号的⼗进制整数 %f 浮点数 %c 字符 %u ⽆符号⼗进制整数 %o ⼋进制整数 %x ⼗六进制整数(⼩写ox) %X ⼗六进制整数(⼤写OX) %e 科学计数法(⼩写'e') %E 科学计数法(⼤写'E') %g %f和%e的简写 %G %f和%E的简写

  6.输入

input('提示⽂字')

7.类型转换:

int(x [,base ]) 将x转换为⼀个整数

float(x ) 将x转换为⼀个浮点数 complex(real [,imag ]) 创建⼀个复数,

real为实部,imag为虚部

str(x ) 将对象 x 转换为字符串

repr( x ) 将对象x转换为表达式字符串 eval(str ) ⽤来计算在字符串中的有效Python表达式,并返回⼀个对象

tuple(s ) 将序列 s 转换为⼀个元组

list(s ) 将序列 s 转换为⼀个列表

chr(x ) 将⼀个整数转换为⼀个

Unicode字符 ord(x ) 将⼀个字符转换为它的ASCII整数值

hex(x ) 将⼀个整数转换为⼀个⼗六进制字符oct(x ) 将⼀个整数转换为⼀个⼋进制字符串 bin(x ) 将⼀个整数转换为⼀个⼆进制字符串

 8.运算符

   8.1算数运算符:+ - * /  //  %   **   ()

      混合运算优先级顺序:() ⾼于**⾼于* / // % ⾼于 + -

   8.2 赋值运算符:= 赋值

复合赋值运算符:】算术运算符+赋值符+=,-=,*=,/=,//=,%=,**=

   8.3比较运算符:==判断值相等

    

  !=不等   >  <   <=  >=

8 .4逻辑运算符:and  or   not

流程控制语句

1.if 条件:

  条件成⽴执⾏的代码1

条件成⽴执⾏的代码2

......

2 .if 条件:

      条件成⽴执⾏的代码1

         条件成⽴执⾏的代码

......

else:

      条件不成⽴执⾏的代码1

      条件不成⽴执⾏的代码2

       ......

3.i f 条件1:

条件1成⽴执⾏的代码1

条件1成⽴执⾏的代码2

......

elif 条件2:

条件2成⽴执⾏的代码1

条件2成⽴执⾏的代码2

...... ......

else:

以上条件都不成⽴执⾏执⾏的代码

  4.嵌套

   

if 条件1:

条件1成⽴执⾏的代码

条件1成⽴执⾏的代码

if 条件2:

条件2成⽴执⾏的代码

条件2成⽴执⾏的代码  

循环

1. while 条件:

条件成⽴重复执⾏的代码1

条件成⽴重复执⾏的代码2

2. break终止循环

continue退出当前循环,进入下一次

3.嵌套

   while 条件1:

条件1成⽴执⾏的代码

 ......

while 条件2:

条件2成⽴⾏的代码

......

4.for循环

  for 临时变量 in 序列:

重复执⾏的代码1

重复执⾏的代码2

 ......

  5. while 条件:

条件成⽴重复执⾏的代码

else:

循环正常结束之后要执⾏的代码

  6. for 临时变量 in 序列:

 重复执⾏的代码

 ...

else:

循环正常结束之后要执⾏的代码

数据序列

 1.字符串

一对引号的字符串

      数据类型:str

      三引号的字符串支持换行,在Python中,使⽤ input() 接收⽤户输⼊。“下标” ⼜叫 “索引” ,就是编号  

   切片:序列[开始位置下标:结束位置下标:步⻓]

   查找:字符串序列.find(⼦串, 开始位置下标, 结束位置下标)

   ndex():检测某个⼦串是否包含在这个字符串中,如果在返回这个⼦串开始的位置下标,否则则 报异常。

   rfind(): 和find()功能相同,但查找⽅向为右侧开始。

rindex():和index()功能相同,但查找⽅向为右侧开始。

count():返回某个⼦串在字符串中出现的次数

修改:替换:序列.replace(旧⼦串, 新⼦串, 替换次数)

     分割:字符串序列.split(分割字符, num)

     连接:字符或⼦串.join(多字符串组成的序列)

   cipitalize()将字符串第⼀个字符转换成⼤写。

   title():将字符串每个单词⾸字⺟转换成⼤写。

   ower():将字符串中⼤写转⼩写

   upper():将字符串中⼩写转⼤写

strip():删除字符串左侧空⽩字符。

rstrip():删除字符串右侧空⽩字符。

strip():删除字符串两侧空⽩字符。

ljust():返回⼀个原字符串左对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串

   字符串序列.ljust(⻓度, 填充字符)

rjust():返回⼀个原字符串右对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串,语法和 ljust()相同。

center():返回⼀个原字符串居中对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串,语 法和ljust()相同。

判断:startswith()检查字符串是否是以指定⼦串开头

     语法:字符串序列.startswith(⼦串, 开始位置下标, 结束位置下标)

endswith()::检查字符串是否是以指定⼦串结尾,

语法:字符串序列.endswith(⼦串, 开始位置下标,结束位置下标)

isalpha():如果字符串⾄少有⼀个字符并且所有字符都是字⺟

sdigit():如果字符串只包含数字则

salnum():如果字符串⾄少有⼀个字符并且所有字符都是字⺟或数字

sspace():如果字符串中只包含空⽩

2.列表:

格式:[数据1, 数据2, 数据3, 数据4......]

查找:index():返回指定数据所在位置的下标

      语法:列表序列.index(数据, 开始位置下标, 结束位置下标)

 count():统计指定数据在当前列表中出现的次数

len():访问列表⻓度,即列表中数据的个数。

   in:判断指定数据在某个列表序列,

   not in:判断指定数据不在某个列表序列

   增加:append():列表结尾追加数据。

      语法:列表序列.append(数据)

   extend():列表结尾追加数据,如果数据是⼀个序列,则将这个序列的数据逐⼀添加到列表

    语法:列表序列.extend(数据)

   insert():指定位置新增数据

语法:列表序列.insert(位置下标, 数据)

  删除:del 目标

Pop():删除指定下标的数据(默认为最后⼀个),并返回该数

        语法:列表序列.pop(下标)

remove():移除列表中某个数据的第⼀个匹配项。

语法:列表序列.remove(数据)

clear():清空列表

修改:修改指定下标:name_list[0] = 'aaa'

  逆置:列表.reverse()

  排序:列表.sort( key=None, reverse=False)

注意:reverse表示排序规则,reverse = True 降序, reverse = False 升序(默认)

复制:name_li2 = name_list.copy()

遍历:while遍历:

      while i < len(name_list):

print(name_list[i])

i += 1

   for遍历:

     for i in name_list:

print(i)

列表嵌套:name_list = [['⼩明', '⼩红', '⼩绿'], ['Tom', 'Lily', 'Rose'], ['张三', '李四', '王五']

3.元组

    ⼀个元组可以存储多个数据,元组内的数据

是不能修改的

定义:定义元组使⽤⼩括号,且逗号隔开各个数

据,数据可以是不同的数据类型

元组的常⻅操作:

按下标查找数据

index( ):查找某个数据,如果数据存在返回对应的下标,否则报错,语法和列表、字符串的index ⽅法相同。

count( ):统计某个数据在当前元组出现的次数

len( ):统计元组中数据的个数。

注意:元组内的直接数据如果修改则⽴即报错

      但是如果元组⾥⾯有列表,修改列表⾥⾯的数据则是⽀持的,故⾃觉很重要

      如果定义的元组只有⼀个数据,那么这个数据后⾯也好添加逗号,

4.字典

 创建字典:符号为⼤括号 数据为键值对形式出现 各个键值对之间⽤逗号隔开

dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}

注意:字典为可变类型。

常⻅操作:

  增:字典序列[key] = 值

  删: del( ) / del:删除字典或删除字典中指定键值

    clear( ):清空字典

  改:字典序列[key] = 值

  查:key值查找:print(dict1['name'])

如果当前查找的key存在,则返回对应的值;否则则报错。

get( ):字典序列.get(key, 默认值)

如果当前查找的key不存在则返回第⼆个参数(默认值),如果省略第⼆个参数,则返回 None

  keys():print(dict1.keys())全部键

  values() : print(dict1.values())全部值

items():print(dict1.items())全部键值对

  遍历:

遍历字典的key

for key in dict1.keys():

print(key)

遍历字典的value

for value in dict1.values( ):

print(value)

遍历字典的元素

for item in dict1.items( ):

print(item)

遍历字典的键值对

  for key, value in dict1.items( ):

print(f'{key} = {value}')

 5.集合

  创建集合使⽤ { } 或 set( ) , 但是如果要创建空集合只能使⽤ set( ) 因为{ } ⽤来创建空典。

  1. 集合可以去掉重复数据;

2. 集合数据是⽆序的,故不⽀持下标

增:add( )

update(), 追加的数据是序列

  删: remove(),删除集合中的指定数据,如果数据不存在则报错

     discard(),删除集合中的指定数据,如果数据不存在也不会报错

     pop(),随机删除集合中的某个数据,并返回这个数据。

   查: in:判断数据在集合序列

not in:判断数据不在集合序列

 6.公共操作:

  1.运算符:

运算符

描述

支持类型

+

合并

字符串,列表,元组

*

复制

字符串,列表,元组

In

元素是否存在

字符串,列表,元组,字典

Not in

元素是否存在

字符串,列表,元组,字典

 2.公共方法:

函数

描述

Len()

计算容器中元素个数

del del()

删除

max()

返回容器中最大值

min()

返回容器中最小值

range(start,

end,step)

⽣成从start到end的数字,步⻓为 step,供for循环使⽤

enumerate()

enumerate(可遍历对象, start=0)

函数⽤于将⼀个可遍历的数据对象组合为⼀个索引序 列,同时列出数据和数据下标,⼀般⽤在 for 循环当中。Start设置起始值

3.类型转换

   tuple( ) 作⽤:将某个序列转换成元组

   list( )   作⽤:将某个序列转换成列表

   set( )   作⽤:将某个序列转换成集合

7.推导式

  1.列表推导式:

  作⽤:⽤⼀个表达式创建⼀个有规律的列表或

制⼀个有规律列表列表推导式

  list1 = [i for i in range(10)]

list1 = [i for i in range(10) if i % 2 == 0]  

list1 = [(i, j) for i in range(1, 3) for j in range(3)]

2.字典推导式:

dict1 = {i: i**2 for i in range(1, 5)}

将两个列表合并为⼀个字典

dict1 = {list1[i]: list2[i] for i in range(len(list1))}

提取字典中⽬标数据

count1={key:valuefor key, value in counts.items() if value >= 200}

3.集合推导式

set1 = {i ** 2 for i in list1}

函数

函数的参数

函数调⽤的时候可以传⼊真实数据,增⼤函数的使⽤的灵活性

形参:函数定义时书写的参数(⾮真实数据)

实参:函数调⽤时书写的参数(真实数据)

函数的作⽤:封装代码,⾼效的代码重⽤

  1.使用步骤

  1.1定义函数

def 函数名(参数):

代码1

代码2

.......

  1.2调用函数

函数名(参数)

 2.返回值:

def buy():

return '烟'

 3.语法

def 函数名(参数):

""" 说明⽂档的位置 """

代码

......

 4. 嵌套调⽤

所谓函数嵌套调⽤指的是⼀个函数⾥⾯⼜调⽤了另外⼀个函数。如果函数A中,调⽤了另外⼀个函数B,那么先把函数B中的任务都执⾏完毕之后才会回到上 次 函数A执⾏的位置。

 5.变量作⽤域

变量作⽤域指的是变量⽣效的范

围主要分为两类:局部变量和全局变量

局部变量 :所谓局部变量是定义在函数体内部的变量,即只在函数体内部⽣效

作⽤:在函数体内部,临时保存数据,即当函数调⽤完成后,则销毁局部变量

全局变量: 所谓全局变量,指的是在函数体内、外都能⽣效的变量

6. 函数的返回值

1.return a, b 写法,返回多个数据的时候,默认是元组类型。

    2. return后⾯可以连接列表、元组或字典,以返回多个值。

7. 函数的参数

位置参数:调⽤函数时根据函数定义的参数位置来传递参数。

关键字参数: 函数调⽤,通过“键=值”形式加以指定。可以让函数更加清晰、容易使⽤,同时也清除了参数的顺序需 求。

缺省参数: 缺省参数也叫默认参数,⽤于定义函数,为参数提供默认值

不定⻓参数: 不定⻓参数也叫可变参数。⽤于不确定调⽤的时候会传递多少个参数(不传参也可以)的场景。包裹位置传递(*args)

包裹关键字传递(**kwargs)

8. 可变和不可变类型

可变类型:   列表 字典 集合

不可变类型 :整型 浮点型 字符串 元组

文件操作

⽂件操作的作⽤就是把⼀些内容(数据)存储存放起来,可以让程序下⼀次执⾏的时候直接使 ⽤,⽽不必重新制作⼀份,省时省⼒

1.⽂件的基本操作

打开:open(name, mode)

name:是要打开的⽬标⽂件名的字符串(可以包含⽂件所在的具体路径)。

mode:设置打开⽂件的模式(访问模式):只读、写⼊、追加等

打开⽂件模式:

2.⽂件对象⽅法

  写:  对象对象.write('内容')

  读:⽂件对象.read(num)    num表示要从⽂件中读取的数据的⻓度(单位是字节),如果没有传⼊num,那么就表示读取⽂ 件中所有的数据

  readlines() 可以按照⾏的⽅式把整个⽂件中的内容进⾏⼀次性读取,并且返回的是⼀个列表,其中每⼀⾏ 的数据为⼀个元素

readline( ) ⼀次读取⼀⾏内容

seek()           作⽤:⽤来移动⽂件指针。 语法如下: ⽂件对象.seek(偏移量, 起始位置)

起始位置:0⽂件开头1当前位置 2⽂件结尾

  关闭:⽂件对象.close()

3. ⽂件和⽂件夹的操作

   导⼊os模块  import os

   使⽤ os 模块相关功能    os.函数名()

   ⽂件重命名 : os.rename(⽬标⽂件名, 新⽂件名)

   删除⽂件: os.remove(目标文件名)

   创建文件夹: os.mkdir(⽂件夹名字)

   删除文件夹:os.rmdir(文件夹名字)

   获取当前文件夹:os.getcwd()

   改变默认目录:os.chdir(目录)

   获取默认目录列表:os.listdir(目录)

面对对象

 1.面向对象基础

⾯向对象就是将编程当成是⼀个事物,对外界来说,事物是直接使⽤的,不⽤去管他内部 的情况。⽽编程就是设置事物能够做什么事。在⾯向对象编程过程中,有两个重要组成部分: 和 对象类和对象的关系:类去创建个对象

类是对⼀系列具有相同特征和⾏为的事物的统称,是⼀个抽象的概念,不是真实存在的事物。 特征即是属性 为即是 类⽐如是制造洗⾐机时要⽤到的图纸,也就是说类是⽤来创建对象。

1.类和对象:

定义类: class 类名():

代码 ......

注意:类名要满⾜标识符命名规则,同时遵循⼤驼峰命名习惯。

创建对象: 对象名 = 类名()

        self指的是调⽤该函数的对象。

2. 添加和获取对象属性

   类外⾯添加对象属性   对象名.属性名 = 值

   类外⾯获取对象属性   对象名.属性名

   类⾥⾯获取对象属性: self.属性名

3. 魔法⽅法

在Python中, __xx__() 的函数叫做魔法⽅法,指的是具有特殊功能的函数。.

__init__( ): ⽅法的作⽤:初始化对象。

在创建⼀个对象时默认被调⽤,不需要⼿动调⽤ __init__(self) 中的self参数,不需要开发者传递,python解释器会⾃动把当前的对象引 ⽤传递过去

带参数: __init__(self, width, height):

       self.width = width

self.height = height

__str__( ): 当使⽤print输出对象的时候,默认打印对象的内存地址。如果类定义了__str__ ⽅法,那么就会打印从 在这个⽅法中 return 的数据。

__del__( ): 当删除对象时,python解释器也会默认调⽤ __del__( ) ⽅法

2.面向对象——继承:

经典类或旧式类

在Python中,所有类默认继承object类,object

类是顶级类或基类;其他⼦类叫做派⽣类

不由任意内置类型派⽣出的类,称之为经典类。

class 类名:

代码 ......

新式类:class 类名(object):

代码.........

单继承:子类继承一个父类

          class Prentice(Master):

pass

多继承:所谓多继承意思就是⼀个类同时继承了多个⽗类 class Prentice(School, Master):

                      Pass

⼦类重写⽗类同名⽅法和属性:⼦类和⽗类具有同名属性和⽅法,默认⽤⼦类属性和⽅法

     FoodParent.__init__(self) 绑定父类构造方法

⼦类调⽤⽗类的同名⽅法和属性:

多层继承:

super()调⽤⽗类⽅法:super().__init__() super().make_cake()

      多用于多继承

私有权限:在Python中,可以为实例属性和⽅法设置私有权限,即设置某个实例属性或实例⽅法不继承给⼦类。

  设置私有权限的⽅法:在属性名和法名 前⾯ 加上两个下划线 _ _

          self.__money = 2000000

          def __info_print(self):  

⭐私有属性和私有⽅法只能在类⾥⾯访问和修改

获取和修改私有属性值:在Python中,⼀般定义函数名 get_xx ⽤来获取私有属性,定义set_xx ⽤来修改私有属性值

3.面对对象-其他

  ⾯向对象三⼤特性:

  封装:将属性和⽅法书写到类的⾥⾯的操作即为封装 封装可以为属性和⽅法添加私有权限

继承:⼦类默认继承⽗类的所有属性和⽅法 ⼦类可以重写⽗类属性和⽅法

多态:多态是⼀种使⽤对象的⽅式,⼦类重写⽗类⽅法,调⽤不同⼦类对象的相同⽗类⽅法,可以 产⽣不同的执⾏结果

传⼊不同的对象,产⽣不同的结果

  实现步骤:定义⽗类,并提供公共⽅法

定义⼦类,并重写⽗类⽅法

传递⼦类对象给调⽤者,可以看到不同⼦类执⾏效果不同

  类属性和实例属性:类属性就是 类对象 所拥有的属性,它被 该类的所有实例对象 所共有。 类属性可以使⽤ 类对象 或 实例对象 访问。

    class Dog(object):

tooth = 10

print(Dog.tooth)

   实例属性 要求 每个对象 为其 单独开辟⼀份内存空间 来记录数据,⽽ 类属性 为全类所共有 仅占⽤⼀份内存,更加节省内存空间。

  修改类属性:Dog.tooth=12  wangcai.tooth= 20

    类属性只能通过类对象修改,不能通过实例对象修改,如果通过实例对象修改类属性,表示的是创建了 ⼀个实例属性

类⽅法和静态⽅法:

类⽅法: 需要⽤装饰器 @classmethod 来标识其为类⽅法.对于类⽅法,第⼀个参数必须是类对象,⼀般以 cls作为第⼀个参数。

  

当⽅法中需要使⽤类对象(如访问私有类属性等时,定义类⽅法 类⽅法⼀般和类属性配合使⽤

静态⽅法: 需要通过装饰器 @staticmethod 来进⾏修饰,静态⽅法既不需要传递类对象也不需要传递实例对象 (形参没有self/cls)

 静态⽅法 也能够通过 实例对象和类对象去访问

静态⽅法使⽤场景: 当⽅法中既不需要使⽤实例对象也不需要使⽤类对象时,静态⽅法既可以使⽤对象访问⼜可以使⽤类访问

模块-包-异常

 1. 异常

   语法: try:

可能发⽣错误的代码

 except:

如果出现异常执⾏的代码

   捕获指定异常: try:

 可能发⽣错误的代码

except 异常类型:

捕获到该异常类型执⾏的代码

捕获异常描述信息:

try:

print(num)

 except (NameError, ZeroDivisionError) as result: print(result)

捕获所有异常:except Exception as result:

异常的else:  try:

 print(1)

except Exception as result: print(result)

else: print(没有异常的时候执⾏)

异常的finally:

finally表示的是⽆论是否异常都要执⾏的代码

try:

f = open('test.txt', 'r')

except Exception as result:

 f = open('test.txt', 'w')

else:

print('没有异常,真开⼼')

 finally:

f.close()

⾃定义异常:

⾃定义异常的语法raise异常类对象

# 1. ⾃定义异常类

class 异常类类名(Exception):

代码

 # 设置抛出异常的描述信息

 def __str__(self):

return ...

 # 2. 抛出异常

raise 异常类名()

# 捕获异常

 except Exception...

2.模块和包

模块:Python 模块(Module),是⼀个 Python ⽂件,以 .py 结尾,包含了 Python 对象定义和Python语句。 模块能定义函数,类和变量,模块⾥也能包含可执⾏的代码。

导⼊模块:import 模块名

import 模块名1, 模块名2...

from 模块名 import 功能1,...

from 模块名 import *

import 模块名 as 别名

from 模块名 import 功能名 as 别名

  调用模块:块名.功能名()

制作模块: 新建⼀个Python⽂件,命名为my_module1.py 并定义 testA函数。

调⽤模块:import my_module1

__all__:__all__ = ['testA']

如果⼀个模块⽂件中有 __all__ 变量,当使⽤ from

 xxx import * 导⼊时,只能导⼊这个列表中的元素

包: 包将有联系的模块组织在⼀起,即放到同⼀

个⽂件夹下,并且在这个⽂件夹创建⼀个名字 为

__init__.py ⽂件,那么这个⽂件夹就称之为包。

注意:新建包后,包内部会⾃动创建 __init__.py ⽂件,这个⽂件控制着包的导⼊⾏为

导⼊包:import 包名.模块名

包名.模块名.⽬标

from 包名 import * 模块名.⽬标

注意:必须在 __init__.py⽂件中添加__all__= [  ] ,控制允许导⼊的模块列表。

 

   

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/861241.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号