写在前面
这节内容是python基础知识中的数据类型和运算符,可以回顾一下前两篇文章来复习一下:
利用Excel学习Python:变量
利用Excel学习Python:准备篇
本来想分开写的,但发现好像分不开,所幸内容也不多,废话不多说,直接正文怼上来。Excel中有3种基本的数据类型:数值型、字符型和逻辑型,在python中也不例外,我们可以一一对应来看。
1.数值型
先来想一下Excel中的数值类型的数据是什么样的,数字、百分数、分数、小数、货币、科学计数、日期和时间这些单元格格式都是数值型的数据,只是展示的形式不一样,并且他们都有一个共同的特点,在单元格的显示中靠右对齐,这里划重点,因为字符型数据是靠左对齐的,用来加以区分。
image在python中,数值型用于存储数字变量,比如整数和小数。
整型
数值为整数的变量类型(int),用于存储整数变量,如10,可以用Type()函数查看具体的数值类型,如type(20) 输出int,就可以知道20是整型。
In [1]: # 整型
type(20)
Out[1]:int
浮点型
数值为小数的变量类型(float),如3.5,输出float,说明5.5是一个浮点型数据。
In [2]: # 浮点型
type(5.5)
Out[2]:float
数值型数据的计算
整数和浮点数都可以进行算术运算和比较运算,在说运算前,要先来认识运算符。
算术运算符
下面的表详细描述了该运算符的符号、用法、结果,以及在python和Excel中各自的输入形式。
In [3]:# 算术运算符
x = 5
y = 10
print("加:x+y=",x+y)
print("减:x-y=",x-y)
print("乘:x*y=",x*y)
print("除:x/y=",x/y)
print("取余:x%y=",x%y)
print("取整:x//y=",x//y)
print("x的y次幂:x**y=",x**y)
Out[3]:加:x+y= 15
减:x-y= -5
乘:x*y= 50
除:x/y= 0.5
取余:x%y= 5
取整:x//y= 0
x的y次幂:x**y= 9765625
对比Excel:和Excel对比起来其实都差不多,需要注意一点的是取余相当于Excel里的mod函数,取整可以用Excel里的int函数。
|| 这里还要说一个小坑,可乐以前电脑上装的是python2.7,在做除法(/)计算的时候,得到的结果只能取整,得不到后面小数的部分,现在都是python3.X的版本没有这种问题,但假如你和可乐一样恰好是以前装的2.7版本,要怎么解决这个问题呢?答案也很简单,做一个类型转换,将除数或者被除数转换成浮点型即可,所以说,还是用最新版本的吧,没毛病。
# python 2.7
In [4]:2/5
Out[4]:0
---------------------
# 解决方法
In [5]:float(2)/5
Out[5]:0.25
比较运算符
比较运算符又叫关系运算符,用来进行大于、小于、等于等比较的,表中的结果一列TRUE/FALSE是逻辑值,是本文后面将要介绍的第三种数据类型。
In[6]: # 关系运算符
x = 5
y = 10
print("大于:x>y = ",x>y)
print("小于:x<y = ",x<y)
print("等于:x==y = ",x==y)
print("大于等于:x>=y = ",x>=y)
print("小于等于:x<=y = ",x<=y)
print("不等于:x!=y = ",x!=y)
Out[6]:大于:x>y = False
小于:x<y = True
等于:x==y = False
大于等于:x>=y = False
小于等于:x<=y = True
不等于:x!=y = True
对比Excel:不等于在python中是!=表示,在excel中是<>表示。
2.字符型
字符型的数据在Excel中就是文本格式的数据,不能进行加减乘除这样的四则运算,前面说过它是靠左对齐。
imagePython中字符类型的变量用于存储字符串,也就是一系列字符,python中用单引号、双引号或三引号括起来的内容表示字符串。
In [7]:# 字符串
type("student")
Out[7]:str
字符串的运算
字符串虽然不能进行加减乘除这样的四则运算,但可以做其他的一系列的运算,如:
连接
- 号可以将两个或多个字符串连接起来
In [8]:# 字符串连接
"data"+"cola"
Out[8]:'datacola'
复制
- 号可以将字符串复制,* 后的数字表示复制多少次
In [9]:# 字符串复制
"data_cola"*2
Out[9]:'data_coladata_cola'
删除
删除指的是删除字符串中的字符,用到strip()函数,可以删除指定字符
In [10]:# 字符串删除
"Ddata_cola".strip("D") #删除D字符
Out[10]:'data_cola'
也可以删除末尾的空格:
In [11]:# 删除空格
"data_cola ".strip()
Out[11]:'data_cola'
查找
一个字符串是否包含另一个字符串,可以用in运算符,返回的结果是逻辑值True/False
In [12]:# 字符串查找
"a" in "data_cola"
Out[12]:True
除了in,还可以用find()函数来查找,与in不同的是,查找的结果是字符在字符串中的位置,如下第一个出现的a在data_cola中是第二个位置,因此输出1,这个后面马上写到。
In [13]:# 字符串查找
"data_cola".find("a")
Out[13]:1
字符串索引
通过对字符串中字符所处位置的选取,得到该值。Python中的索引是从0开始递增,这是正向索引,还有反向索引,是从字符串的最后一位为-1开始递减。已知字符的位置,想要得到该字符的值,用[]括起来,如下对python字符赋值给a,取该字符第一个位置的值,用a[0]表示。
In [14]:# 字符串索引:获取第一个字符的值
a = "python"
a[0]
Out[14]:'p'
In [15]:# 字符串索引:获取最后一个字符的值
a[-1]
Out[15]:n
【切片】是python中常用的操作,对字符串切片用来获取字符串的一部分字符,下面的[0:2]指的是获取第1到3位的值,不包括第三位
In [16]:# 获取1-3位的值,不包括第三位(左闭右开)
a[0:2]
Out[16]:'py'
[:4],指取第一位到第5位之间的值,不包括第五位
In [17]:a[:4]
Out[17]:'pyth'
[3:],指取第4位开始到最后的值
In [18]:a[3:]
Out[18]:'hon'
可选地,还有大小写转换
首字母大写title()函数
In [19]:# 首字母大写
"data_cola".title(
Out[19]:'Data_cola'
所有字母大写,upper()函数
In [20]:# 所有字母大写
"data_cola".upper()
Out[20]:'DATA_COLA'
所有字母小写,lower()函数
In [21]:# 所有字母小写
"DATA_COLA".lower()
Out[21]:'data_cola'
3.逻辑型
逻辑型数据实际上就是TRUE / FALSE这两种值,在Excel中E1单元格输入公式“=3>5”,会显示FALSE,这很容易理解,因为3>5在逻辑上是假的。
image在Excel里直接这样用很少,通常是和if函数结合起来进行逻辑判断,再对结果进行展示。
imagePython中,也是这样显示的。
IN [22]:1>2
Out[22]:False
逻辑值的运算
逻辑值可以用逻辑运算符进行运算。
imageIn [23]:# 逻辑运算符
x = 5
y = 10
print("and: x and y:",x and y)
print("or: x or y:",x or y)
print("not: not x:",not x)
Out[23]:and: x and y: 10
or: x or y: 5
not: not x: False
4.类型转换
这里主要是数字和字符串之间的转化
Int(a),把变量a转化成整型
In [24]:# 浮点型转整型
int(3.3)
Out[24]:3
Str(b),把变量b转换成字符型
In [25]:# 整型转字符型
type(str(13555556555))
Out[25]:str
以上是3种基本的运算符,专讲python的教程里还会有位运算符、赋值运算符、成员运算符等,我们这个笔记里就不说了先,后续用到再补充。
@文章属原创,转载请联系作者
@作者:可乐,数据分析从业者
@微信公众号:可乐的数据分析之路
@ 可乐的数据分析交流群也已建立,加作者微信(data_cola),备注进群,拉你入群交流探讨
二维码.jpg
网友评论