读《Python编程快速上手 让繁琐工作自动化》笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_18192161/article/details/79230852

以下数据依照《Python编程快速上手 让繁琐工作自动化》书写。

1.关键字:

and                 elif                import              return
as                  else                in                  try
assert              except              is                  while
break               finally             lambda              with
class               for                 not                 yield
continue            from                or
def                 global              pass
del                 if                  raise

2.操作符:

计算操作符:
** | 指数              |  2**3        |   8
%  | 取余(取模)       |  22%8        |   6
// | 整除              |  22//8       |   2
/  | 除法              |  22/8        |   2.75
*  | 乘法              |  3*5         |   15
-  | 减法              |  5-2         |   3
+  | 加法              |  2+2         |   4

优先级:** -> * <-> / <-> // <-> % -> + <-> -

比较操作符:
==   |  等于
!=   |  不等于
<    |  小于
>    |  大于
<=   |  小于等于
>=   |  大于等于

二元操作符:
and     |   都为True时为True
or      |   有一个为True时为True
not     |   相反,True时为False,False时为True

赋值操作符:
+=      |   加赋值 
-=      |   减赋值 
*=      |   乘赋值 
/=      |   除赋值
%=      |   取模赋值

特殊操作符
\       |   续行符

转义字符:
\'      |   单引号
\"      |   双引号
\t      |   制表符
\n      |   换行符
\\      |   倒斜杠

分类字符:
\d      |   0到9的任何数字
\D      |   除0到9的数字以外的任何字符
\w      |   任何字母、数字或下划线
\W      |   除字母、数字和下划线以外的任何字符
\s      |   空格、制表符或换行符
\S      |   除空格、制表符和换行符以外的任何字符

3.整数、浮点型、字符串数据类型

整数      |    -2,-1,0,1,5
浮点型    |    -1.25,0.0,4.30
字符串    |    'a','Hello','b' 总是用单引号包围住字符串  
               字符串连接符号 ‘+’ 如果连接数据为非字符串格式,需要显示的转换为字符串
               例:'Hello' + 'Word' 
               字符串复制符号 ‘*’ *操作符在作用于整形或浮点型为乘法,在作用于字符串时,则为字符串复制操作 
               例:'Alice' * 5
布尔值    |     TrueFalse
None     |     空值

4.赋值
格式:变量名 = 值
例:

spam = 40
str = 'Hello'

Python的变量是区分大小写的。
变量在第一次进行赋值时,确定变量的类型
例:

spam = 40 整形
str = 'hello' 字符串
f = 40.0 浮点型

5.注释
Python 使用#作为注释
Python使用""" .... """ 作为多行注释

6.显示转换类型

str()       转为字符串
int()       转为整数
float() 转为浮点数  Tips:对浮点数取整,可以使用int()函数

7.流程控制语句
注意:Python 更加代码行的缩进,知道代码块的开始和结束

格式:
if 条件 :
    语句块
#------------
if 条件 :
    语句块
else :
    语句块
#-------------
if 条件 :
    语句块
elif 条件 :
    语句块

8.循环语句

while 语句:
while 条件 :
    语句块

for 语句:
for 变量名 in range函数 :
    语句块

tips:
range函数:
range(开始,停止,步长)

break语句 跳出循环
continue语句 跳出本次循环

9.导入模块
格式:
import 模块名称[,模块名称...]
from 模块 import * #此方式可以调用模块中的函数时不需要random前缀

10.函数

格式:
def 函数名(参数[,参数1,...]) :
    函数体

tips:
return语句    在函数体中使用return语句来执行返回值

11.作用域
分为局部和全局,一个变量必是其中一种。
局部变量不能再全局变量中使用,局部变量可以使用全局变量
global语句 在局部作用域定义、修改全局变量

12.异常处理

try:
    语句块
except [异常类型]:
    语句块

抛出异常:raise Exception(异常信息)

存储错误信息:
try:
    语句块
except Exception as 变量:
    语句块

traceback模块:
模块:improt traceback
traceback.format_exc()  得到异常的反向跟踪字符串

断言:
格式:assert   条件,错误信息
禁用断言:运行Python程序时加上 -O 开关

13.数据结构
1)列表
定义:列表名 =[[值1,值2,...]]
获取值:列表名[索引] #索引从0开始
多维列表:列表名 = [[值1,值2,..],[值1,值2,...]]
多维列表获取值:列表名[索引][索引]
负数下标:-1列表最后一个,-2列表倒数第二个,依次类推
切片获取列表:

列表名[结束下标]   #默认从0开始 不包含结束下标
列表名[开始下标:] #默认使用列表长度为结束下标
列表名[:结束下标]  #默认从零开始
列表名[开始下标:结束下标] #注意用: 不包含结束下标
列表名[开始下标:结束下标:增量] #以增量获取数值

切片获取列表:操作符+可以连接连个列表,得到新的列表
操作符*可以实现列表复制
删除列表值:del 语句可以删除列表下标处的值,格式del 列表名[索引]
值是否在列表中:in 和 not in 可以确定一个值是否在列表中,格式 值 in 列表 | 值 not in 列表
多重复制:格式 变量1,变量2[,变量3]} = 列表 #注意变量的数据必须与列表的长度相等

Tips:list 是引用类型
常用 方法:
len() 获取列表的长度
index() 在列表中查找值并返回下标
append() 在末尾添加值
insert() 在任意下标处插入值
remove() 从列表中删除值
sort() 对列表进行排序

2)元组
定义:名 = ([值1,[值2,...]])
与list区别:
元组是不可变的,列表是可变的
Tips: 元祖只有一个值时,需要后面跟一个逗号

