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大基本数据类型的更多相关文章

  1. MS SQL大值数据类型varchar(max)、nvarchar(max)、varbinary(max)

    在MS SQL2005及以上的版本中,加入大值数据类型(varchar(max).nvarchar(max).varbinary(max) ).大值数据类型最多可以存储2^30-1个字节的数据. 这几 ...

  2. [转帖]Oracle数据库lob大对象数据类型字段总结,值得收藏

    Oracle数据库lob大对象数据类型字段总结,值得收藏 原创 波波说运维 2019-07-11 00:02:00 https://www.toutiao.com/i67108943269703357 ...

  3. Pyhon全栈之路----数据类型

    1.定义时不需要像C语言一样加 ' int ' , 'char ' 等,直接写即可,解释器会直接自动识别数据类型.例:  age = 22    (默认为数字类型)      name = 'Alex ...

  4. mysql大文本数据类型的使用需要考虑实际情况

    mysql数据类型简介(http://news.newhua.com/news1/program_database/2008/618/08618103911CD92HJ6CKI2I9I0AH5CGK1 ...

  5. 011、Java中将范围大的数据类型变为范围小的数据类型

    01.代码如下 package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  6. 使用 hibernate 存取大对象数据类型(clob和blob)

    数据库表如下: book表 id 该表的主键.number类型. photo 代表图书的图片,blob类型. description 图书的描述,clob类型. 使用 hibernate3 往 boo ...

  7. java8大基本数据类型

    基本类型 字节数 位数 最大值 最小值 byte 1byte 8bit 2^7 - 1 -2^7 short 2byte 16bit 2^15 - 1 -2^15 int 4byte 32bit 2^ ...

  8. timeval的时间转换成毫秒之后多大的数据类型可以装下

    struct timeval { long tv_sec; /*秒*/ long tv_usec; /*微秒*/ }; 秒的定义为long,为了防止溢出,转换成毫秒之后保存在long long中

  9. db2学习笔记--数据类型对表的影响

    创建表的时为列选择合适的数据类型,可以提高数据库性能. 1.选择合适的数据类型,避免出现数据类型转换.例如日期,有人使用字符串来存放日期.时间戳,最后我们还要在程序中使用to_date做数据类型转换, ...

随机推荐

  1. 使用微创联合M5S空气检测仪、树莓派3b+、prometheus、grafana实现空气质量持续监控告警WEB可视化

    1.简介 使用微创联合M5S空气检测仪.树莓派3b+.prometheus.grafana实现空气质量持续监控告警WEB可视化 grafana dashboard效果: 2.背景 2.1 需求: 1. ...

  2. Java学习的第十七天

    1.静态变量 静态方法 静态代码块 2.今天没问题 3.明天学习abstract和综合实例

  3. DevOps 视角的前后端分离与实战

    本文作者:CODING - 廖红坤 前言 随着微前端.微服务等技术理念和架构的蓬勃发展,我们已经没必要去讨论为什么要前后端分离这种话题,前后端分离已成为互联网项目开发的标准模式.前后端在各自的领域发展 ...

  4. .netcore跨域设置

    跨域 广义上讲,跨域是指一个域下的文档或者脚本试图去请求访问另一个域下的资源(像我们直接通过代码使用http请求资源,或者是使用辅助工具(例如postman)是可以直接访问的,没有跨域的概念):而我们 ...

  5. GAMES101系列笔记一 图形学概述与线性代数入门

    概述+线性代数 为什么学习图形学? Computer Graphics is AWESOME! 主要涉及内容: 光栅化 曲线和网格 光线追踪 动画与模拟 Differences between CG ...

  6. VirtualBox 6 安装 CentOS 7

    1 安装环境 windows7 Oracle VM VirtualBox 6.0.24 CentOS 7 2 VirtualBox 6 - 虚拟机软件 2.1 下载 Oracle VM Virtual ...

  7. ssh连接缓慢的问题分析

    之前遇到ssh连接缓慢的问题 一般会检查Server端 /etc/ssh/sshd_config配置文件的两个地方 1.设置UseDNS no 因为我们ssh连接服务器的话 如果UseDNS选项是打开 ...

  8. 内网渗透 day11-免杀框架

    免杀框架 目录 1. venom框架 2. shelltel框架 3. backdoor factory(BDP) 1. venom框架 cd venom进入venom文件夹中./venom.sh进入 ...

  9. 【】JSON和JSONP

    http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html http://www.cnblogs.com/do ...

  10. 【转】Lisp的本质

    Lisp的本质: http://www.csdn.net/article/2012-11-22/2812113-The-Nature-Of-Lisp###