python能做很多事情,其中就有数据分析和人工智能,这里指针对这两项学习python基础语言和规则。
一、为什要学习python?
这里就八个字,人生苦短,我用python,不解释,另,要学python3,因为python2已经不再维护了,而且python3的许多数据包比python2要全,最重要的是2和3不兼容。
二、如何安装python?
网上教程很多,但是要专职数据分析,基本的就是python3+jupyter notebook+Anaconda,Anaconda的很多数据包已经打包好了,基本够用,如果需要用到新的包,可以用pip方式下载,需要的时候再说。
三、python3的基本学习
什么是变量,网上的太多、太过专业,以自身理解,变量可以理解成“起名字”当然这么说不太准确,python3中怎么‘起名字’有一些约定俗称的规矩,比如说不能以关键字词打头,不能以数字开头,支持下划线等,注意要区分大小写等等,python3的对大小写是敏感的,记住,按规矩办。
所有开始学习编程语言的人们,第一句话都是hello world,你好,世界!
注释,注释的作用在于说明,别觉得没用,有了它你的代码更清晰,别人阅读起来也更方便,它有书写规则,注意都是英文状态下哦,如图:
单行注释
多行注释
变量的类型,上面提到了变量就是起名字,那么给谁起名字呢?就是给基本工具起名字,python3中有字符串、数字、容器、布尔、None,这些基本工具能干什么呢?
1字符串(string):格式用英文状态下的单引号‘ ’表示,一看见这个就知道,哦,这是字符串。字符串干什么用?就是一句话,一个单词、一个名称,一个代号,传递给变量名称,然后用变量名称应用到函数中。
首先给'hello world'这个字符串命名为name_1 ,用print(打印输出)这个函数打印name_1
1.1简单的操作字符串(string):字符串的操作有很多,但是要知道我们现在用python的主要目的是数据分析和人工智能,暂且就这么多哈。
用加号+连接字符串。用加号+连接变量
用百分号%来替代,%s指得是替代后面的字符串,两个%s对应的下标顺序是0、1,在'%('芭蕾舞','好')的下标0芭蕾舞、1好对应。
2数值(Number):整型(int),浮点型(float)等,这里主要是这两种
3容器:列表(list)、元组(tuple)、集合(set)、字典(dictionary)
3.1列表(list):列表用 [ ]表示,一看见方括号[ ]就要知道,哦,这是个列表,可重复哦
列表的常盾,用函数len
append从列表最后增加函数,不去重
del函数删除列表中下标为1的元素,下标是从0开始数的
查询列表name的第一个元素,也就是列表下标为0的元素,记得再次变量name_1
首先指定列表name下标为2的元素,赋予新值wc,打印输出修改后的结果
3元组(tuple),元组使用小括号(),一看见(),就该知道,哦,这是一个元组,元组和列表的区别是元组的元素是不可更改的。
查询元组name_1的长度
查询元组name_1中下标为3的元素,打印出来
4集合(sets),用花括号{ }表示,它是不能重复有重复元素的容器,一看见花括号{ },哦,这是个集合
上边的结合,我在元素中定义了重复字符串亚马逊,当打印输出时,它自动只输出唯一的重复值
首先定义一个空的集合,往里面添加集合,使用update函数,打印输出
用discard函数删除集合daqiye中的阿里元素,需要注意的是要记住不同容器的操作方式,因为每个容器有不同的性质,没有统一的标准,只能死记硬背,这样更扎实一些
查找一个元素在不在集合里,查完之后返回的是布尔值,true返回的意思,你查的对,它在里面呢
先使用.discard函数删除集合里面的阿里元素,再使用,update函数添加新的元素阿里
4字典(dictionary),它是存贮映射关系的容器,如账号密码。用花括号表示,需要注意的是要和集合区分来,看里面的元素是否有对应关系(字典里的映射关系用 :号表示),如果有 :,那么这就是dictionary,反之为集合,key值必须是唯一的,value可以。
字典中左侧部分为唯一的值key,右侧可以是重复的
5、布尔值,用True和Falase 表示 ,要严格区分大小写,主要应用在条件判断上。
6、空值None如图:它是特殊的空值,就相当于占了个位置,但是它又没有值,所以用None表示
四、条件判断 if ...:else:...
这里就多了个elif,就是多了个条件判断,注意格式,就是冒号:,别忘了,缩进已经要对齐,可以用tab键进行操作,就是缩进4个空格,一定要对其哦
逻辑 and 、or、not的用法
五、循环,批量处理数据,把容器中的每个数据都按照规则进行重复处理,代码块格式:
for i in 容器:(转到下一行,缩进)要做的事情。
可以这样理解,i把所有的 eatlist列表里的数据都循环过一遍,简单的循环
将字典里的key,value转换成大写的,这在数据清洗中很重要,批量同一格式,这里用到了items()方法语法:返回值:返回可遍历的(键, 值) 元组数组。
countine循环
break循环,就是不再执行这个循环了,退出 python中break和continue的区别 - 人则鱼 - 博客园www.cnblogs.com
六、函数,函数就是别人已经写好的工具,可以重复使用,就是套路。也可以自己编写函数
自定义函数
定义函数的模板
使用刚才定义好的add函数,函数传递,一是按照定义的顺序如上图,二是使用参数名称如下图
这种带函数名称的比较好用,参数多了你记不住参数顺序
七模块,在py模块。
Anaconda下载及安装及查看安装的Python库用法 - 大自然的流风 - 博客园www.cnblogs.com
Python 中 ‘unicodeescape’ codec can’t decode bytes in position XXX: trun错误解决方案www.cnblogs.com
注意输入地址时要用到双,因为python导入文件时将符号当做Tab键输入导致语法错误,加入就可以解决以上是解决方式的连接
八数据结构
队列(queue)
队列就像你去餐厅外婆家吃饭排队,新来的人在队列尾部加入,叫做入队。取完票的人从队列首部离开队列,叫做出队
官网使用操作文档:介绍Python的collections包,了解常用的数据结构
5. Data Structures - Python 2.7.17 documentationdocs.python.org
使用collections中daque的函数,相当于在队列后边加了个数
我们可以看见队列的001没有,道理很简单,在队列头,使用popleft函数让头出去了
栈(stack)
栈这种数据结构有点像像生活中的木桶。你往栈中加入新的元素,就是入栈,新的元素总是放在木桶的最上面。
排序字典OrderedDict
计数器Counter
最后总结知识点