第三篇:Python基本数据类型
Posted Little_five
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三篇:Python基本数据类型相关的知识,希望对你有一定的参考价值。
在了解基本数据类型的时候,我们需要了解基本数据类型有哪些?数字int、布尔值bool、字符串str、列表list、元组tuple、字典dict等,其中包括他们的基本用法和其常用的方法,这里会一一列举出来,以便参考。然后我们还需要了解一些运算符,因为这些基本数据类型常常会用于一些运算等等。
一、运算符
运算通常可以根据最终获得的值不同,可以分两类,即结果为具体的值,结果为bool值,那么哪些结果为具体的值-->算数运算、赋值运算,哪些结果又为bool值?--->比较运算、逻辑运算和成员运算。
1、算术运算
2、赋值运算
3、比较运算
4、逻辑运算
5、成员运算
二、基本数据类型
1、数字 ---> int类
当然对于数字,Python的数字类型有int整型、long长整型、float浮点数、complex复数、以及布尔值(0和1),这里只针对int整型进行介绍学习。
在Python2中,整数的大小是有限制的,即当数字超过一定的范围不再是int类型,而是long长整型,而在Python3中,无论整数的大小长度为多少,统称为整型int。
其主要方法有以下两种:
int -->将字符串数据类型转为int类型, 注:字符串内的内容必须是数字
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 s = \'123\' 5 i = int( s ) 6 print( i)
bit_length() -->将数字转换为二进制,并且返回最少位二进制的位数
#!/user/bin/env python #-*- coding:utf-8 -*- i =123 print( i.bit_length() ) #输出结果为: >>>5
2、布尔值 --->bool类
对于布尔值,只有两种结果即True和False,其分别对应与二进制中的0和1。而对于真即True的值太多了,我们只需要了解假即Flase的值有哪些---》None、空(即 [ ]/( ) /" "/{ })、0;
#以下结果为假,即None、‘’、[]、()、{}以及 0 >>> bool(None) False >>> bool(\'\') False >>> bool([]) False >>> bool(0) False >>> bool(()) False >>> bool({}) False
3、字符串 --->str类
关于字符串是Python中最常用的数据类型,其用途也很多,我们可以使用单引号 ‘’或者双引号“”来创建字符串。
字符串是不可修改的。所有关于字符我们可以从 索引、切片、长度、遍历、删除、分割、清除空白、大小写转换、判断以什么开头等方面对字符串进行介绍。
创建字符串
#!/usr/bin/env python # -*- coding:utf-8 -*- #字符串的形式:使用‘’或者“”来创建字符串 name =\'little_five\' print(name)
切片
#获取切片,复数代表倒数第几个,从0开始 >>> name ="little-five" >>> name[1] \'i\' >>> name[0:-2] #从第一个到倒数第二个,不包含倒数第二个 \'little-fi\'
索引--> index()、find()
#!/usr/bin/env python # -*- coding:utf-8 -*- # 修正版 name = "little_five" #index-->获取索引,语法->str.index(str, beg=0 end=len(string)),第二个参数指定起始索引beg,第三个参数结束索引end,指在起始索引到结束索引之前获取子串的索引 print(name.index("l",2,8)) #在索引区间2-8之前查找‘l’,找到是第二个‘l’,其索引为4 #find -->其作用与index相似 print(name.find("l",2)) #结果也为 4
index()与find()的不同之处在于:若索引的该字符或者序列不在字符串内,对于index--》ValueError: substring not found,而对于find -->返回 -1。
#!/usr/bin/env python # -*- coding:utf-8 -*- name = "little_five" print(name.index("q",2)) #index--》输出为: >>>Traceback (most recent call last): File "C:/Users/28352/PycharmProjects/learning/Day13/test.py", line 5, in <module> print(name.index("q",2)) ValueError: substring not found print(name.find("q",2)) #find--》输出为: >>> -1
长度 -->len()
name = "little_five" #获取字符串的长度 print(len(name)) #输出为: >>> 11
注:len()方法-->同样可以用于其他数据类型,例如查看列表、元组以及字典中元素的多少。
删除 --> del
#删除字符串,也是删除变量 >>> name ="little-five" >>> del name >>> name Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name \'name\' is not defined
判断字符串内容 --> isalnum()、isalpha()、isdigit()
#判断是否全为数字 >>> a ="123" >>> a.isdigit() True >>> b ="a123" >>> b.isdigit() False #判断是否全为字母 >>> d ="alx--e" >>> d.isalpha() False >>> c ="alex" >>> c.isalpha() True #判断是否全为数字或者字母 >>> e ="abc123" >>> e.isalnum() True
大小写转换 --> capitalize()、lower()、upper()、title()、casefold()
#!/usr/bin/env python # -*- coding:utf-8 -*- #大小写的互相转换 >>> name ="little_five" #首字母大写-->capitalize >>> name.capitalize() \'Little_five\' #转为标题-->title >>> info ="my name is little_five" >>> info.title() \'My Name Is Little_Five\' #全部转为小写-->lower >>> name ="LITTLE_FIVE" >>> name.lower() \'little_five\' #全部转为大写-->upper >>> name = "little_five" >>> name.upper() \'LITTLE_FIVE\' #大小写转换-->swapcase >>> name ="lIttle_fIve" >>> name.swapcase() \'LiTTLE_FiVE\'
判断以什么开头结尾 --> startswith()、endswith()
#判断以什么开头、结尾 >>> name ="little-five" #判断以什么结尾 >>> name.endswith("e") True #判断以什么开头 >>> name.startswith("li") True
扩展-->expandtabs()
#expandtabs -->返回字符串中的 tab 符号(\'\\t\')转为空格后生成的新字符串。通常可用于表格格式的输出 info ="name\\tage\\temail\\nlittlefive\\t22\\t994263539@qq.com\\njames\\t33\\t66622334@qq.com" print(info.expandtabs(10)) #输出为: name age email little-five 22 994263539@qq.com james 33 66622334@qq.com
格式化输出-->format()、format_map()
#格式化输出-->format、format_map #forma方法 #方式一 >>> info ="my name is {name},I\'am {age} years old." >>> info.format(name="little-five",age=22) "my name is little-five,I\'am 22 years old." #方式二 >>> info ="my name is {0},I\'am {1} years old." >>> info.format("little-five",22) "my name is little-five,I\'am 22 years old." #方式三 >>> info ="my name is {name},I\'am {age} years old." >>> info.format(**{"name":"little-five","age":22}) "my name is little-five,I\'am 22 years old." #format_map方法 >>> info ="my name is {name},I\'am {age} years old." >>> info.format_map({"name":"little-five","age":22}) "my name is little-five,I\'am 22 years old."
jion方法
#join--> join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 #字符串 >>> name ="littefive" >>> "-".join(name) \'l-i-t-t-e-f-i-v-e\' #列表 >>> info = ["xiaowu","say","hello","world"] >>> "--".join(info) \'xiaowu--say--hello--world\'
分割 --> split()、partition()
#分割,有两个方法-partition、split #partition -->只能将字符串分为三个部分,生成列表 >>> name ="little-five" >>> name.partition("-") (\'little\', \'-\', \'five\') #split-->分割字符串,并且可以指定分割几次,并且返回列表 >>> name ="little-five-hello-world" >>> name.split("-") [\'little\', \'five\', \'hello\', \'world\'] >>> name.split("-",2) #指定分割几次 [\'little\', \'five\', \'hello-world\'] >>>
替代 -->replace
#替代 >>> name ="little-five" >>> name.replace("l","L") \'LittLe-five\' #也可以指定参数,替换几个 >>> name.replace("i","e",2) \'lettle-feve\' 清除空白 --> strip()、lstrip()、rstrip() #去除空格 >>> name =" little-five " #去除字符串左右两边的空格 >>> name.strip() \'little-five\' #去除字符串左边的空格 >>> name.lstrip() \'little-five \' #去除字符串右边的空格 >>> name.rstrip() \' little-five\'
替换 -->makestran 、translate
1 #进行一一替换 2 3 >>> a ="wszgr" 4 >>> b="我是中国人" 5 >>> v =str.maketrans(a,b) #创建对应关系,并且两个字符串长度要求一致 6 >>> info ="I\'m a Chinese people,wszgr" 7 >>> info.translate(v) 8 "I\'m a Chine是e people,我是中国人"
4、列表 --->list类
列表是由一系列特定元素顺序排列的元素组成的,它的元素可以是任何数据类型即数字、字符串、列表、元组、字典、布尔值等等,同时其元素也是可修改的。
其形式为:
1 names = [\'little-five","James","Alex"] 2 #或者 3 names = list([\'little-five","James","Alex"])
索引、切片
1 #索引-->从0开始,而不是从一开始 2 name =["xiaowu","little-five","James"] 3 print(name[0:-1]) 4 5 6 #切片-->负数为倒数第几个,其为左闭右开,如不写,前面表示包含前面所有元素,后面则表示后面所有元素 7 m1 =name[1:] 8 print(m1) 9 #输出为-->[\'little-five\', \'James\'] 10 m2 =name[:-1] 11 print(m2) 12 #输出为-->[\'xiaowu\', \'little-five\']
追加-->append()
1 #追加元素-->append() 2 name =["xiaowu","little-five","James"] 3 name.append("alex") 4 print(name) 5 6 #输出为--》[\'xiaowu\', \'little-five\', \'James\', \'alex\']
拓展-->extend()
1 #扩展--》其将字符串或者列表的元素添加到列表内 2 #一、将其他列表元素添加至列表内 3 name =["xiaowu","little-five","James"] 4 name.extend(["alex","green"]) 5 print(name) 6 #输出为-->[\'xiaowu\', \'little-five\', \'James\', \'alex\', \'green\'] 7 8 #二、将字符串元素添加到列表内 9 name =["xiaowu","little-five","James"] 10 name.extend("hello") 11 print(name) 12 #输出为-->xiaowu\', \'little-five\', \'James\', \'alex\', \'green\', \'h\', \'e\', \'l\', \'l\', \'o\'] 13 14 #三、将字典元素添加至列表内,注:字典的key。 15 name =["xiaowu","little-five","James"] 16 name.extend({"hello":"world"}) 17 print(name)
注:扩展extend与追加append的区别:-->前者为添加将元素作为一个整体添加,后者为将数据类型的元素分解添加至列表内。例:
1 #extend-->扩展 2 name =["xiaowu","little-five","James"] 3 name.extend(["hello","world"]) 4 print(name) 5 输出为-->[\'xiaowu\', \'little-five\', \'James\', \'hello\', \'world\'] 6 7 #append -->追加 8 name.append(["hello","world"]) 9 print(name) 10 输出为 -->[\'xiaowu\', \'little-five\', \'James\', [\'hello\', \'world\']]
insert() -->插入
1 #insert()插入-->可以指定插入列表的某个位置,前面提到过列表是有序的 2 name =["xiaowu","little-five","James"] 3 name.insert(1,"alex") #索引从0开始,即第二个 4 print(name)
pop() -->取出
1 #pop()--取出,可将取出的值作为字符串赋予另外一个变量 2 name =["xiaowu","little-five","James"] 3 special_name =name.pop(1) 4 print(name) 5 print(special_name,type(special_name)) 6 7 #输出为:[\'xiaowu\', \'James\'] 8 # little-five <class \'str\'> 9
remove()-->移除、del -->删除
以上是关于第三篇:Python基本数据类型的主要内容,如果未能解决你的问题,请参考以下文章