python基本数据类型(一)
1、数字 ---> int类
当然对于数字,Python的数字类型有int整型、long长整型、float浮点数、complex复数、以及布尔值(0和1),这里只针对int整型进行介绍学习。
在Python2中,整数的大小是有限制的,即当数字超过一定的范围不再是int类型,而是long长整型,而在Python3中,无论整数的大小长度为多少,统称为整型int。
其主要方法有以下两种:
int -->将字符串数据类型转为int类型, 注:字符串内的内容必须是数字
#!/usr/bin/env python # -*- coding:utf-8 -*- s = '123' i = int( s ) 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-->获取索引,第二个参数指定获取该子字符或者子序列的第几个 print(name.index("l",2)) #结果为 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
#进行一一替换 >>> a ="wszgr" >>> b="我是中国人" >>> v =str.maketrans(a,b) #创建对应关系,并且两个字符串长度要求一致 >>> info ="I'm a Chinese people,wszgr" >>> info.translate(v) "I'm a Chine是e people,我是中国人"
浙公网安备 33010602011771号