python学习

11.09  有序无序的界定就是序列是否能通过下标访问

元组 tuple:有序不可变(封口的瓶子)、数据类型不限还可嵌套、逗号很必要、不可变因此安全性高、小括号

创建方法:

1.A=tuple((x,y,z,,,))

2.A=(x,y,z,,,)

3.A=x, y, z,,   括弧可以省略                  

元组的运算:'+':拼接两个元组,'×'元组乘以一个数字可以得到重复次数的新的元组

列表 list: 有序可变(杯子)、安全性差灵活性高、中括号

创建方法:

1.List = list((obj1,obj2,obj3,...))

2.List = [obj1,obj2,obj3,...]

3.列表推导式

列表常用操作(翻阅文档查看即可 )

 注意数组与列表的区别

字典 dict:键值对,无序可变、键不可变且唯一

 

 创建方式:

1.Dict={key:value,}

2.Dict=dict(key=value,)

3.Dict=dict([(key,value),])

常用操作 

exercise:如何获取字典中的值?

最好使用dict.get(key, default = None)  也有第二种方式是dict[键名称] 但该方式一般不用 

11.10 

集合set 值唯一,无序 set={obj1,obj2,,,}

 3.2 python中数据的常用操作 

3.2.1数据拷贝知识

背景:数据引用时,是直接带地址引用,因此L1=L2赋值后,L1和L2存在于同一地址了,数据拷贝就是为了避免这一现象

注意:元组和字符串无法用copy

11.11 

python中的运算符

成员运算符 in

身份运算符 is 比较存储单元

 ==是用于判断值是否相等,不需要是同一个地址



11.12 Python中的函数

类型:-内建函数 input\print\map\reduce

           -用户自定义函数 def\lamda

           -第三方工具包的函数s

python中函数的返回值与c有些不同:

11.23

1.2python中的函数续

※函数参数

 

注意不同参数的摆放位置,同时*args要放在**kwargs前

※全局变量和局部变量

1.3 匿名函数

如何定义匿名函数 

#lambda 参数:函数体

只能写一行代码,参数可以很多

 1.4 python函数的特点

1.函数本身可以作为参数和返回值

2.python程序的执行过程:

-自上而下;

-函数体在调用时才会被执行;

1.5高阶函数

高阶函数:某个函数作为另一个函数的参数,python中的自带的高阶函数,map,reduce,sorted,filter

map函数

reduce函数

map是单独计算的,reduce是累积计算

filter函数

 sorted函数(不会改变原列表,可以自定义排序方法)

 2.2面向对象和面向过程

动态添加类的属性和方法能影响对象,动态添加对象的属性和方法不会反过来影响类

very important

11.26

2.4魔法方法

可以视为在object类中的

     

         

2.5设计模式

单例模式

工厂模式

 

观察者模式

 

11.27 发明轮子和造轮子

※3.1轮子和模块

一个轮子可以有很多个模块,模块多为.py文件,轮子就是package

轮子:工具包就是轮子,子工具包就是模块

代码层面来看,模块是较高的单元,封装代码

 

init是初始化工具包或模块的

 

 顶层文件是项目启动文件

 

需要避免导入模块的循环导入 ,导入的模块不一定是python写的

import后可加package名或module名

 B不一定需要进入以下几个路径,此课程暂未介绍

※3.2 python中常用的内置工具包


os库

chdir(path) ../ (.路径往前,/路径往后)


sys库

 可以采用sys.path.append加入你想要的模块路径

sys.argv:从程序外部向程序传递参数,参数以列表的形式传递,第一个为当前文件名

input已经进入程序内部了


11.28 python也要你的文件读写权限

4.1文件读写操作

文本、图片、音频、数据文件

 

12.03

4.2上下文管理器 with是上下文管理器

 with 后的语句需要缩进,不需要关闭。

常见格式的数据文件操作 

图片数据

得到图片像素点的方法: 

音频数据

数据文件

 

 

 得到dataframe数据

 5.1 python小技巧

 

 

 

 

 字符串对象池

简单字符串:字符串中不包含空格和特殊符号

 

12.6

5.2垃圾回收

