python中的real函数_RealPython基础教程: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)>>> type(0b1011)>>> type(0o1011)>>> type(0x1011)

【浮点数】

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

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

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

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

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

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

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

>>> 5e-3245

e-324>>> 1e-3240.0

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

【复数】

Python 原生支持复数。

复数以 +j 的方式来指定。

>>> 2+3j(2+3j)>>> type(2+3j)

【字符串】

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

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

>>> 'hello world''hello world'>>> type('hello world')>>>>>> "hello world"'hello world'>>> type("hello world")

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

>>> ''''

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

>>> '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('aFile "", line 1print('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)

>>>> type(False)

在 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
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值