一、python中的5种数据类型
字符串、数字、容器、布尔、None
1、字符串类型:不可变类型
python中字符串类型用单引号''或者双引号“”括起来,+号可以合并两个字符串。
2、数字类型:不可变类型
分为整数型和浮点型。浮点型就是带小数点的。
3、容器
容器数据类型可以存放多个数据。容器型一共分为下列4种:
(1)列表(List):可变类型
列表的表示形式是用方括号[],列表的元素是可修改的,索引是从0开始。举个例子:
namelist=['猴子','马云','王健林','马化腾','刘强东']
列表的四个常用操作:
- 增加元素:append()
- 删除元素:del
- 查询元素:把第1个元素查询出来
- 修改元素:重新复制就是修改了
- 计算列表的长度:len()
(2)元祖(Tuple):不可变类型
元祖与列表类似,不同之处是元祖的元素不能修改,元祖用(),所以元祖的元素不能增加、删除和修改,只能查询。
(3)集合(Sets):可变类型
集合(sets)是一个没有重复元素的容器。举个例子:
集合的4个操作:
- 增加元素:update()
- 删除元素:discard(),传入的参数是一个列表
- 查询元素:查询集合中是否存在“腾讯”这个元素
- 修改元素:第一步先删除元素;第二步再增加元素
(4)字典(Dictionary):可变类型
字典用花括号{},字典中储存的是键值对,key:value,反应的是映射关系。举个例子:
字典的4个常用操作:
- 增加元素:增加[005:王思聪]这个键值对
- 删除元素:del,删除[005:王思聪]这个键值对
- 查询元素
- 修改元素:直接对要修改的键值对重新赋值即可。例子:把第一个键值对的值修改为‘孙悟空’。
4、布尔类型:分为True和False,可变类型
5、空值 None:空值不是0。可变类型
二、条件判断
条件判断的边界条件分为2种:
条件判断的代码块格式:注意缩进
if 边界条件:
要做的事情1
else:
要做的事情2
多个条件判断:
if 边界条件1:
要做的事情1
elif 边界条件2:
要做的事情2
else:
要做的事情3
举2个例子:
三、循环:批量处理数据
常用的循环是for循环(也有while循环,不过能用for循环的就不要用while循环,因为for循环的处理效率更高)。
for循环的格式:
for i in 容器:
要做的事情
举个例子:
循环常常可以用在数据清洗上,举个例子:把所有的股票代码都统一成大写。
continue:跳出当前循环,继续下次循环
break:退出整个循环
四、函数
函数就像一个黑盒子,输入参数,使用函数功能加工后,再输出结果,可以用下图来形象的表示:
函数可以使用既有的,也可以自定义函数。自定义函数的格式如下:
def 函数名称(参数1,参数2):
函数体
return 输出
举个例子:
如何使用函数呢?依然举例说明
参数传入也可以这么写:
一般推荐第一种写法,这样参数很多时比较清晰。
说明2点:函数的参数可以是不可变类型,也可以是可变类型。
1、函数参数:不可变类型(字符串、元祖、数字)
如果函数参数是字符串、元祖、数字这3种不可更改的对象,参数传递时,相当于传递的是该数据类型的值(相当于复制),数据本身不会变。
2、函数参数:可变类型,除了以上3种,其他都是可变类型的
如果函数传入的数据类型是可变的类型,当函数内部修改该数据时,原始的数据也改变了。
3、变量的作用域
Python的作用域一共有2种:
全局作用域:定义在函数外的拥有全局作用域,全局变量可以在整个程序范围内访问。
局部作用域:定义在函数内部的变量拥有一个局部作用域,局部变量只能在其被声明的函数内部访问
五、模块和包
模块(.py文件):是一个 Python 文件,以 .py 结尾,模块能定义函数,类和变量,模块里也能包含可执行的代码。
包(文件夹):包就是将多个模块用文件夹的形式组织在一起。
导入包和模块使用import语句:
import 包名称 #导入整个包
import 包名称 as 别名 #导入整个包,使用别名
from 包名称 import 函数名 #导入包中的某个函数
*注意一点:python只能导入 .py文件,而notebook中存储的文件都是.ipynb,如果想把notebook中的文件导入,就必须另存为.py格式,再用import导入。
六、collections模块
collections是python中内置的一个集合模块,里边包含很多有用的数据结构。介绍几个常用的。
1、队列 queue
队列就像你去餐厅外婆家吃饭排队,新来的人在队列尾部加入,叫做入队。取完票的人从队列首部离开队列,叫做出队。
如何定义一个队列:先导入collections包
入队:在队尾添加元素 append()
出队:在队列头部删除元素 popleft()
2、栈 stack
栈这种数据结构有点像像生活中的木桶。你往栈中加入新的元素,就是入栈,新的元素总是放在木桶的最上面。出栈的也是从顶部开始出。
定义栈:
入栈:在顶部加入元素
出栈:在栈顶删除元素
3、排序字典 OrderedDict
python 默认的字典是无序的,collection中的排序字典是有序的。
定义有序字典:
4、计数器 Counter
定义一个计数器:
计数器的使用案例:有几个‘亮’这个元素
出现次数最多的5个元素:
以上知识点的梳理,算是自学的一个回顾,也方便以后复习使用。