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. Linux开机启动顺序启动顺序及配置开机启动

    Linux:开机启动顺序启动顺序及配置开机启动 开机启动顺序 1.加载内核 2.启动 init(/etc/inittab) pid=1 3.系统初始化 /etc/rc.d/rc.sysinit 4.运 ...

  2. 视频直播源码开发中的流媒体协议:rtmp协议

    一.概念与摘要 视频直播源码的RTMP协议从属于应用层,被设计用来在适合的传输协议(如TCP)上复用和打包多媒体传输流(如音频.视频和互动内容).RTMP提供了一套全双工的可靠的多路复用消息服务,类似 ...

  3. js 元素添加多个监听

    function addListener(element,e,fn){     if(element.addEventListener){         element.addEventListen ...

  4. python的数据处理一

    def load_data(filename): features = [] labels = [] f = open(filename, encoding='utf-8') medical = js ...

  5. python数据分析02语法基础

    在我来看,没有必要为了数据分析而去精通Python.我鼓励你使用IPython shell和Jupyter试验示例代码,并学习不同类型.函数和方法的文档.虽然我已尽力让本书内容循序渐进,但读者偶尔仍会 ...

  6. yum针对软件包操作的常用命令

    yum针对软件包操作的常用命令: 1.使用YUM查找软件包 命令:yum search php 2.列出所有可安装的软件包 命令:yum list php 3.列出所有可更新的软件包 命令:yum l ...

  7. ClassNotFoundException: java.util.ArrayList$SubList 错误

    ClassNotFoundException: java.util.ArrayList$SubListjava.lang.RuntimeException: java.lang.ClassNotFou ...

  8. 经典c程序100例==91--100

    [程序91] 题目:时间函数举例1 1.程序分析: 2.程序源代码: #include "stdio.h" #include "time.h" void mai ...

  9. C++的四种强制转型形式:

    C++同时提供了四种新的强制转型形式(通常称为新风格的或C++风格的强制转型): const_cast(expression)dynamic_cast(expression)reinterpret_c ...

  10. 关于多线程--网络编程 -- 注解反射的一点笔记(JAVA篇)

    一 . 线程 java开启一个线程的方法(三种) 方法一:继承Thread类并New一个线程对象 步骤: 1):定义一个类A继承于Java.lang.Thread类. class TestThread ...