Python对于新手来说是一门相对容易学习的语言,和其它程序语言相比包含的代码行少,也更容易去学习。随着互联网的发展,Python逐渐成为热门语言,对于一个新手小白来说它更容易上手,但在学习Python中还是要克服很多困难。以下是我根据第二关的学习,做出的整理和总结,如有错处欢迎指正。
如何搭建运行环境
可以直接上Python官网下载安装,本文中使用的工具是Anaconda,Anaconda是包管理器和环境管理器,其中Jupyter notebook 可以将数据分析的代码、图像和文档全部组合到一个web文档中。简单来说,它像是个一本书,Python的就像书中的一章内容,里面还有不同的版本,同时附带各种数据包,详情请见:初学python者自学anaconda的正确姿势是什么??www.zhihu.comjupyter notebook 可以做哪些事情?www.zhihu.com
安装好后可以敲下人生中的第一行代码:学习Python的关键点数据
条件判断
循环
函数
模块和包
数据结构
数据可以根据途径不同分为5种类型:字符串(string)
数字(Number)
容器(列表,元祖,集合,字典)
布尔(bool)
空值(None)
1.字符串(String)
字符串是 Python 中最常用的数据类型,python中字符串一般用单引号('')或者双引号("")括起来,用于储存文本。
图中等号左边是变量名称右边是变量值,在代码里,用变量来存放数据,用等号(=)来给变量赋值。变量在使用前必须要赋值,变量赋值后才会创建。
变量命名的规则:数字不能作为变量名称的开头,要注意大小写。
加号(+)书用于字符串连接,星号(*)表示重复输出字符串数字为次数格式化字符串%s
2)数字(Number)
python3中常见的数字类型为三种:整型(Int) 通常被称为整型或整数,是正或负整数,不带小数点,如(1,2,3,50)。
浮点型(float) 浮点型由整数部分与小数部分组成,如(3.20,16.00)
复数( (complex)) 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
容器
1)列表(List)
2)元祖(Tuple)
3)集合(Sets)
4)字典(Dictionary)
1)列表(List)
List用方括号 [] 来定义,元素间用逗号隔开,List是有序且可以修改,这就方便我们查询数据,以及增加和删减数据。
List是可以被切片和索引的,序列中的每个元素都分配一个数字,第一个索引是0,第二个索引是1,依此类推。
首先我们来创建个列表
然后我们可以通过增加给列表中增加元素
当然我们也可以删除,修改和查询
2)元祖(Tupie)
元祖与列表相似,但元祖中的元素不可修改,只能查询,元祖用小括号表示()。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:
首先我们来创建一个元祖:
元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例:
3)集合(Sets)
集合是一个无序且没有重复元素的容器,可以用set()或使用大括号{}创建集合。
但创建一个空集合必须使用set()而不是{},下面我们来看下
集合也可以增加,删除,查询和修改
4)字典(Dictionary)
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,字典的好处就是它的每一个关键字都对应一个值 。
首先来创建一个字典
我们也可以进行增加,删除和修改
5)布尔
布尔类型只有True和False两种值,主要用于条件判断当条件为真时为True,当条件不成立时为False。
6)None
None是一个特殊的空值,它不等于零。
2.条件判断
条件控制中主要就是通过判断条件为True和False来执行代码,主要就是筛选出我们要的东西,如下图所示
句法1:if-else语句用于单一条件判断。
句法2:if-elif-elif-else语句用于多条件判断,视情况可加多个elif。
值比较:>, <, >=, <=, !=不等于, ==等于
逻辑比较:and, or, not
3.循环
在python中循环语句有两个,即for和while,而其中最常用的就是for语句,for常用于批量处理数据,用for循环语句可以将元素提取出来,进行筛选,快速找到我们需要的东西。
while循环:
continue语句
continue 语句用于跳出满足当前条件的循环,但只能跳过一轮,如下图我们不想要苹果的数据,就可以通过continue剔除。
break语句
break语句用来退出整个循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。
比如,我们要查找苹果公司,找到苹果公司后在执行谷歌公司时就会终止程序。
4.函数(function)
函数是具备某一功能,方便使用者实现某些特定的功能,可以用于解决重复有规律的问题。
Python提供了许多内建函数,比如print()。但也可以自己创建函数,这被叫做自定义函数。
自定义函数,以下是简单的规则:函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
函数内容以冒号起始,并且缩进。
return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
可更改(mutable)对象
不可更改(immutable)对象
在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。
如果函数参数是字符串,数值和元祖这3种不可变的对象时,参数在传递时只是复制了一份,对原始数据没有影响。
如果函数参数是可变的类型,如列表或字典,当函数内部修改数据时,原始数据也会改变。
变量作用域
全局变量:定义在函数外部的变量,可以在整个程序内访问。
局部变量:定义在函数内部的变量,只能在函数内部访问。
下面是变量作用域错误导致的错误:
5.模块(module)和包(file)
模块:是一个包含所有你定义的函数和变量的文件,其后缀名是.py。
使用模块中的函数须在函数前加上模块名称,例导入sys模块中的path函数,sys.path。
为了避免模块名称重复导致的歧义错误,就有了“包”的出现。
包:文件夹(定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。)
将包导入的方法:
Import as就是给包取个其他名字
from collections import deque
就是指将collections包中的deque函数引入。
'''
使用conda命令安装包:conda install pandas
使用第三方模块:pandas
pandas是数据分析工具
'''
#引入模块
import pandas as pd
#文件路径(在本地运行时替换成你自己的实际数据路径)
fileNameStr='C:\\Users\\HP\\lfzz\\病历数据.xlsx'
#导入excel文件
xl = pd.ExcelFile(fileNameStr)
#获取指定工作表(Sheet)名称的数据
patientDf = xl.parse('数据1')
print(patientDf)
病人编号 姓名 年龄 糖尿病类型 病情
0 1 猴子 29 1型糖尿病 较差
1 2 马云 34 2型糖尿病 好转
2 3 王健林 28 1型糖尿病 显著好转
3 4 马化腾 52 2型糖尿病 较差
6. 数据结构 (Data structures)
在上面数据类型中讲到的容器(列表,元祖,集合,字典),在编程中也叫数据结构。
下面主要介绍一下Python的内置包collection中的3种数据结构:
双向链表(deque):队列(queue)和栈(stack)
排序字典:OrderedDict
计数器:Counter
队列(queue)是一种具有先进先出特征的线性数据结构,元素的增加只能在一端进行,元素的删除只能在另一端进行。能够增加元素队列的一端称为队尾,可以删除元素的一端则成为队首。
栈(stacks)是一种只能通过访问其一端来实现数据存储与检索的线性数据结构,具有后进先出的特征。
排序字典:字典本身是无序的,但我们可以使用OrderDict,按照插入key的顺序,对字典排序。
计数器的使用
可用Counter()函数自动计算元素出现的次数
总结:以上就是我最近学习的总结和梳理,刚开始时练习时会出现很多的失误,要勤加练习多敲代码。另外除了live和菜鸟教程里的练习,还要找一些入门书籍来看,巩固系统性的知识。《笨方法学python》《父与子的编程之旅》这两本书都比较好上手。