python数据类型总结数字和字符串

2023-4-3 来源:不详 浏览次数:

如同人有姓名一般,当python中的数据被创建后,会在存储介质中分配一块区域用于存储数据。通常,我们需要一个名字来指代这部分数据。

python变量

数据的名字,称之为变量。数据存放在内存空间中,变量持有该内存空间的地址。所以,通过变量即可以操作该内存空间。

通过赋值运算符,再加上一个合法的标识符,即可创建一个变量。

变量demo1

python还允许你使用下面这种形式。

变量demo2

当然了,根据编码规范,demo2显然是不推荐的形式。

当多个变量指向同一块内存空间时,还可以像下面这样。

多变量同空间

注意,当变量a重新赋值为2时,并没有影响b或c的值。这是因为,a重新赋值为2,并不是把a所指向的空间中的内容修改为2,而是重新分配一块空间,用于存放2,再将新空间的地址给a。

python数据类型

如果有过一些其他语言基础的话,通常会Get到两个概念,一个是数据类型,另一个是变量类型。

数据类型就是数据本身有一个分类,数据是属于哪一类的。

变量类型则是跟着数据类型走的。变量指向的内存空间中的数据是什么类型,变量就是什么类型。

python中,变量类型是可变的。即一个变量在创建初或者使用的过程中,不会固定成某个类型。你可以给它一个数字,也可以给它一个字符串。这点和javascript一样,但是,和Java不同。如下:

可变的变量类型

数据类型也有一个可变或不可变的说法,它指的是,当把某个数据类型的数据放入某个内存空间中后,是否可以直接在当前内存中对原有的数据值进行修改。如果可以,称该数据类型可变,如果不可以,则称该数据类型不可变。

当一个变量指向的内存空间中,存放的是一个不可变的数据类型时,要改变该变量对应的值,就必须重新分配一块新的内存空间来存放新值,并将新的内存空间地址提供给变量。

python中,定义了五个标准的数据类型,分别是数字,字符串,列表,元组,字典。它们足以帮助你完成对生活中绝大部分事物的特征描述。

python数字

数字是不可变的。

生活中的大部分数字都可以在python表示。比如说整数,小数等。在python2中,较小的整数称之为整型,较长的直到无限长度的整数称之为长整型,即int和long。这和其它大部分语言都是相差不多的。但是,在python3中,移除了长整形的说法,只保留了整型。并且,它的长度是无限的。

比如说,你可以通过python计算**,只要你有足够的时间和耐心。我就计算一下10**吧,毕竟我怕老。如下:

10的次方

小数在python中称之为浮点型,形成整数部分和小数部分。

python支持科学计数法,如下:

科学计数法

从上面的demo还可以看出,当你采用科学计数法时,即使本身是一个整数,也会用浮点型来表示,只是其小数部分为0。

python还支持复数。如下:

复数

就对数学的支持上,python绝对是不遗余力的。甚至通过引入一些第三方的包,你还可以方便地进行向量,矩阵等数学概念的表达与计算。

python字符串

除了数字,字符串也是生活中最常用的表达方式之一。

字符串是不可变的。如下:

不可变的字符串

可以通过一个单引号或双引号来声明一个字符串,也可以通过三引号来声明一个多行字符串。如下:

字符串声明

仍然基于编码规范,推荐团队采用统一的字符串声明方式,如统一用单引号或双引号,包含使用三引号时。不要单双混用。

某些语言中,单个字符可以用一个新的类型表示,如char。在python中,即使单个字符,也是一个字符串。

假设你的字符串是以单引号的形式声明的,而在字符串中,又可能包含一个单引号,这种情况下,你需要转义字符的帮助。如下:

转义字符转义字符参考表

操作符和字符串搭配起来,也会产生一些奇妙的效果。

可以用+号来完成两个字符串的拼接,如下:

字符串拼接

可以用*号来完成字符串的重复,如下:

字符串重复

通过方括号中的索引,可以方便的取出字符串中某个单字。如下:

索引取单字

对于一个长度为n字符串来说,从前向后,索引从0开始,直到n-1,从后向前,索引从-1开始,直到-n。如下:

正反索引

如果尝试获取字符串中一个索引范围外的字符,会提示IndexError,索引错误。

索引错误

方括号不仅可以通过索引取出单个字符,还可以截取某一部分,如下:

字符串截取

或许你可能会尝试通过索引对字符串中的某个单字符进行修改,由于字符串的不可变性,你会得到一个类型错误,TypeError。如下:

TypeError

上面的demo还说明,在截取字符串时,无论是采用正向索引还是反向索引,都需要从较小的索引到较大索引来截取,并且,在截取时,遵循左闭右开的原则,即左包含,右不包含。

in和notin可以用来判断某个字符串是否包含在另一个字符串中。如下:

in和notin

转载请注明:
http://www.weichiyen.com/szwh/13285.html
  • 上一篇文章:

  • 下一篇文章:
  • 网站首页 版权信息 发布优势 合作伙伴 隐私保护 服务条款 网站地图 网站简介

    温馨提示:本站信息不能作为诊断和医疗依据
    版权所有 2014-2024
    今天是: