1、数据类型介绍

(1)什么是数据类型

在生活中,我们日常使用的数据有大有小,有整数也有小数,同时也会使用字母或者汉字表示特定含义。而在每种编程语言里都会有一个叫数据类型的名词,数据类型就是对常用的各种数据格式进行了明确的划分,以应对不同的业务需求,并在使用时按经验将不同的变量定义不同的类型的数据。

(2)Python3中有七个标准的数据类型

  • 数值型(Number
  • 布尔型(Bool
  • 字符串(String
  • 集合(Set
  • 列表(List
  • 元组(Tuple
  • 字典(Dict

如下图所示:

(3)Python3中标准数据类型又可分为两大类

  • 不可变数据类型(4个):当该数据类型对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型。

    • Number(数值)
    • Bool(布尔值)
    • String(字符串)
    • Tuple(元组)
  • 可变数据(3 个):当该数据类型对应变量的值发生了改变,那么它对应的内存地址不发生改变,对于这种数据类型,就称可变数据类型。
    • List(列表)
    • Dictionary(字典)
    • Set(集合)

总结:不可变数据类型更改后,地址发生改变;可变数据类型的更改,地址不发生改变。

提示:本篇文章我们主要介绍不可变数据类型中的数值布尔值、字符串。其他的数据类型,之后逐个单独说明。

2、数值型(Number)

数字型(Number)是不可改变的数据类型,如果改变了数值型变量的值,将重新分配内存空间,让变量重新引用一个新的对象。(这点和 Java 的字符串差不多)

(1)Python 支持三种不同的数值类型

  • 整型(int):通常被称为是整型或整数,正负数都可以。

    Python3 整型是没有大小限制的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。

    如果数字的长度过大,可以使用下划线作为分隔符。

    10进制的数字不能以0开头。
  • 浮点型(float):浮点型由整数部分与小数部分组成(就是小数)。

    浮点类型不精确存储。

    浮点型可以支持科学计数法表示。
  • 复数(complex):复数由实数部分和虚数部分构成,具体以后在说明。

(2)示例

# 1、定义int类型数据
a = 10
b = -20 # 2、Python3整型是没有大小限制的
# 输出结果不会报错
# 结果:999999999999999999999999
c = 999999999999999999999999
print(c) # 3、如果数字的长度过大,可以使用下划线作为分隔符
# 输出结果为123456789
d = 123_456_789
print(d) """
4、10进制的数字不能以0开头
如下面e会报错:
SyntaxError: invalid token(语法错误)。
"""
e = 0123
print(e) '''
5、其他进制的整数定义
只要是数字打印时一定是以十进制的形式显示的。
'''
# 二进制 0b开头
f = 0b10 # 二进制的10
# 八进制 0o开头
g = 0o10
# 十六进制 0x开头
h = 0x10 # 6、也可以通过运算符来对数字进行运算,
# 并且可以保证整数运算的精确
i = -100
i = i + 3 # 7、浮点数(小数),在Python中所有的小数都是float类型
j = 1.23
j = 4.56 # 8、对浮点数进行运算时,可能会得到一个不精确的结果
k = 0.1 + 0.2
print(k) # 0.30000000000000004

3、布尔型(bool)

  • 布尔值全称Boolean,在Python中使用bool简写表示布尔类型。一个布尔值只有TrueFalse两种值,要么是True表示真,要么是False表示假。
  • 布尔值主要用来做逻辑判断。
  • TrueFalse就是字面量(常量),不用加引号,注意首字母大写。

示例

# 1、定义布尔值(bool)变量
a = True
b = False
print('a =',a) # a = True
print('b =',b) # b = False # 2、布尔值实际上属于整型子类,
# True就相当于1,False就相当于0
print(1 + True) # 2
print(1 + False) # 1 # 3、可以通过布尔运算计算
c = 7 < 9
d = 7 > 8
print('c =',c) # c = True
print('d =',d) # d = False # 4、布尔值经常用在条件判断中
if age >= 18:
print('adult')
else:
print('teenager')

4、None(空值)

(1)None值的含义

空值是Python里一个特殊的值,用None表示没有值,不存在。None不能理解为0,因为0是有意义的,同理也不能理解成空字符串,而None是一个特殊的空值,(N必须大写)。

在Python中是没有Java中NULL值,但相近意义于Java中NULL值。

# None(空值)用来表示不存在
a = None
print(a)

(2)关于None的注意事项

  • None在 Python 解释器启动时自动创建, 解释器退出时销毁。
  • None和任何其他的数据类型比较永远返回False
    >>> None == 0
    False
    >>> None == ' '
    False
    >>> None == False
    False
    >>> None == None
    True
  • 上也证明了None与0、空列表、空字符串不一样。
  • None它属于 NoneType 类型,且NoneNoneType类型的唯一值。也就是说,我们不能再创建其它 NoneType 类型的变量。
  • 可以将None赋值给任何变量,也可以给None值变量赋值
  • None不支持任何运算也没有任何内建方法,如没有像lensize等属性,要判断一个变量是否为None,直接使用如下方式:
    a = None
    if a is None:
    print("hello python")
    pass
  • 对于所有没有 return 语句的函数定义,Python 都会在末尾加上 return None

None相对来说用的不多,主要是在对象中使用,我们知道表示不存在就可以。

5、常量

所谓常量就是值不能变的变量,比如常用的数学常数π就是一个常量。在Python中,一般通过约定俗成的变量名全大写的形式表示这是一个常量。

PI = 3.14159265359

但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,如果你一定要改变变量PI的值,也没人能拦住你。

6、字符串(String)

(1)字符串类型说明

  • 1、在Python中使用str简写表示字符串类型。
  • 2、字符串用来表示一段文本信息,字符串是程序中使用的最多的数据类型。
  • 3、字符串的内容几乎可以包含任何字符,英文字符也行,中文字符也行。
  • 4、在Python中字符串需要使用引号引起来,' '单引号和" "双引号都可以。
  • 5、python中字符串是不可变的,一旦声明,不能改变。(同数值型)

(2)示例

# 1、在Python中字符串需要使用引号引起来
# 单引号和双引号都可以。
a = 'hello'
b = "python" # s = 'hello" 引号不能混合使用
# 如果混合使用会报错,如下:
# SyntaxError: EOL while scanning string literal """
# 2、字符串变量必须使用引号引起来,不使用不是字符串
d = abc
Python解释器会认为abc是一个abc名称的变量,
在Python执行程序的时候,
如果之前没有定义过abc这个变量,
则会报出NameError错误。
""" """
# 3、相同的引号之间不能嵌套
也就是双引号里边不能在写双引号,单引号里边不能在单双引号。
e = "子曰:"学而时习之,乐呵乐呵!""
而不同的引号之间是可以进行嵌套的,如下:
"""
f = '子曰:"学而时习之,乐呵乐呵!"' """
# 4、单引号和双引号不能跨行使用,跨行必须使用\进行换行。
如下g的执行结果为:
锄禾日当午,汗滴禾下土,谁知盘中餐,粒粒皆辛苦。
在一行进行输出。
"""
g = '锄禾日当午,\
汗滴禾下土,\
谁知盘中餐,\
粒粒皆辛苦。' """
# 5、长字符串
使用一对三重引号来表示一个长字符串,如'''和\"\"\"。
三重引号内可以自动换行,并且会保留字符串中的格式。
如下g的执行结果为:
锄禾日当午,
汗滴禾下土,
谁知盘中餐,
粒粒皆辛苦。
"""
h = '''锄禾日当午,
汗滴禾下土,
谁知盘中餐,
粒粒皆辛苦。''' """
# 6、字符串的复制
就是将字符串和数字相乘,乘以几表示复制几次。
* 在Pyhton语言中表示乘法。
所以如果将字符串和数字相乘,则解释器会将字符串重复指定的次数并返回。
"""
# 输出结果:abc.abc.abc.abc.abc.abc.abc.abc.abc.abc.
a = 'abc.'
a = a * 10
print(a)

提示:以上就是Python中最基础的数据类型,一定要好好掌握。关于集合、列表、元组、字典这几个数据类型,后面会逐一单个的详解介绍。

『无为则无心』Python基础 — 8、Python中的数据类型(数值、布尔、字符串)的更多相关文章

  1. 『无为则无心』Python基础 — 3、搭建Python开发环境

    目录 1.Python开发环境介绍 2.Python解释器的分类 3.下载Python解释器 4.安装Python解释器 5.Python解释器验证 1.Python开发环境介绍 所谓"工欲 ...

  2. 『无为则无心』Python基础 — 4、Python代码常用调试工具

    目录 1.Python的交互模式 2.IDLE工具使用说明 3.Sublime3工具的安装与配置 (1)Sublime3的安装 (2)Sublime3的配置 4.使用Sublime编写并调试Pytho ...

  3. 『无为则无心』Python基础 — 6、Python的注释

    目录 1.注释的作用 2.注释的分类 单行注释 多行注释 3.注释的注意事项 4.什么时候需要使用注释 5.总结 提示:完成了前面的准备工作,之后的文章开始介绍Python的基本语法了. Python ...

  4. 『无为则无心』Python基础 — 7、Python的变量

    目录 1.变量的定义 2.Python变量说明 3.Python中定义变量 (1)定义语法 (2)标识符定义规则 (3)内置关键字 (4)标识符命名习惯 4.使用变量 1.变量的定义 程序中,数据都是 ...

  5. 『无为则无心』Python基础 — 10、Python字符串的格式化输出

    目录 1.什么是格式化输出 2.Python格式化输出的五种方式 方式一:字符串之间用+号拼接 方式二:print()函数可同时输出多个字符串 方式三:占位符方式 方式四:f格式化方式(推荐) 方式五 ...

  6. 『无为则无心』Python基础 — 12、Python运算符详细介绍

    目录 1.表达式介绍 2.运算符 (1)运算符的分类 (2)算数运算符 (3)赋值运算符 (4)复合赋值运算符 (5)比较运算符 3.逻辑运算符 拓展1:数字之间的逻辑运算 拓展2:Python中逻辑 ...

  7. 『无为则无心』Python基础 — 44、对文件和文件夹的操作

    目录 1.os模块介绍 2.查看os模块相关文档 3.os模块常用方法 (1)文件重命名 (2)删除文件 (3)创建文件夹 (4)删除文件夹 (5)获取当前目录 (6)改变默认目录 (7)获取目录列表 ...

  8. 『无为则无心』Python基础 — 61、Python中的迭代器

    目录 1.迭代的概念 2.迭代器的概念 3.可迭代的对象(Iterable) 4.迭代器对象(Iterator) 5.迭代器的使用体验 (1)基本用法 (2)实际应用 1.迭代的概念 (1)什么是迭代 ...

  9. 『无为则无心』Python序列 — 17、Python字符串操作常用API

    目录 1.字符串的查找 @1.find()方法 @2.index()方法 @3.rfind()和rindex()方法 @4.count()方法 2.字符串的修改 @1.replace()方法 @2.s ...

随机推荐

  1. 手写一个最简单的IOC容器,从而了解spring的核心原理

    从事开发工作多年,spring源码没有特意去看过.但是相关技术原理倒是背了不少,毕竟面试的那关还是得过啊! 正所谓面试造火箭,工作拧螺丝.下面实现一个最简单的ioc容器,供大家参考. 1.最终结果 2 ...

  2. MySQL查看及杀掉链接方法大全

    前言: 在数据库运维过程中,我们时常会关注数据库的链接情况,比如总共有多少链接.有多少活跃链接.有没有执行时间过长的链接等.数据库的各种异常也能通过链接情况间接反应出来,特别是数据库出现死锁或严重卡顿 ...

  3. C++基础——文件逐行读取与字符匹配

    技术背景 用惯了python,对其他语言就比较的生疏.但是python很多时候在性能上比较受局限,这里尝试通过C++来实现一个文件IO的功能,看看是否能够比python的表现更好一些.关于python ...

  4. select 语句的基础语法

    授权语法sql 一.用户的创建与使用 在管理员登录后可创建用户 --创建qfplan用户-create user qfplan identified by qfplan; --用户基本权限授权gran ...

  5. Git安装教程最新版本(国内gitee国外github)

    Git安装教程最新版本(国内gitee国外github) 欢迎关注博主公众号「Java大师」, 专注于分享Java领域干货文章, 关注回复「资源」, 获取大师使用的typora主题: http://w ...

  6. Linux下script命令录制、回放和共享终端操作script -t 2> timing.log -a output.session # 开始录制

    Linux下script命令录制.回放和共享终端操作 [日期:2018-09-04] 来源:cnblogs.com/f-ck-need-u  作者:骏马金龙 [字体:大 中 小]   另一篇终端会话共 ...

  7. Jira&Confluence服务器安装

    1.Mysql安装 参考https://confluence.atlassian.com/doc/database-setup-for-mysql-128747.html 创建相应的数据库 CREAT ...

  8. 【转载】java与xml

    原文地址:http://www.lai18.com/content/1198237.html java项目中,xml文件一般都是用来存储一些配置信息一般的编程, 多数用来存储配置信息 . 拿JDBC来 ...

  9. MongoDB(12)- 查询嵌入文档的数组

    插入测试数据 db.inventory.insertMany( [ { item: "journal", instock: [ { warehouse: "A" ...

  10. 为什么选择b+树作为存储引擎索引结构

    为什么选择b+树作为存储引擎索引结构 在数据库或者存储的世界里,存储引擎的角色一直处于核心位置.往简单了说,存储引擎主要负责数据如何读写.往复杂了说,怎么快速.高效的完成数据的读写,一直是存储引擎要解 ...