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做数据类型转换, ...
随机推荐
- JQuery如何实现统计图表
EEP JQuery如何实现统计图表 讯光科技 前言 在ERP项目开发过程中,统计图表(chart)普遍应用于各种统计和报表中,其形象直观,内容清晰.EEP的JQuery网站项目使用了Easyui 插 ...
- 联考day7 C. 树和森林 树形DP
题目描述 样例 样例输入 8 5 BBWWWBBW 1 2 2 3 4 5 6 7 7 8 样例输出 84 2 1 4 样例解释 分析 首先,我们要预处理出一个点到该联通块内所有点的距离之和 \(f\ ...
- django配置跨域并开发测试接口
1.创建一个测试项目 1.1 创建项目和APP django-admin startproject BookManage # 创建项目 python manage.py startapp books ...
- 《Clojure编程》笔记 第16章 Clojure与web
目录 背景简述 第16章 Clojure与web 16.1 术语 16.2 Clojure栈 16.3 基石:Ring 16.3.1 请求与应答 16.3.2 适配函数 16.3.3 处理函数 16. ...
- Socket创建简单服务器和客户端程序
使用Socket编程创建简单服务器和客户端 要知道的 Socket-AddressFamily, SocketType, ProtocolType https://blog.csdn.net/weix ...
- 面试重灾区——JVM内存结构和GC
JVM介绍 1. JVM的体系架构(内存模型) 绿色的为线程私有,橘色的为线程共有 2. 类加载器 负责将.class文件加载到内存中,并且将该文件中的数据结构转换为方法区中的数据结构,生成一个Cla ...
- python动态规划
动态规划: 动态规划表面上很难,其实存在很简单的套路:当求解的问题满足以下两个条件时, 就应该使用动态规划: 主问题的答案 包含了 可分解的子问题答案 (也就是说,问题可以被递归的思想求 ...
- Linux 下 GCC 的使用
0 运行环境 本机系统:Windows 7 虚拟机软件:Oracle VM VirtualBox 6 虚拟机系统:CentOS 7 1 GCC 简介 GCC 是 GUN Compiler Collec ...
- AI时代,还不了解大数据?
如果要问最近几年,IT行业哪个技术方向最火?一定属于ABC,即AI + Big Data + Cloud,也就是人工智能.大数据和云计算. 这几年,随着互联网大潮走向低谷,同时传统企业纷纷进行数字化转 ...
- 1-03 Java的基本程序设计结构
1-03 Java的基本程序设计结构 3.1 & 3.2 在一个单词中间使用大写字母的方式称为骆驼命名法.以其自身为例,应该写成CamelCase). 与C/C++一样,关键字void表示这个 ...