list() 可以转换为list
tuple() 可以转换为元组

Copy模块的copy()和deepcopy()方法:
copy() 复制一个列表或字典为新列表或字典,具有不同的引用地址
deepcopy() 如果列表或字典有子列表,使用此方法

3)字典
格式:名 = {键1:值1[,键2:值2,...]}
关键字in和not in,可以查看键是否在字典中
方法:
keys() 获取字典的键,返回列表
values() 获取字典的值,返回列表
items() 获取键值对
get(键,备用值) 根据键获取值,如果值不存在返回备用值
setdefault(键,值) 根据键值设置默认数据,如果键不存在,则添加该键和值,如果存在则返回键的值

14.字符串
格式:'字符串' | "字符串" #双引号中可以使用单引号
原始字符串:r"字符串" #忽略所有转义字符#
多行字符串:'''字符串''' #可以将字符串在多行进行书写
字符串也可以使用下标和切片获取值
in和not in 也适用于字符串
常用方法:
upper() 转为大写
lower() 转为小写
isupper() 是否为大写
islower() 是否为小写
isalpha() 是否只包含字母,并且非空
isalnum() 是否只包含字母和数字,并且非空
isdecimal() 是否只包含数字,并且非空
isspace() 是否只包含空格、制表符和换行,并且非空
istitle() 是否为开头大写
startswith() 是否为某字符串开头
endswith() 是否我某字符串结尾
join() 连接列表字符串
split() 分割字符串

rjust() 以特定字符前置填充字符串
ljust() 以特定字符后置填充字符串
center() 以特定字符居中填充字符串

strip() 删除两边边空白字符串(控制、制表符和换行符)
rstrip() 删除右边空白字符串(控制、制表符和换行符)
lstrip() 删除左边空白字符串(控制、制表符和换行符)

pyperclip模块:
copy() 向计算机的剪贴板发送文本
paste() 向计算机的剪贴板接受文本

15.正则表达式
模块:import re
创建:名 = re.compile(格式)
匹配对象:
返回值 = 表达式.search(值) #返回第一次匹配的文本 返回match对象
返回值 = 表达式.search(值) #返回所有匹配的文本 返回元组列表
获取返回值:返回值.group() #反回值不为null,返回实际匹配字段
分组:(\d\d\d)-(\d\d\d\d) #使用括号可以对返回值分组
获取分组:返回值.group(组下标) #下标从1开始 获取所有组 使用 groups()方法
匹配管道:希望匹配许多表达式中的一个时,可以使用字符|进行分割
使用匹配符:
? 零次或一次
* 多次
+ 匹配一次或多次,至少出现一次
{} 匹配特定次数
[] 定义自己的字符分类
[^] 非自定义字符分类
^ 以某个字符开始
$ 以某个字符结尾
. 通配字符
.* 匹配所有字符

16.读写文件
模块:要实现文件读取,需要引入os模块,import os

. 当前目录
.. 父目录
方法:
os.path.join() 生成文件路径,或链接文件名
os.getcwd() 获取当前工作目录
os.chdir() 修改当前工作目录
os.makedirs() 创建新的目录

os.path.abspath(path) 相对路径转决定路径
os.path.isabs(path) 绝对路径返回True,相对路径返回False
os.path.relpath(path,start) 返回start路径到path的相对路径的字符串,没有提供start,就使用当前工作目录作为开始路径

os.path.dirname(path) 返回目录路径
os.path.basename(path) 返回文件名称
os.path.split(path) 返回两个字符串的元组,包含路径和文件名

os.path.getsize(path) 查看文件大小
os.listdir(path) 返回path下的所有文件名

os.path.exists(path) 检测文件或文件夹是否存在,可以检测dvd或闪存盘当前是否连击计算机
os.path.isfile(path) 检测文件是否存在
os.path.isdir(path) 检测文件夹是否存在

os.unlink(path) 删除path处的文件
os.rmdir(path) 删除path处的文件夹,该文件夹必须为空

os.walk() 遍历目录树

open(path,打开模式符) 打开文件,返回file对象,打开模式为空,默认为只度
file.read() 读取文件内容
file.write() 写入文件
file.close() 关闭文件

文件打开模式:
a 添加模式
r 只读模式
w 写入模式
wb 写二进制模式

sheleve 模块(感觉像是配置表)
模块:import shelve
方法:
shelve.open() 打开文件
shelve.keys() 获取键
shelve.values() 获取值

17.Shutil 模块
模块:import shutil

方法:
shutil.copy(path1,path2) 将path1的文件复制到path2
shutil,copytree(path1,path2) 同copy,不一样的是会复制整个文件夹
shutil.move(path1,path2) 将path1的文件移动到path2
shutil.rmtree(path) 删除path处的文件夹及子文件

send2trash 模块
模块:import send2trash #此模块需要安装
send2trash.send2trash(path) 将path的文件移除到回收站

18.zipfile 压缩模块
模块:import zipfile

方法:
zipfile.ZipFile(path) 打开一个zip压缩文件
ZipFile.naelist() 返回zip文件中包含的所有文件和文件夹列表
ZipFile.getinfo() 返回一个特定文件ZipInfo对象
ZipFile.extractall() 从zip文件中解压缩所有文件和文件夹
ZipFile.write(path,压缩类型) 会将路径处的文件写入zip

19日志:
模块:import logging
方法:
logging.debug(日志信息) 输出日志信息
logging.disable(日志级别) 禁止日志

未完待续…

猜你喜欢

转载自blog.csdn.net/qq_18192161/article/details/79230852