入门资料:
注意:由于本人已经有了一定的编程基础所以以下资料看得还算挺快的挺清晰,对于完完全全的小白估计不太适合
1) 视频:Coursera里南京大学的《用python玩转数据》
2)文章:《X分钟速成Y》python篇章
3)还有一些blog,不 一 一举例了
半总结:
1、类使用__new__方法构造__init__方法初始化,其中类属性也在其中定义,私有属性需要使用双下划线完全隐藏,如果是单下划线只声明此属性是私有属性而已,单还是能有被直接调用。子类会继承父类的私有属性。
Exmple12、类中所有成员方法都需要传入self属性且是第一个参数传入,带默认值的参数需要放到最后传入。类方法需要cls作为第一个参数传入而不需要传入self,静态方法则什么都不需要输入.
Example23、方法参数中使用*args可以传入多个参数,由于这个所以方法重载python在语法上就已经实现了,多重构造方法,可以通过设置参数默认值实现。python中没有接口,但是python语法上也实现了多态,如:由于python传入参数时无指定类型,所以只要有对应方法即可调用。所以假设Animal中有run,传入子类Dog即运行Dog的run方法。
4、python项目结构:每个包必须带有__init__.py文件,文件内容可以为空也可以带有__all__属性完成所以模块的导入,如果不写__all__时,使用import module.*时只确定导入模块而已。
5、使用from module import xxx 不需要在类前添加module名进行调用,而使用 import module 则需要在类前添加module名进行调用
6、a=[] 创建空list后无法通过a[0]=1这复制,可以通过append方法添加元素。
7、正则表达式使用re模块,print(xxx,end="")不换行 例子:
Regex8、文件读写使用open() ,接受输入使用input() 例子:
Open Function Example---------------------------------------------------我是分割线------------------------------------------------
Pandas包使用笔记:
基于代码:
Basic Code#data[:3] 取前3行数据
#data[3:10] 取得第三到第九行数据
#data.loc[0:5,"user_id"] 获取0-4 ,user_id列
#data.loc[0:5,["user_id","time"]] 获取0-4 ,user_id列和time列
#data[(data.time >= '2014-12-01') & (data.time <= '2014-12-10')]
#获取[2014-12-01,2014-12-10]区间内的数据
#data.where((data.time >= '2014-12-03') & (data.time <= '2014-12-10'))
#获取[2014-12-01,2014-12-10]区间内的数据,但不符合添加的值会被赋值为NAN
#where函数第一个参数接收的是一个条件表达式
...........................................................未完待续.....................................................