“引用计数”,“标记-清除”,“分代回收”

 python应用篇

1.1正则表达式

正则表达式书写规则

 

利用下图的符号可以构成一个很复杂的字符串

 

^开头,$结尾

 

 

身份证匹配不太好用

 

 

 

 非贪婪操作符“?”

1.2 re模块

 

 

 

12.7 

3.1 异常与错误

 

 自定义异常可以从exception继承

 

12.08

3.2程序调试

__name__="__main__"有什么用?

print

assert

arguments是抛出错误的名称,assert比print高级在它能一键屏蔽assert语句

因为assert一上线就会被屏蔽,因此尽量避免用它做逻辑和数据的验证,仅用它来判断某些数据规则。

断点 

 单元测试

 

内置assert方法 

 

 

 12.09 

4.1 迭代器和生成器

迭代概念

 可迭代对象概念

双下划线:魔法方法 

除了使用.__jter__也可以使用  isinstance(xxx, Iterable)判断xxx是否是iterable中的一个实例

迭代器

可迭代对象不一定是迭代器(不一定有next方法),迭代器一定是可迭代对象,因为它实现了iter方法

 iter()可以获取迭代器对象 iter(list())即可将可迭代对象变为迭代器

 

 (列表推导式)即可产生生成器

 

 

 

 

 生成器和迭代器不同,他是用多少取多少数据

12.11 装饰器

1.闭包

闭包:内部函数引用外部作用域的变量 

 

func传入装饰器函数,作为其参数

 左边写法为装饰器,右边闭包,装饰器仅为闭包的一种形式

@后为装饰器,def为被装饰函数

装饰器的作用是给其他函数添加一些功能 

 

 运行到@xxx后,python会检查后续是不是函数或类,因为装饰器可以装饰函数或者类,若是,则执行xxx

@light和def person()即可视作light(person)。经过装饰器修饰后,person()即为tiga()

如何避免丢失?

用装饰器来增加功能,warps的内置模块,解决用装饰器而导致原信息丢失的问题

当被装饰函数有参数如何解决

当被装饰函数拥有参数,内函数也需要拥有参数

如何构建一个通用装饰器?1.加入wraps 2.加入不定长参数 *args

 

为Singleton类添加了单例模式(singleton(cls,*args,**kw))

多个装饰器如何执行?

 

wraps还会保留person原来的信息 

 

12.13 开始学习站在巨人的肩膀上

2.1 numpy

 

 

 

 数据类型支持的比python多

 

切片与索引

 

左闭右开原则

 

 

 

 

 

 

random模块

 

 

12.14

2.2 pandas

 

series

Dataframe:创建,获取数据,映射,排序,常用方法,常用统计方法

 

 

 但应该避免主动产生缺失值

Dataframe如何获取数据?

     

映射:将函数应用于Dataframe的每一个行或列上

 

 排序:

 

 

  

 

 

 缺失值处理方法:

 

 

 

2.3 Matplotlib

图像结构

 

 

 绘图步骤

创建画布一般可以忽略,但如果你觉得分辨率不够,可以调整

1.导入工具包

2.创建画布

 3.选择图形

 

4.设置细节 

 

5.保存与展示

保存一定要在展示前,如果先show的话,画布上都释放掉了,保存下来的就是空的。

画图函数:

 图像细节设置

 

 

 

 3D绘制流程

 

Seaborn简单介绍

 

 

  

 加载后得到的是Seaborn格式数据

seaborn图形细节设置

seaborn相较于matplotlib更简洁

12.15

2.4 Requests 

 

 

 

 

 参数大多是字典形式

 

 

 

 multiply是对应数相乘,*和dot都是矩阵乘

12.19 Python在手,数据如何轻松带走

爬虫的伦理

 分类

 

HTTP库获得网页源码(html、css等),数据定位工具获得数据

 requests很受欢迎的模块,可以实现HTTP访问,响应等,较urilib方便

xpath语法简单,效率较高(较正则表达式低)

其他数据格式:json

 网站防止爬虫的手段——反爬

 爬虫完整程序

 

 介绍了scrapy框架

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值