数据结构
列表(list) 1.定义
在[]中添加的项,用,隔开,就是列表
s = [1,2,3,4,5]
可以采用list[index]的格式读取,例:
s[0] => 1
s[-1] => 5
s[1:3] => [2,3]
s[1:] => [2,3,4,5]
s[:-2] =>[1,2,3]
2.list常用函数
元组(tuple) 与列表类似,但是用()表示,元组中的元素生成后不可修改
t.count(x):返回x的个数
t.index(x):返回第一个x的序号 集合(set) 集合使用{}定义,为无序非重集合,可自动过滤重复数据
s = {1,2,3,4,1,2,3}
print(s) => {1,2,3,4}
定义两个集合(s1,s2)示例操作:
字典(dict) 字典的形式是键值对(key-value),项用,隔开,每一项中包含key和value,之间用:隔开
d = {1:10,2:20,'a':12}
通用方法:len(s),返回长度。x in s,判断s中是否包含x
三个函数(map,filter,reduce)
遍历函数(map) map用于遍历序列,对序列每个元素进行操作,返回新的序列,格式为:
map(func(x),*x),例:
筛选函数(filter) filter函数用于对序列中的元素进行筛选,返回符合条件的新序列,例:
累计函数(reduce) reduce函数用于对序列内所有元素进行累计操作,也就是将元素操作的结果再次带入,例:
注:1.reduce不属于内置函数,所以要导入functools包。2.reduce调用的func必须为两个参数
面向对象编程
类 面向对象编程(OOP),概念比较复杂,就不细说了。这里是基于oop,定义出了类(class)的概念,举例说明:
面向过程的编写方法:
根据这个需求,当我们打算采用面向对象的设计思想时,可以将“学生(stu)”抽象为一个对象,拥有name和tel两个属性
这样,这个过程中,tom = Student('tom',123456)这句被称类的实例化,创建了一个名为'tom'的Student对象。通过这种方式,我们可以再创建若干个具有相同属性(name,tel)的对象。
注:__init__()方法,前后为两个下划线,第一个参数永远是self,表示实例本身,因此,再__init__内部,就可以把各种属性绑定到self(实例)上。同时,self作为一种特殊的参数,是不需要外部传递的(调用方法时不需要传递该参数)
私有变量与私有方法 私有是指,只能在类的内部进行访问,在普通的变量名或方法名前面加__即可声明是私有变量或方法。例:
其他
命名规范
- 包名、模块名、局部变量名的形式:全小写+下划线分割(tel_num)
- 全局变量形式:全大写+下划线分割(FILE_PATH)
- 类名的形式为:驼峰命名法(ClassName)
- 关于下划线:单下划线开头,只能包内部调用。双下划线开头,只能类内部调用。双下划线开头且双下划线结尾的通常是程序内部方法,不要自己定义。
formit()方法 在str中装在formit中的参数
例:"{}:计算机{}的CPU占用率为{}%".formit(date,"C",10)
槽内格式化:
其中:b表示2进制,c表示字符编码,d表示十进制
基础语法部分就结束了,其实语法部分非常粗略,并不适合零基础。毕竟这个系列是“数据分析”而不是“新手入门”。所以这个基础语法部分更像是“复习”或者“速查”。over