pyhon的6大基本数据类型
1.数字型(Number)
1.1 整型(int)
整型包括所有的正整数,负整数还有0。
在python中所有的整型数据全部默认采用十进制进行表示,但我们还可以手动表示其他进制的整型,具体表示如下:
# 表示十进制整型,不能使用0d来表示,python不支持这种写法
a = 100
# 表示二进制整型:
a = 0b100010
# 表示八进制整型:
a = 0o12333
# 表示十六进制整型:
a = 0x1010
1.2 浮点型(float)
浮点型包括所有的小数
在python中所有的浮点型有小数表示形式和科学计数法形式,具体表示如下:
# 小数形式表示浮点数
a = 1.214
# 科学计数法表示浮点数
a = 6.7e4 # 表示6.7*(10**4)
1.3 复数型(complex)
在python中所有的复数型也有两种表示方法,具体表示如下:
# 采用实数 + 虚数表示
a = 4+3j # 4表示实部,3j表示虚部,4表示实数,3表示虚数
# 使用complex表示
a = complex(56,-3) # 表示56-3j
2. 字符型(str)
用单引号或者三引号引起来的就是字符型,单引号引起来的字符型只能表示一行,而三引号引起来的可以表示多行,但在python字符型中存在一些特殊的有意义的字符,这些字符中含有转义字符,基本常用的有如下几个:
- \r 将后面的字符拉到当前行行首
- \n 换行
- \r\n 换行
- \ 转移\,使\变得无意义
为了解决在特殊的场景下防止转义字符进行转义,可以使用如下几种方法: - 元字符串,格式为r"字符串"
- 使用repr函数进行原型化输出,方法repr('字符串')
除了转义字符以外,字符型还有字符串格式化操作,比如我们在做一张明信片的时候需改设计一个模板,然后到时候只需要填入明信片信息就可以,因此只能通过字符串格式化的操作来进行操作,示例如下:
"""
首先介绍一下字符串格式化的基本占位符
%d:整型占位符
%f:浮点型占位符
%s:字符型占位符
基本语法:
'含有占位符的字符串' %(占位符1的内容,占位符2的内容...)
注意:在使用字符串格式化的时候,必须要保持占位符和填充内容的个数和数据类型一致,否则会发生报错
"""
name = '小明'
age = 18
phone = 13300000033
add = '山东省济南市某某区'
e_mail = '123456@qq.com'
hobby = '抓扫恼骚'
id_card = """
——————————————————————————————————————
个人明信片
姓名:%s
年龄:%d
电话:%d
家庭住址:%s
个人邮箱:%s
兴趣爱好:%s
——————————————————————————————————————
"""
print('id_card %(name, age, phone, add, e_mail, hobby)') # 打印输入的结果
'''
另外字符串具有不可修改,可获取,有序的特点,下面依次介绍字符串的每个特点
1. 可获取
在对字符串进行获取的时候可以使用索引或者切片
索引:在字符串中每一个字符都与一个数字想对应,而从左到右数字编号依次为0,1,2,3,4..,但在python中有一种特有的负数索引,从右到左数字编号依次为-1,-2,-3....
切片:索引只能够获取一个,但可以利用切片获取多个数据,语法为'字符串'[索引开始下标:索引结束下标:步长],具体看案例
```python
str1 = '0123456789'
# 获取4这个字符
str1[4] # 正序索引获取
str1[-6] # 反向索引获取
# 获取5以后的所有内容(包括5)
str1[5:] # 使用正向索引进行切片
str1[-5:] # 使用反向索引进行切片
# 获取5以前的所有内容(包括5)
str1[:6] # 明明上面利用下标5就能够获取到5这个字符,但为什么在这里要使用下标6呢?
str1[:-4]
# 获取所有的奇数
str1[1::2]
str1[-9::2]
# 获取15两个数字
str1[1:6:4]
str1[-9:-5:4]
# 获取所有数字
str1[:]
str1[0:]
str1[::]
在上面的案例中在获取5以前的所有内容包括5的时候,下标为什么使用6呢,答案就是在获取的时候在结束索引下标的值是取不到的
2. 不可修改
由于字符型是不可变的数据类型因此不可以进行修改,如
str1 = '124'
str1[-1] = 3 # 直接报错
3.有序
无论怎么获取字符串,顺序是不会打乱的,依次他是有序的
3. 列表(List)
用中括号括起来的元素就是列表,如[11,22,44,]
列表具有可修改,可获取,有序的特点
可修改
lt = [1,2,3,4,5]
lt[2] = 6
print(lt) # 结果[1,2,6,4,5]
4.元组
用小括号括起来的元素就是列表,如(11,22,44,),元组具有可获取,不可修改,无序的特点
元组一旦被定义就不能被修改,如果元组中只有一个元组,后面必须跟一个逗号,否则元素的数据类型就是原来的那一个元素的数据类型
# 判断下面的数据类型
(1,) # 元组
('s') # 字符串
([1,23,4,5]) # 列表
5. 集合(set)
只使用大括号括起来的就是集合,集合具有不可获取,无序,自动去重的特点
在定义一个空集合的时候,不能直接使用{},但是必须set()来定义一个空集合
6. 字典(dict)
只使用大括号括起来并且以键值对的形式存储的就是字典,比如{'k1':'v1','k2':'v2'},字典的特点是以键值对存储的数据,在python3.6之前,python中的字典是无序的,但是在python3.6之后,字典有序。
字典的键和集合中的值数据类型的要求是不可变数据,不能是可变类型
不可变数据主要有整型,字符型,元组,而可变的数据类型有列表,集合,字典
pyhon的6大基本数据类型的更多相关文章
- MS SQL大值数据类型varchar(max)、nvarchar(max)、varbinary(max)
在MS SQL2005及以上的版本中,加入大值数据类型(varchar(max).nvarchar(max).varbinary(max) ).大值数据类型最多可以存储2^30-1个字节的数据. 这几 ...
- [转帖]Oracle数据库lob大对象数据类型字段总结,值得收藏
Oracle数据库lob大对象数据类型字段总结,值得收藏 原创 波波说运维 2019-07-11 00:02:00 https://www.toutiao.com/i67108943269703357 ...
- Pyhon全栈之路----数据类型
1.定义时不需要像C语言一样加 ' int ' , 'char ' 等,直接写即可,解释器会直接自动识别数据类型.例: age = 22 (默认为数字类型) name = 'Alex ...
- mysql大文本数据类型的使用需要考虑实际情况
mysql数据类型简介(http://news.newhua.com/news1/program_database/2008/618/08618103911CD92HJ6CKI2I9I0AH5CGK1 ...
- 011、Java中将范围大的数据类型变为范围小的数据类型
01.代码如下 package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- 使用 hibernate 存取大对象数据类型(clob和blob)
数据库表如下: book表 id 该表的主键.number类型. photo 代表图书的图片,blob类型. description 图书的描述,clob类型. 使用 hibernate3 往 boo ...
- java8大基本数据类型
基本类型 字节数 位数 最大值 最小值 byte 1byte 8bit 2^7 - 1 -2^7 short 2byte 16bit 2^15 - 1 -2^15 int 4byte 32bit 2^ ...
- timeval的时间转换成毫秒之后多大的数据类型可以装下
struct timeval { long tv_sec; /*秒*/ long tv_usec; /*微秒*/ }; 秒的定义为long,为了防止溢出,转换成毫秒之后保存在long long中
- db2学习笔记--数据类型对表的影响
创建表的时为列选择合适的数据类型,可以提高数据库性能. 1.选择合适的数据类型,避免出现数据类型转换.例如日期,有人使用字符串来存放日期.时间戳,最后我们还要在程序中使用to_date做数据类型转换, ...
随机推荐
- Software Construction内容归纳
本篇博文是对于2020春季学期<软件构造>课程的总结归纳,由于原先编辑于word,格式不方便直接导入该博客,可以到本人github中进行自取. https://github.com/zqy ...
- java线程池拒绝策略使用实践
前言 线程池是开发过程中使用频率较高的一个并发组件之一,本篇会结合踩刀哥之前的实践经验来分享一下线程池拒绝策略的真实使用场景,至于线程池内部原理只会简单介绍,有需要的可以自行上网学习. 线程池工作机制 ...
- 对于RBAC与shiro的一些思考
一.什么是RBAC模型 RBAC模型是一个解决用户权限问题的设计思维. 在最简单的RBAC模型中,将用户表设计为如下几个表 1.用户 2.角色 3.权限 以及这三张表衍生出来的两张中间表 4.用户_角 ...
- 【Luogu】P1072 Hankson 的趣味题 题解
原题链接 嗯...通过标签我们易得知,这是一道数学题(废话) 其中,题目给了这两个条件: \(gcd(x,a_0)=a_1,lcm(x,b_0)=b_1\) 所以,根据 \(gcd\) 与 \(lcm ...
- C#5语法新特性
C# 5.NET Framework 4.5 Visual Studio 2012 C#5.0新引进的语法基于.Net Framework 4.5.主要引进的语法:异步与等待,调用方信息 其中最重要的 ...
- Java Spring Cloud服务间调用
A服务是用户服务,B服务某个需求需要用户信息,而B服务无法连接用户的数据库(分库),需要让A服务查询用户信息. 在B服务写一个接口去调用A服务的某个请求 /** * 访问A服务 */ @FeignCl ...
- 手写Koa.js源码
用Node.js写一个web服务器,我前面已经写过两篇文章了: 第一篇是不使用任何框架也能搭建一个web服务器,主要是熟悉Node.js原生API的使用:使用Node.js原生API写一个web服务器 ...
- C++函数四( 具有默认参数值的函数)
在C++语言中,可以设置函数形参的默认值,在调用函数时,若明确给出了实参的值,则使用相应实参的值;若没有给出相应实参的值,则使用默认的值.这将为函数调用带来方便和灵活. [示例] #include&l ...
- JS生成限定整数区间范围内的随机整数
对于整数区间获取随机整数: m,n均为整数,且n>m. 获取[m,n)区间内的随机整数: 1 var aNumber = (n - m) * Math.random() + m; 2 var r ...
- [MIT6.006] 13. Breadth-First Search (BFS) 广度优先搜索
一.图 在正式进入广度优先搜索的学习前,先了解下图: 图分为有向图和无向图,由点vertices和边edges构成.图有很多应用,例如:网页爬取,社交网络,网络传播,垃圾回收,模型检查,数学推断检查和 ...