python学习导图
2022-01-09 13:04:29 0 举报
AI智能生成
供初学者了解学习python的方向。
作者其他创作
大纲/内容
数据类型的转换
int(x[base])\float(x)\str(x)\eval(str)\tuple(s)\list(s)\chr(x)\ord(x)\hex(x)\oct(x)\bin(x)
运算符
赋值运算符
算数运算符
特殊逻辑运算符
比较运算符== != > < >= <=
逻辑运算符 and、or、not
成员运算符in 和not in
身份运算符(is is not)
复合赋值运算符 += -= *= /= %= **= //=
运算符优先级
函数
函数的定义与调用 def
无参函数
带参函数
位置参数
关键字参数
默认值参数
多值参数
可变元组参数
形参包含**号、位置参数-args参数-默认值参数-kwargs
形参顺序(位置参数、可变元组参数、默认参数、变长关键字参数)
函数的返回值return
递归函数:自己调用自己的函数
内置模块
time模块
random模块
os模块-操作系统接口
string模块
访问数据库
PyMysql包的使用
数据库的增删改查
引用PyMysql包
连接数据库格式
dbobj=pymysql.connect(host,port,user,passwd,db,charset)
通过游标对象读取数据cursor
通过游标对象定义游标查询语句execute
通过游标对象提取数据,返回数据fetchone、fetchmany、fetchall
关闭数据库对象close
模块和包
包是带init.py的文件夹
模块是.py结尾的文件
访问文件
通过四部曲
路径+名称
打开文件open()
read()或white()
关闭文件close()
r 只读,读文件内容的指针会放在文件开头。 文件必须存在
w 只写,若文件存在,会清空文件原有内容。 若文件存在,会覆盖;反之,新建
w+ 读写,对原内容进行清空,进行写操作。 若文件存在,会覆盖;反之,新建
a 只写,追加写入;文件不存在会建新文件
a+读写操作,追加写模式,文件不存在会新建文件
w 只写,若文件存在,会清空文件原有内容。 若文件存在,会覆盖;反之,新建
w+ 读写,对原内容进行清空,进行写操作。 若文件存在,会覆盖;反之,新建
a 只写,追加写入;文件不存在会建新文件
a+读写操作,追加写模式,文件不存在会新建文件
excel文件读写
excel文件读
环境准备,安装xlrd、xlwt
打开excel文件:file=xlrd.open_workbook('路径文件名')
获取sheet表sheet_by_index(0))
获取sheet表单中的行和列数,nrows 和 ncols
通过cell_value()方法读取指定单元格数据
cell_values()读取指定行数据
column_values()duqu指定列数据
excel文件写
fileObj=xlwt.Workbook(encoding = 'utf-8')
add_sheet创建新的worksheet
write(行号,列号,lable=‘内容’)写入单元格内容
保存表单save
类和对象
定义类class
类的方法
类方法@classmethod
静态方法@staticmethod
对象方法self
私有方法,对象前加两个下划线__
初始化方法__init__
析构方法__del__
类的封装
类的继承
子类继承父类
多继承
类的多态
使用super对父类的被覆盖的方法进行调用
输入输出,标识符,注释
输出print()
[sep] -- 输出多个对象时的分隔符
[end] -- 用来设定以什么结尾。默认换行符\n
[end] -- 用来设定以什么结尾。默认换行符\n
格式化输出“%” %( 值)
格式化函数format格式化函数
格式化函数format格式化函数
输入input()
变量及数据类型
六大类型
数字:int、 float、 bool、complex 复数 四种类型,要求掌握前三个
string(字符串)
find()#检测str是否包含在 mystr中,找到则返回开始的索引值,否则返回-1
index() #跟find()方法一样,找到返回开始的索引值,找不到报异常.
count() #返回 str在start和end之间在 mystr里面出现的次数
replace() #把mystr中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次
split() #以str为分隔符切片mystr,如果maxsplit有指定值,则仅分隔maxsplit个子字符串
capitalize() #把字符串的第一个字符大写
title() #把字符串的每个单词首字母大写
startswith() #检查字符串是否是以 hello 开头, 是则返回 True,否则返回 False
endswith() #检查字符串是否以obj结束,如果是返回True,否则返回 False
lower() #转换 mystr 中所有大写字符为小写
upper() #转换mystr中的小写字母为大写
isalpha() #如果mystr所有字符都是字母则返回 True,否则返回 False
isdigit() #如果mystr只包含数字则返回 True 否则返回 False
isspace() #如果mystr中只包含空格,则返回 True,否则返回 False
join() #通过要连接的字符串中去拼接元素,构造出一个新的字符串
list (列表)
1. 增加
listObj.append(元素) #追加元素到列表中最后位置
listObj.insert(index,元素) #插入元素到指定的位置
listObj.extend(列表
listObj.append(元素) #追加元素到列表中最后位置
listObj.insert(index,元素) #插入元素到指定的位置
listObj.extend(列表
切片查看 #指定下标或者下标范围查看列表数据
in #判断元素是否在列表存在,存在true,否则false
not in #判断元素是否在列表存在,不存在true,否则false
listObj.index(元素,start,end) #start是开始查找的下标,end是结束查找的下标
listObj.count(元素) #统计指定元素的出现次数
len(listObj) #查看元素的数量
max(listObj) #查看元素最大值
min(listObj) #查看元素最小值
sorted(listObj,reverse=True|False) #查看元素排序,列表顺序不改变
in #判断元素是否在列表存在,存在true,否则false
not in #判断元素是否在列表存在,不存在true,否则false
listObj.index(元素,start,end) #start是开始查找的下标,end是结束查找的下标
listObj.count(元素) #统计指定元素的出现次数
len(listObj) #查看元素的数量
max(listObj) #查看元素最大值
min(listObj) #查看元素最小值
sorted(listObj,reverse=True|False) #查看元素排序,列表顺序不改变
列表元素修改
listObj[index]=value #通过下标或者下标范围指定对内部元素进行单个或者多个修改
listObj[index1:index2]=列表Value #从index1位置元素开始,修改index2-index1个元素
listObj.reverse() #列表的反转
listObj.sort(reverse=True) #列表元素进行排序,True为降序,False为升序
listObj[index]=value #通过下标或者下标范围指定对内部元素进行单个或者多个修改
listObj[index1:index2]=列表Value #从index1位置元素开始,修改index2-index1个元素
listObj.reverse() #列表的反转
listObj.sort(reverse=True) #列表元素进行排序,True为降序,False为升序
列表元素删除
格式:
del listObj(index) #根据下标进行删除,无返回值
listObj.pop(index) #根据下标删除指定元素,默认删除最后一个元素,有返回值
listObj.remove(元素): #根据元素的值进行逐一删除无返回值
listObj.clear() #清空列表元素
格式:
del listObj(index) #根据下标进行删除,无返回值
listObj.pop(index) #根据下标删除指定元素,默认删除最后一个元素,有返回值
listObj.remove(元素): #根据元素的值进行逐一删除无返回值
listObj.clear() #清空列表元素
tuple (元组)
元组支持的函数(元组不可修改)
1. len(tuple) #返回元组中元素数量
2. max(tuple) #返回元组中元素最大值
3. min(tuple) #返回元组中元素最小值
4. tuple(列表) #将列表转化为元组
1. len(tuple) #返回元组中元素数量
2. max(tuple) #返回元组中元素最大值
3. min(tuple) #返回元组中元素最小值
4. tuple(列表) #将列表转化为元组
dictionary (字典)
格式:字典变量={ key1:value1,key2:value2.....}
字典元素的增删改查,通过key键进行
根据key键修改元素value,也可以通过key删除具体某个元素。
字典函数:len(dict)、str(dict)、mydict.pop(key)、mydict.keys()、mydict.items()、mydict.values()
set(集合)
集合中可以存放不同类型元素,但可变数据类型的元素除外
注:集合set没有下标的概念
- 求差集元素
| 求并集元素
& 求交集元素
^ 求非交集元素
| 求并集元素
& 求交集元素
^ 求非交集元素
可变数据类型
列表,字典,集合
不可变数据类型
数字、字符串、元组
控制结构
分支结构
if和else
if嵌套
顺序结构
循环
while循环
重点关注自增及限制
while嵌套
break和continue
for循环
for嵌套
变量的作用域
局部变量
全局变量
修改全局变量global
匿名函数
格式:name=lambda[参数列表]:运算表达式
错误与异常
异常捕捉处理
关键字:try、except、raise、else、finally、except Exception as 对象
多线程和多进程
多线程
引用线程包 import threading
创建子线程 threading.Thread(target=f方法名,args=(参数列表))
调用子线程 .start()
等待线程终止join()
守护线程.setDamon(True)
多进程
引用线程包 from multiprocessing import Process
Process(target=方法名,args=( 参数列表,))
调用子进程.run()
守护线程.daemon=True
Socket编程
TCP和UDP
0 条评论
下一页