python基础之数值类型与序列类型
Hello大家好,我是python学习者小杨同学,已经学习python有一段时间,今天将之前学习过的内容整理一番,在这与大家分享与交流,现在开始我们的python基础知识之旅吧。
数值类型与序列类型
变量
在讲类型之前首先说说python的变量,变量是存储数据的容器,我们在python中的操作都是围绕变量来进行的。
例如:
a = 0
这里呢,定义了一个变量a ,并把0赋值给a,读作把0赋值给a
我们也可以一次性创建多个变量,并且进行多个赋值
例如:
a, b = 1, 2
这样的效果与以下写法相同
a = 1
b = 2
如果我们使用第二种写法,那么在交换变量的时候就需要创建一个新的变量来存储数值,然后再对原有变量进行交换:
a = 1
b = 2
c = a
a = b
b = c
这样就完成了一个简单的变量交换啦,但这样显得有些麻烦,我们也可以使用第一种方法来对变量进行交换,使代码更加优雅:
a,b = 1,2
a,b = 2,1
这样我们就将两个变量的值交换了过来,且少写了几句代码。
整数类型与浮点类型
a = 1
上面的代码中,我们把整数1赋值给了a,显而易见的这是一个整数类型,在python中如果如果我们想要查看一个变量是什么类型时,我们可以使用type()的方法来进行查看:
a = 1
print(type(a))
print()方法可以将结果打印到控制台中,print(type(a))就会将变量a的类型打印到控制台上:
<class 'int'>
int就是整数类型
而浮点类型讲的就是小数啦,我们也可以用同样的方法来进行查看类型:
b = 1.2
print(type(b))
<class 'float'>
通过type(b)我们得到的结果<class 'float'>,float就是浮点类型
但是浮点类型在计算中会出现精度不足的情况:
a = 1.2
b = 1.1
print(a - b)
0.09999999999999987
得出来的结果带着很长的小数,而不是0.1,那么有什么方法可以解决这样的问题呢?
这里可以用decimal模块来得到高精度的小数
import decimal
a = decimal.Decimal("1.2")
b = decimal.Decimal("1.1")
print(a - b)
0.1
这样我们就可以对小数进行高精度的运算,但是这样在性能上会有一定的损失,如果在于需要数据精确度较高的使用场景(财务结算),则损失的性能带来精度提升是值得的。
布尔类型
bool类型用两个关键字True False ,不能进行运算,只能用来判断
a = True
print(type(a))
<class 'bool'>
但是,我们在使用中可以使用不同的方法来判断条件,比如用0和1来判断False和True
或者是否为空来进行判断,这样可以提升代码运行速度
例如:
a = 0
print(bool(a))
False
上述使用0来进行布尔值的判断,返回的是False,如果a = 1,则返回True
字符串类型
str是python中的字符串类型,定义方式:
a = '123'
b = "123"
c = """123"""
上述三种写法均可以将变量定义成字符串,区别在于三个引号的方式可以使用回车换行,二前两种则不可以换行,前两种方式在pycharm中使用回车换行会补齐一个\,表示这行代码未执行完。
a = 'hello ' \
' world'
三个引号:
e = """
asdsf
asdasd
fasfs
"""
print(e)
#可以将一段很长的字符串换行写,且打印出来的结果也是
asdsf
asdasd
fasfs
列表类型
list是python中的列表类型,是一种有序的集合,可以随时在列表中添加和删除元素
定义方式:
list = [1,2,3,4,5,6]
print(list)
[1, 2, 3, 4, 5, 6]
这里定义了变量list,并在list中添加了6个元素,打印结果时将列表中的元素都打印出来
定义方式2:
a = "hello python"
li1 = list(a)
print(li1)
['h', 'e', 'l', 'l', 'o', ' ', 'p', 'y', 't', 'h', 'o', 'n']
我们也可以先定义一个字符串,再用list()的方法将字符串转换成列表,但是这样子打印出来的结果就会将字符串的每个字符都当成一个列表元素
当然我们也可以在列表中嵌套列表,列表中使用变量做为元素:
a = 'hello python'
li = [1, 2, 3, 5, 'hello', a, [5, 6, 7, 8]]
print("这是一个列表", li, type(li))
这是一个列表 [1, 2, 3, 5, 'hello', 'hello python', [5, 6, 7, 8]] <class 'list'>
元组类型
tuple是python中的元组类型,与列表相似,可以在元组中加入多个元素:
a = (1, 2, 3, 4, 5, 6)
print(type(a),a)
<class 'tuple'> (1, 2, 3, 4, 5, 6)
这就是一个简单的元组了
注意,元组中如果只有一个元素,必须在元素后面加上一个逗号,否则会被做为元素的对应类型,比如是整数就是int:
ccc = (1)
print(type(ccc))
<class 'int'>
正确方式:
ccc = (1,)
print(type(ccc))
<class 'tuple'>
元组也可以像列表一样嵌套元组,使用变量做为元素,感兴趣的小伙伴可以自己尝试
索引
有序序列中的元素都有隐藏的序号,因此可以用数字进行索引,计算机中默认0为第一个
a = ['p', 'r', 'o', 'b', 'e']
print("这是列表中第一个元素", a[0]) # 表示取 列表a中的第一个元素
这是列表中第一个元素 p
反向索引,如果需要将列表的值反向索引,可以使用负数来进行,反向索引中第一个元素的序号为-1
a = ['p', 'r', 'o', 'b', 'e']
print("这个是反向索引的-3元素", a[-1])
这个是反向索引的-1元素 e
切片
切片是对有序序列的高级索引方法,普通索引只能取出某个下标的元素,而切片可以取一个范围的对应元素
切片过程:开始索引,结束索引,步长
a = ['p', 'r', 'o', 'b', 'e']
print(a[0:4:1]) # 左闭又开,步长为1时,从0-4进行索引,每次向前取值一个元素,但不包含4
['p', 'r', 'o', 'b']
这里的开始索引和结束索引也可以不写,直接a[::1]这样会取到整个列表的元素
类型转换
python的类型之间可以进行互相转换
int() # 将其他类型转换成整数
float() # 将其他类型转换成浮点数
list() # 将其他类型转换成列表
tuple() # 将其他类型转换成元组
str() # 将其他类型转换成字符串
# 注:不建议将元组和列表转换成字符串
其实在列表中已经有涉及到将字符串转换成列表的例子了
我这里再举个栗子:
a = [1,2,3,4,5,6]
b = tuple(a)
print(b)
(1, 2, 3, 4, 5, 6)
这个栗子中我们就将一个列表转换成了元组,其他方法小伙伴们可以自行尝试(滑稽)
总结
代码看着不多,但篇幅还是挺长的,以上就是python中关于数值类型和序列类型的介绍了,谢谢各位观看,受于水平限制,如果有理解错误的地方,还请多多包涵。
python基础之数值类型与序列类型的更多相关文章
- 2015/9/4 Python基础(8):映射和集合类型
Python里唯一的映射类型是字典.映射类型对象里,hash值(key)和指向的对象(值)是一对多的关系.字典对象是可变的,这一点上很像列表,它也可以存储任意个数任意类型的Python对象,其中包括容 ...
- python基础--数值类型和序列类型
Python中数值类型:int(整数),float(浮点数),True/False(布尔值,首字母必须大写) int:1 #任意整数 float:2.3 #小数 python赋值: a = ...
- python数值类型与序列类型
基本运算符 / 浮点除法 //整除 x**y x的y次方 python中严格区分大小写 type(xx)/内置函数,查看变量xx的类型 id(xx)/内置函数,查看变量xx的内存地址 //----- ...
- python基础知识01-数据类型和序列类型
%,取余 //,取整,向下取整,5//2 = 2. 一.变量类型 1.变量名不能以数字开头,不能纯数字,不要用汉字,可以用下划线开头 2.数值类型(int,float,bool,complex) ...
- Python数值类型和序列类型
int.float.bool这三个数值类型和常用序列类型的定义和使用 数值类型的基本计算 序列类型的索引取值.切片.成员运算等序列类型的通用操作 complex(复数).decimal(定点数).ma ...
- Python基础:数值(布尔型、整型、长整型、浮点型、复数)
一.概述 Python中的 数值类型(Numeric Types)共有5种:布尔型(bool).整型(int).长整型(long).浮点型(float)和复数(complex). 数值类型支持的主要操 ...
- 1.8 Python基础知识 - 数值类型
一.int类型(任意精度整数) 整型类型(int)是表示整数的数据类型.与其他计算机语言有精度限制不同,Python的整数位数可以为任意长度位数(只受限制于计算机内存) 数字字符串即整型常量. pyt ...
- python基础语法_python中的布尔类型详解
转自:http://www.cnblogs.com/521yywzyzhc/p/6264885.html 我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是 ...
- Python基础(4)_集合、布尔类型
一.集合 集合的作用一:关系运算集合的作用二:去重 定义集合:集合内的元素必须是唯一的:集合内的元素必须是可hash的,也是就不可变类型:集合是无序的 s={'egon',123,'egon','1' ...
随机推荐
- js复制标题和链接
问题 常常在写博客和作业时候,需要附上参考链接. 希望可以一键得到标题和链接. 解决方案 普通元素 可以使用findid然后复制 但是标题无法使用 <!DOCTYPE html> < ...
- Windows 下如何查看文件夹被哪个进程所占用
- 不难懂-----git一套流程
001.初始化仓库,创建git仓库 git init 002.配置个人信息 git config --global user.name <名字> --------->:配置用户名 g ...
- linux中yum本地私有仓库安装搭建《全面解析》
目录 一:yum本地仓库安装 1.yum简介 2.yum安装解析 二:yum安装的生命周期 三:yum私有仓库作用与必要性 四:搭建yum私有仓库 本地版本 1.下载必须的软件包 2.创建软件仓库(就 ...
- Python 调用 Shell
- [HZOI] 山海经 题解
0.题目大意 给出一个序列,每次查询一个区间的最大子段和的端点和值.序列长度 \(n \le 10^{5}\) . 1.思路 显然应该使用线段树.题目要求每次求一个区间的最大子段和,那么在线段树节点中 ...
- 一些求和式的估算 & 杜教筛时间复杂度证明
本文内容概要: \(A=\sum\limits_{i=1}^n\dfrac1{\sqrt i}=1+\dfrac1{\sqrt2}+\cdots+\dfrac1{\sqrt n}\) \(O(\sqr ...
- nested exception is java.lang.NoClassDefFoundError: org/fusesource/hawtbuf/UTF8Buffer
前言:IDE管理maven项目,总是遇到各种莫名奇妙的问题,有的是导入了依赖,IDE确报包未找到,有的是IDE显示找到,但是控制台确报未找到,有以下几种方法可以解决 第一:确认自己导入的依赖是否有问题 ...
- MSTP多生成树协议
MSTP多生成树协议 目录 MSTP多生成树协议 1.MSTP(Multiple Spanning Tree Protocol)概述 2.STP.RSTP.PVST的应用缺陷 3.MSTP的主要特点 ...
- JS IndexOf移除符合规则的一项
RemoveItem: function (val) { var index = selectedUsers.indexOf(val); if (index > -1) { selectedUs ...