1、python学习的理解
python学习的慢慢长路,真的是慢慢长路,学习不有用整体化的误区,但是学习其实是一次次渐进的过程,开始了还是要走下去,开始使用“画小圈"来“学好当下”。
学习python用来做数据分析,当然要配置好一个编程语言的环境:1、anaconda;2、jupyter notebook。这个两个对于新手来说,界面简洁,学习起来不是那么难以理解。anaconda内就包含了notebook,按照教程直接下载anaconda64位Windows并安装。安装过程不难,就是要按照步骤进行操作就可以。
学习python目的是做数据分析,进行”画小圈“,有4个重点的”小圈“:数据、条件判断、循环、函数。影响自己行动的信息才能算知识,如何将这些信息内化成自己的知识,要对4个重点”小圈“再进行拆分成更小的”小圈“(模块),进行刻意的练习。
2、数据类型
数据是什么?在数据分析中,数据是数字、文本等,来自用户输入,也来自程序本身内置的,出有程序输出的。
python程序如何获得数据,需要先设置一个变量。变量通常是以下划线或字母开头的,是区分大小写。变量需要赋值才会有“类型”。变量本身没有数据类型,变量通过赋值即所指向的数据才有数据类型。
主要的数据类型可以分为三大类:1、字符串、2、数字;3、容器。
2.1、数据类型:字符串(String)
字符串,我的理解是可以将注释和空字符None归入进行分类:
上图也是我对于字符串的理解,python要获取字符串要通过“=”赋值,当然其实注释也可以理解一种特殊的没有参与程序运行的字符串。空值None是一种特殊的状态,主要是数据没有填写而为空,是一种缺失值。
字符串的一些基础操作:切片、拼接(+)、重复输出(*)、成员判断(in/not in)、格式化(%s)。以下是进行操作的代码:
2.2、数据类型:数字(Number)
数字,是可以进行算术计算、比较判断、逻辑判断的,主要有整型Int、浮点型float、还有特殊的布尔型bool(True/False);
运算符:算术、比较(关系)、赋值、逻辑,这个四个主要用于数字的运算。
2.2.1、算术运算符
用于数字的算术运算,分别有7个:+、-、*、/、%、**、//。
2.2.2、比较(关系)运算符
用于数字的比较运算,得到布尔值(True/False),分别有6个:==、!=、>、=、<=。
2.2.3、赋值运算符
用于数字在赋值时的简化,主要有7个:+=、-=、*=、/=、**=、%=、//=。
2.2.4、逻辑运算符
主要用于逻辑的判断,运算符有3个:and、or、not。
2.2.5、数字类型转换函数:int(x)、float(x);
2.3、数据类型:容器
容器有4种类型:列表(List)、元组(Tuple)、集合(Sets)、字典(Dictionary)。
快速学会容器的重点是:
1、如何定义容器?
2、容器的4个操作:增加、删除、查询、修改。
2.3.1、数据类型:容器——列表(List)
列表(List)定义是:使用把逗号分隔的各个的数据项用方括号括起来。列表可以使用的操作:索引、切片、加、乘、检查成员进行增加、删除、查询、修改。
2.3.2、数据类型:容器——元组(Tuple)
元组的定义是,使用逗号分隔开的不同元素并小括号括起来,元组只有一个元素时,需要在元素后面加上逗号。
元组是不能修改的,但是可以整个删除。即元组只可以查询。
2.3.3、数据类型:容器——集合(Sets)
集合是一个无序不重复的序列,使用逗号分隔的各个数据并且大括号括起来,特殊的定义一个空集合是set(),不是使用{ }。
2.3.4、数据类型:容器——字典(Dictionary)
字典的定义是,键值是唯一且不可变,值是可变可重复的任何数据类型,字典每个键值对用冒号(:)分割,每个对之间用逗号(,)分割,用大括号括起来。
3、条件判断
条件判断就是通过条件判断语句的结果(Ture或False)来决定执行的。
条件判断语句的基本形式:
if 边界条件1:
要做的事情1
elif 边界条件2:
要做的事情2
else:
要做的事情3
边界条件主要会使用到比较(关系)、逻辑、成员判断得到布尔值Ture或False。
4、循环
循环语句有 for 和 while,以下循环语句的逻辑控制结构图。
4.1、while语句的一般形式:
while 判断条件:
语句
4.2、for语句的一般形式:
for i in 容器:
要做的事情
把容器中的每一个数据遍历一次
4.3、break和continue语句
1、continue用于跳出当前循环;
2、break用于退出整个循环;
5、函数
函数是编写好,可重复使用的,可以用来实现单一或相关联功能的代码段。简单就是函数是代码段。函数有3个部分:1、输入(参数列表);2、函数的功能(函数体);3、输出(return返回的值);
def 函数名(参数列表):
函数体
return 输出
5.1、参数
5.1.1、参数的类型
参数可分3种类型:1、必须参数;3、默认参数;4、不定长参数;
def 函数名(必须参数,默认参数=数据,*不定长参数):
函数体
return 输出
必须参数在调用时必须与声明一样;默认参数在调用时没有输入参数时,则使用默认参数;不定长参数有两种设置,第一种是”*“后面没有逗号直接带参数名时在调用时输入的数据按元组输入,第二种是”*“后面带逗号的必须用关键字传入。
参数调用时,可以使用两种:第一种是按顺序输入;第二种是关键字传入。
def 函数名(必须参数1,必须参数2):
函数体
return 输出
函数名(数据1,数据2)#按顺序输入
函数名(必须参数名1=数据,必须参数名2=数据)#关键字传入
5.1.2、参数的传递
1、函数参数是字符串、数字和元组这3种不可变的数据类型的对象时,参数传递时,是一种复制出数据,对于数据本身没有影响。
2、函数参数是列表、集合、字典等可变类型时,在函数内部修改该数据时,原始数据也会改变。
5.2、函数体内外变量的作用域
定义在函数内部的变量是一个局部作用域,定义在函数外的是一个全局的作用域。局部变量只能在函数内部使用,全局变量可以在整个程序范围内使用。
5.3、输出(return语句)
return[表达式]语句是表示退出函数,并返回表达式,如表达式为空则返回None。
5.4、函数的调用
前面的使用写的代码时已用了调用了函数,调用函数的过程是:1、定义函数;2、使用定义好的函数名,并填写相应的参数,得到结果。
5.5、匿名函数
使用 lambda定义的函数, lambda 函数的语法只包含一个语句。
lambda [参数1[,参数2,……,参数n]]:函数体
6、模块
模块是定义好的函数和变量的文件,后缀名是.py。可以被程序引入,从而使用该模块中的函数功能。模块可以分为python内置模块和第三方模块。
模块的使用:
import 包名称
import 包名称 as 别名
from 包名称 import 函数名
使用Python内置模块
使用第三方模块:pandas
7、数据结构
7.1、队列(queue)
队列是一种先进先出的数据结构,就像餐厅吃饭排队,新来的加入等待队伍的末尾即入队,在队伍前先叫到号离开队伍即出队。
队列的实现:
7.2、栈(stack)
栈是一种先进后出,后进先出的数据结构,就像坐电梯先进去的站在里面是最后出电梯。往栈中加入新元素是入栈,栈内最后进的一个元素被调出是出栈。
栈的实现:
7.3、排序字典OrderedDict
使用“collections”模块的“OrderedDict”函数可以定义一个按照key输入顺序的字典;因为python内置的字典是会对输入的key做排序,输出的顺序与输入的顺序可能不一样。
排序字典的实现:
7.4、计数器Counter
计数器就是统计要计数的相应字符串、字符、数字的数量。
计数器的实现:
8、关于学习
学习过程就是在跟自己斗争的过程,这是一个细水长流的过程,要一个知识点一个知识点去学习。同时,在这个学习过程中,要集中精力并懂得放弃,学习不是求多,而是在于精。