重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Python提供的基本数据类型:数值(整型、浮点型、复数、布尔型等)、字符串、列表、元组、字典、集合等,将它们简单分类如下:
创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站建设、成都网站建设、安阳县网络推广、重庆小程序开发公司、安阳县网络营销、安阳县企业策划、安阳县品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供安阳县建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
通常被称为整型,数值为正或者负,不带小数点。
Python 3的整型可以当做Long类型使用,所以Python 3没有
Python 2的Long类型。
Python 初始化的时候会自动建立一个小整数对象池,方便我们调用,避免后期重复生成!这是一个包含 262个指向整数对象的指针数组,范围是 -5 到 256 。
Python的浮点数就是数学中的小数,类似C语言中的double。
浮点数 也就是小数,如 1.23 , 3.14 , -9.01 等等。但是对于很大或很小的浮点数,一般用科学计数法表示,把10用e替代, 1.23x10^9 就是 1.23e9 ,或者 12.3e8 , 0.000012 可以写成1.2e-5 等等。
复数 由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示,复数的实部a和虚部b都是浮点。
对 与 错 、 0 和 1 、 正 与 反 ,都是传统意义上的布尔类型。
但在Python语言中,布尔类型只有两个值, True 与 False 。请注意,是英文单词的对与错,并且首字母要大写。
在Python中,0、0.0、-0.0、None、空字符串“”、空元组()、空列表[]、空字典{}都被当作False,还有自定义类型,如果实现了 nonzero ()或 len ()方法且方法返回0或False,则其实例也被当作False,其他对象均为True
布尔值还可以用and、or和not运算。
1)、and 运算是 与 运算,只有所有都为 True , and 运算的结果才是 True ;
2)、or 运算是 或 运算,只要其中有一个为 True , or 运算结果就是 True ;
3)、not 运算是 非 运算,它是单目运算符,把 True 变成 False,False 变成 True。
例如:
由以上案例可以看出,在做四则运算的时候,明显把 True 看做 1 , False 看做 0 。
4)空值
空值不是布尔类型,只不过和布尔关系比较紧密。
空值是Python里一个特殊的值,用 None 表示(首字母大写)。None不能理解为0,因为0是整数类型,而None是一个特殊的值。None也不是布尔类型,而是NoneType。
在某些特定的情况下,需要对数字的类型进行转换。
Python提供了内置的数据类型转换函数:
int(x) 将x转换为一个整数。如果x是一个浮点数,则截取小数部分。
float(x) 将x转换成一个浮点数。
complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
complex(x, y): 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。
Python字符串即可以用单引号也可以用双引号括起来,甚至还可以用三引号括起来,字符串是以''或""括起来的任意文本。
例如:'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符。
字符串中包括特殊字符,可以用转义字符\来标识
但是字符串里面如果有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''内部的字符串默认不转义
例如:
print r'\\\t\\' #输出:\\\t\\
字符串的一些常见操作
切⽚是指对操作的对象截取其中⼀部分的操作
语法:序列[开始位置下标:结束位置下标:步⻓]
a. 不包含结束位置下标对应的数据, 正负整数均可;
b. 步⻓是选取间隔,正负整数均可,默认步⻓为1。
find():检测某个⼦串是否包含在这个字符串中,如果在返回这个⼦串开始的位置下标,否则则返回-1。
index():检测某个⼦串是否包含在这个字符串中,如果在返回这个⼦串开始的位置下标,否则则报异常。
rfind(): 和find()功能相同,但查找⽅向为右侧开始。
rindex():和index()功能相同,但查找⽅向为右侧开始。
count():返回某个⼦串在字符串中出现的次数。
replace():替换
split():按照指定字符分割字符串。
join():⽤⼀个字符或⼦串合并字符串,即是将多个字符串合并为⼀个新的字符串。
capitalize():将字符串第⼀个字符转换成⼤写。
title():将字符串每个单词⾸字⺟转换成⼤写。
lower():将字符串中⼤写转⼩写。
upper():将字符串中⼩写转⼤写。
lstrip():删除字符串左侧空⽩字符。
rstrip():删除字符串右侧空⽩字符。
strip():删除字符串两侧空⽩字符。
ljust():返回⼀个原字符串左对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串。
rjust():返回⼀个原字符串右对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串,语法和
ljust()相同。
center():返回⼀个原字符串居中对⻬,并使⽤指定字符(默认空格)填充⾄对应⻓度 的新字符串,语
法和ljust()相同。
所谓判断即是判断真假,返回的结果是布尔型数据类型:True 或 False。
startswith():检查字符串是否是以指定⼦串开头,是则返回 True,否则返回 False。如果设置开
始和结束位置下标,则在指定范围内检查。
endswith()::检查字符串是否是以指定⼦串结尾,是则返回 True,否则返回 False。如果设置开
始和结束位置下标,则在指定范围内检查。
isalpha():如果字符串⾄少有⼀个字符并且所有字符都是字⺟则返回 True, 否则返回 False。
isdigit():如果字符串只包含数字则返回 True 否则返回 False。
isalnum():如果字符串⾄少有⼀个字符并且所有字符都是字⺟或数字则返 回 True,否则返回
False。
1.字符串(string)
示例: '余庆','yuqing','123','Hello!'
特点: 用引号括起来的文本。
转换方式: 使用str()函数转换,str()函数能将数据转换成其字符串类型,不管这个数据是int类型还是float类型,只要放到括号里。就能成为字符串类型。
2.整数(int)
示例:-1,0,1,2,123
特点:不带小数点和引号的普通数字。
转换方式:使用int()函数转换, 只有符合整数规范的字符串类数据,才能被int()函数强制转换。
(注:整数形式的字符串比如'6'和'1',可以被int()函数强制转换。其次,文字形式,比如中文、火星文或者标点符号,不可以被int()函数强制转换。
最后,小数形式的字符串,由于Python的语法规则,也不能使用int()函数强制转换。)
(注:int()函数的本质是将数据转换为整数。对于浮点数,int()函数会做取整处理。int()函数会直接抹零,直接输出整数部分。)
3.浮点数(float)
示例:-0.33,3.1415926,1.0
特点:带小数点的数字,运算结果会存在误差。
转换方式:使用float()函数转换,float()函数也可以将整数和字符串转换为浮点类型。但同时,如果括号里面的数据是字符串类型,那这个数据一定得是数字形式。
作用就是把合理的数据转换为需要的类型。int()整数,float()浮点数,str()字符串,list()列表,tuple()元组,set()集合……
比如a='12'这个是字符串类型,用int函数a=int(a)这时变量a就是整型,字符串'12'变为了整数12。Python没有变量声明的要求,变量的属性在赋值时确定,这样变量的类型就很灵活。
有一种题目判断一个整数是否回文数,用字符串来处理就很简单
a=1234321#整数
if str(a)==str(a)[::-1]:#借助字符串反转比较就可以确定是否回文数。
还比如元组b=(1,3,2,4),元组是不可以更新删除排序成员的,但是列表是可以的,通过列表函数进行转换来实现元组的更新删除和排序。
b=(1,3,2,4)
b=list(b)
b.sort()
b=tuple(b)
这时得到的元组b就是一个升序的元组(1,2,3,4)
再比如你要输入创建整数列表或者整数元组基本上写法相同,就是用对应的函数来最后处理。
ls=list(map(int,input().split()))#这个就是列表
tup=tuple(map(int,input().split()))#这个就是元组
再比如有个叫集合的,集合有唯一性,可以方便用来去重。
ls=[1,2,3,1,2,3,1,2,3]
ls=list(set(ls))#通过set()去重后,现在的ls里就是[1,2,3]去重后的列表。
在python中的数据类型转换函数共有五类:
1.float(x) 将x转换为一个浮点数,x如果是一个字符串, 必须是数字类型的字符串
2.int(x) 将x转换为一个整数, x如果是一个字符串,必须是数字类型的字符串
3.str(x) 把x转换为字符串类型, 任意数据类型都可以转换为字符串
4.list(x) 把序列数据x转为列表(注意:字典没有顺序,不是序列数据)
5.tuple(x) 把序列数据x转为元组(字典没有顺序,不是序列数据)
你可以多去黑马程序员视频库看看,里面这样的知识点特别多
在python中,将字符串转换为整型的两种方法是:1、利用string库中的atoi函数将字符串转换成数字;2、直接使用int内置函数将字符串转换成数字类型。
(1)import string
tt='555'
ts=string.atoi(tt)
ts即为tt转换成的数字
转换为浮点数 string.atof(tt)
(2)直接int
int(tt)即可。
推荐课程:Python入门与进阶教学视频(极客学院)
编程的目的就是为了处理信息,信息则是由各种不同类型的数据表示的,对数据的进一步处理也会使信息更加丰富和有效。
5.1变量
前面已经提到过“变量”这属语,下面再进一步解释一下。
在程序运行时,必须把数据导入计算机的存储单元中,但存储单元的命名是用二进制数表示的,晦涩难懂。为了方便起见,可以给存储单元起上一个通俗易懂的名字,即 变量名 。
变量的生命周期和程序的运行周期是相同的,一个程序运行解释,所占用的存储空间也就随之释放,用变量名表示的数据所占用的这个存储单元也就空闲了。
变量名的命名规则:
由字母、数字、下划线构成,必须由字母开头。
不能包含-、*、?、#、、;、/、、@、%、$、空格等特殊字符。
最好使用有含义的英文单词或汉语拼音。
最好采用小写字母。
不能使用保留字(已被Python语言系统本身赋予特定意义的单词)。Python的保留字如下表所示。
Python保留字列表
Python是区分大小写的,虽然可以将一个英文单词通过字母大小写不同而作为不同变量的变量名,但从程序可读性的角度看,的确不可取。
Python是一种动态类型的语言,变量的类型由变量的值决定。换而言之,给变量赋何种类型的值,变量就是该值的类型。给变量赋值可以通过赋值号(=)来实现。如:
myvar=100
type(myvar)
myvar='tom'
type(myvar)
在这个例子中,变量myvar首先赋值为100,显而易见,100是个整数,通过type()这个函数检测,变量myvar的类型为整数类型(int);接下来变量myvar赋值为‘tom’,通过type()这个函数检测,变量myvar的类型改变为字符串类型(str)。
不仅可以给一个变量赋值为常量,也可以赋值为另一个变量。如:
a=100
b=a
b
100
在这个例子中,“b=a”的实际意义是,变量b和变量a指向同一个存储单元,既然是同一个存储单元,变量b和变量a本质上就是完全相同的,这就好比一个人除了本名之外,还有其他的名字,如笔名、昵称、乳名等等,虽然本质一样,但是可以在不同场合使用。
5.2关于Python的常量问题
在大多数语言中都有常量这个概念,但是Python却没有。其实仔细想想也好像没有设置常量的必要,只要一个变量的值不发生变化,即不给变量重新赋值,它的值当然不会变化,它便是个常量。
5.3基本数据类型
5.3.1整数型和浮点数
整数型(integer),可以是正整数、负整数和0,可以是十进制、八进制、二进制等。
浮点数(float),由整数部分和小数部分组成,主要用于处理包括小数的数。浮点数也可以用科学计数法表示。
5.3.2 字符串类型
字符串类型是由一系列的字母或者其他符号组成的数据序列,通常用单引号、双引号或三引号括起来。
用单引号和双引号括起来的字符串只能放在同一行,用三引号括起来的字符串可以分布在连续多行上。如:
name='我的名字叫王小明'
old="今年6岁"
introduce='''我想说: 我是中国娃
爱讲普通话
要学习写标准的汉字'''
print(name)
print(old)
print(introduce)
运行结果为:我的名字叫王小明
今年6岁
我想说: 我是中国娃
爱讲普通话
要学习写标准的汉字
不管是哪一种引号形式,括起来的部分是一个整体,包括空格和换行符都属于字符串的一部分。
为了保证特殊的输出效果,Python中的字符串支持转义字符,可使用反斜杠“”对一些特殊字符进行转义。常用的转义字符如下:
续行符
换行符
空
水平制表符
” 双引号
’ 单引号
一个反斜杠
f 换页
其中,续行符(“”)用于当一个字符串在一行写不下时用续行符进行连接,但通常更多的采用小括号“()”即可。
如:
第一种方法采用续行符(“”):
str="A thousand wishes, a thousand plans and
a thousand resolutions are better than one action!"
print(str)
A thousand wishes, a thousand plans and a thousand resolutions are better than one action!
第二种方法采用小括号():
str=("A thousand wishes, a thousand plans and "
"a thousand resolutions are better than one action!")
print(str)
A thousand wishes, a thousand plans and a thousand resolutions are better than one action!
下面举例说明换行符(“ ”)的用法:
str=" 登鹳雀楼 白日依山尽, 黄河入海流。 欲穷千里目, 更上一层楼。 "
print(str)
登鹳雀楼
白日依山尽,
黄河入海流。
欲穷千里目,
更上一层楼。
下面举例说明使用转义字符输出双引号(“)的方法:
str="王之涣的诗《登鹳雀楼》中这样写道:" 白日依山尽,黄河入海流。欲穷千里目,更上一层楼。""
print(str)
王之涣的诗《登鹳雀楼》中这样写道:" 白日依山尽,黄河入海流。欲穷千里目,更上一层楼。"
5.3.3布尔类型
布尔类型用来表示逻辑值,所谓逻辑判断的结果,不外乎“真”或“假”两种情况。在Python中“真”用True表示,“假”用False表示。如果布尔类型的变量参与算数运算,则True被当作1,False被当作0。
如:
result=True
print(result)
True
print(result+1)
2
result=False
print(result)
False
print(result+1)
1
5.3.4类型强制转换
Python是一种弱数据类型语言,可以通过给变量重新赋值的方法改变数据类型。但有时为了强制改变数据类型,就要使用类型转换函数来改变。
譬如,为了从键盘读入成绩的数据,可以用float()函数将input()语句读入的字符串转换为浮点数,再赋值给变量score。
score=input("请输入您的成绩:")
请输入您的成绩:96.5 (从键盘输入96.5)
为了计算成绩比及格线高了多少分,使用下面的命令,发现出现了错误提示如下:
score-60
Traceback (most recent call last):
File " ", line 1, in
score-60
TypeError: unsupported operand type(s) for -: 'str' and 'int'
这是属于类型错误,原因是从键盘读入的成绩值(96.5)并非数值类型,不能参与算数运算。用type()函数可以进一步查询变量score的数据类型。
type(score)
使用float()函数进行强制转换后,就可以解决上述问题:
score=float(input("请输入您的成绩:"))
请输入您的成绩:96.5
score=float(score)
type(score)
score-60
36.5
下表列举了一些常用的类型转换函数: