Python 基本数据类型介绍

 数据是业务的核心,任何编程语言都要支持各种数据类型。我们一起来学习一下 Python 支持的数据类型

Python 内置了 numeric、string 和 Boolean 等基本数据类型,同时也提供了诸多内置的 函数(functions)供我们调用。


【整数】

Python 3 中,你可以定义任一长度的整数,语言层面并不限制整数的长度的。实际操作中,整数的长度受限于机器物理内存的大小。

当然,任何数据类型都会受到物理内存大小的限制。

理论上,你可以随心定义任何长度的整数:

>>> print(123123123123123123123123123123123123123123123123 + 1)123123123123123123123123123123123123123123123124

对于十进制整数,你不需要添加任何前置标识:

>>> print(2021)2021

如果想要定义其他进制的整数,你需要在数字前边添加不同的前置符:

前置符 含义 进制基数
0b 二进制 2
0o 八进制 8
0x 十六进制 16
不同进制整数举例如下:
>>> print(0b1011)11>>> print(0o1011)521>>> print(0x1011)4113
在 Python 底层,整数是通过一个名为 int 的类来实现的。这个类和整数的基数无关。
>>> type(1011)<class 'int'>>>> type(0b1011)<class 'int'>>>> type(0o1011)<class 'int'>>>> type(0x1011)<class 'int'>

【浮点数】

float 是 Python 中实现浮点类型数字的数据类型。

float 类型的数值通过小数点(.)来指定。也可以在数值后边追加字符 E(或 e)来使用科学计数法表示一个浮点数。

>>> 4.24.2>>> type(4.2)<class 'float'>>>> 4.4.0>>> .20.2>>>>>>>>> .4e74000000.0>>> type(.4e7)<class 'float'>>>> 4.2e-40.00042

几乎所有的平台都是以 64 位双精度的方式来表示一个 Python 浮点数。

因此,最大的浮点数接近于 1.8*10308。超过此值的浮点数将被表示为 inf:

>>> 1.79e3081.79e+308>>> 1.8e308inf

最接近 0 的非 0 数的值为 5.0*10-324。任何接近于此值的数字都被解释为 0:

>>> 5e-3245e-324>>> 1e-3240.0

浮点数在内部是以二进制小数来表示的,大多数十进制小数无法通过二进制的方式来精确表达。所以,多数情况下,浮点数的内部表示和真实值之间是存在细微差距的,这个“细微”可以忽略不计。


【复数】

Python 原生支持复数。

复数以 <实部>+<虚部>j 的方式来指定。

>>> 2+3j(2+3j)>>> type(2+3j)<class 'complex'>

【字符串】

字符串是指一个包含字符数据的序列。Python 底层以 str 类来表示字符串。

我们可以使用成对的单引号或双引号来表示字符串常量。

>>> 'hello world''hello world'>>> type('hello world')<class 'str'>>>>>>> "hello world"'hello world'>>> type("hello world")<class 'str'>

字符串可以包含任意多个字符,也可以为不包含任何字符的空字符串。

>>> ''''

如果你想在字符串中包含引号字符,最简单的方法是:在一种引号对中包含另一种引号字符:

>>> 'this string contains a double quote(") character''this string contains a double quote(") character'>>> "this string contains a single quote(') character""this string contains a single quote(') character"

你还可以通过转义字符(\)来实现这个目的。

>>> 'this string contains a single quote(\') character'"this string contains a single quote(') character"

Python 中使用斜杠(\)来实现对特定字符的转义。

转义,即:使字符失去原来的含义。可以从两方面来理解:

1,去掉字符的特殊含义。

比如上文中的单引号和双引号,它们在 Python 中被“特别地”用于定义字符串常量。如果我们想使用其“原本”含义,就可以在前边使用 \ 来转义。

其他可以转义的特殊字符为:

转义字符串 字符特殊含义 转义后的含义
\' 用于定义字符串常量 单引号字符
\" 用于定义字符串常量 双引号
\newline 换行 取消换行,表示多行
\\ 转义其他字符 斜杠

通常,在源码中输入换行,代表一个语句的结束。这可能会引起语法错误:

>>> print('a File "<stdin>", line 1 print('a ^SyntaxError: EOL while scanning string literal

如果需要,这时候可以使用 \ 对换行符进行转义,以表明这是一个多行语句:

>>> print('a\... b\... c')abc

转义字符(\)本身也可以被转义:

>>> print('hello backslash \\')hello backslash \

2,为字符赋予特殊含义
我们使用的键盘上的某些按键具有特殊功能,无法直接用单个字符来表示,如果想要输出这些按键,可以对其他普通字符进行转义。

比如常用的 Tab 按键代表制表符,可输出 4 个空格。我们可以对字符 t 进行转义,来表示 Tab。

>>> print('Tab\tSpace')Tab Space

其他可以转义为特殊用途的字符举例如下:

转义字符串 含义
\a ASCII Bell 字符,响铃
\b 退格
\n 换行
\r 回车
Python 中还包含另外两种字符:裸(raw)串和三引用字符串。
1,裸串
在字符串常量之前添加 r 或 R,就形成了一个裸串。它表示不对其中的字符做任何转义,原原本本地按字面意思处理。
>>> print('foo\nbar')foobar>>> print(r'foo\nbar')foo\nbar
2,三引用字符串
除了使用单引号和双引号来定义常量字符串,Python 还支持使用三引号(''' 或 """)来定义常量字符串。
>>> print('''This string has a single (') and a double (") quote.''')This string has a single (') and a double (") quote.
在三引号字符串中,单引号、双引号和换行符保留字面意思,其他转义规则仍生效。
因此,可以用三引号来定义多行字符串常量。
>>> print('''line 1... line 2... line3... ''')line 1line 2line3
除此之外,三引号字符串还可以用于代码注释。


【Boolean类型】

Python 3 提供了 Boolean 数据类型。该类型的对象取值为:True 或 False。

>>> type(True)<class 'bool'>>>> type(False)<class 'bool'>

在 Python 中,我们经常对逻辑表达式的值进行判断,以确定其是否为 True 或 False。


【内置函数】

函数是多个语句封装,以提供可复用的功能。

Python 3 内置了大量函数供我们调用,这里按功能列出一些。

数学函数:

函数名 功能
abs() 计算绝对值
divmod() 计算商和余数
max() 求最大值
pow() 求指数值
sum() 求和

类型转换函数:

函数名 功能
ascii() 返回一个对象的 ascii 字符串
bool() 将参数转换为 bool 值
complex() 将参数转换为一个复数
str() 返回一个对象的字符串表示
type() 返回对象的类型

可迭代对象和迭代器:

函数名 功能
all() 测试是否所有元素满足某个条件
any() 测试是否任一元素满足某个条件
enumerate() 返回一个包含元素索引和值的tuple组成的list
filter() 过滤满足条件的元素
len() 返回对象的长度
map() 对所有元素执行某个运算
iter() 返回一个迭代器
next() 从迭代器获取下一个元素
range() 产生一个包含整数的range
reversed() 返回一个翻转的迭代器
sorted() 从一个可迭代对象返回一个已排序的list

【结语】

我们在本文中简单了解了 Python 内置的基本数据类型和一些函数。

由这些基本的数据类型可以构建更复杂的数据类型。

当然,Python 还提供了其他重要和易用的“高级”数据类型,我们会在后续的文章中陆续学习。

(0)

相关推荐

  • 基础语法第2关笔记

      一.Python 核心知识框架 Python 的核心知识板块包括:数据类型,控制流,函数,模块,类.   数据类型:程序本质上是在操作和处理数据,Python 中所有数据都属于某种数据类型 ...

  • 无门槛学会数据类型与输入、输出函数,滚雪球学 Python

    学习一门语言应该是一件充满乐趣的事情,为什么要把它变难呢? 已完成的文章 标题 链接 1. 这才是 Python 学习的正确起手姿势,滚雪球学 Python https://dream.blog.cs ...

  • 【Go语言学习笔记一】基础语法

    行分隔行 在 Go 程序中,一行代表一个语句结束.每个语句不需要像 C 家族中的其它语言一样以分号 ; 结尾, 但是可以使用分号:结尾,如果当你将多个语句写在同一行时,则必须使用分号: 一.变量 1. ...

  • 什么是Scikit-learn?Python机器学习库介绍!

    对Python语言有所了解的人都知道Python简单,拥有丰富的第三方库,可用于人工智能.机器学习.网络爬虫.web开发等领域,而这篇文章小编想要为大家介绍一下最有名,也是专门面向机器学习的一个库,它 ...

  • Python语言简单介绍及安装

    到目前为止,我已经学习过不少语言了,C.C++.Java甚至C#我也曾看过一两本书,但仍旧没找到一种最适合我的,或者说是我最适合的(哎,太不专一不说,还都只学到皮毛 ). 最近受新老板的影响,要用py ...

  • JAVA_基础数据类型介绍与基本数据类型之间的运算规则

    基本数据类型 整型: byte.short.int.long java 的整型常量默认为int型,在java程序中变量通常声明为int型,除非不足以表示较大的数才用long,而在声明long型常量必须 ...

  • Python 自动化库介绍 PySimpleGUI

    Python编程学习圈 3天前 [导语]python在运维和办公自动化中扮演着重要的角色,PySimpleGUI 是一款很棒的自动化辅助模块,让你更轻松的实现日常任务的自动化. 1 PySimpleG ...

  • Python的控制语句介绍!入门学习

    学习python的人应该都听说过python的控制语句,那么你知道Python的控制语句有哪些吗?我们一起来看看吧. Python的设计目标之一是让代码具备高度的可阅读性.它设计时尽量使用其它语言经常 ...

  • Python汇总篇,200+Python标准库介绍

    今天给大家介绍一下200多个Python标准库,让大家对Python标准库有一个大致的认识. 关于Python标准库 01 众所周知,Python是一个依赖强大的组件库完成对应功能的语言,为了便捷实现 ...

  • 什么是Python函数?内容介绍!

    学习Python的时候我们会接触到很多没有听说过的词汇,比如函数.那么什么是Python函数?定义函数需要遵循哪些原则呢?我们一起来看看吧. 什么是Python函数? Python函数是指组织好的.可 ...

  • 超全汇总!200 多个 Python 标准库介绍

    Python开发精选 分享 Python 技术文章.资源.课程.资讯. 10篇原创内容 公众号 今天给大家介绍一下200多个Python标准库,让大家对Python标准库有一个大致的认识. 关于Pyt ...

  • Python七大数据类型!

    数据类型是编程的基础,当我们学习编程或者进行编程的时候数据类型是我们必须掌握的知识,那么你知道Python数据类型分为哪几类吗?小编为大家罗列了七大数据类型. 1. 数字类型 int整型 在32位机器 ...