python数据类型及其内置方法
一、整型:主要用于数学运算
其他进制—–>转十进制
"""
其他进制转换为十进制
通过int('x进制数',x)实现
"""
a = int('110', 2)
print(a) # 6
b = int('7731', 8)
print(b) # 4057
c = int('e1f3', 16)
print(c) # 57843
十进制—–>转其他进制
十进制(decimal)进制转其他进制
'''
a = bin(8)
print(a) # 转二进制(binary) 0b1000
b = oct(100)
print(b) # 转八进制(octal) 0o144
c = hex(93332)
print(c) # 转十六进制(hexadecimal) 0x16c94
整型:是无序的,不可变的,存的是一个值。
是否有序:判断是否有序,就看其能否通过索引取值
是否可变:判断是否可变,规则为:如果值变id不变,说明该类型可变;如果值变id也变,说明该类型不可变
二、字符串
1、字符串的定义方式:
单、双、三引号可以定义字符串,在字符串引号前加字母‘r’,可以将字符串中的特殊字符转义。
2、取值
字符串可以通过索引取值,取到字符串中某个位置的值,但是取出来只能显示不可更改。
'''
字符串取值
'''
str1 = 'abcdefgh'
print(str1[1:4])
print(str1[0:4]) #索引取值,顾头不顾尾,故只能取0,1,2,3中的值
print(str1[:4]) #[:4]和[0:4]效果一样
print(str1[4:])
print(str1[4:len(str1)]) #[7:]和[7:len()]效果一样
print(str1[1:4:2]) #步长为2,跳两步取值
print(str1[::-1]) #从后往前,反向取值
print(str1[::-2]) #从后往前,跳两步取值
5、左右两端去特殊字符操作 .strip(“特殊字符” ) ;
左端去特殊字符操作 .lstrip(“特殊字符” )
右端去特殊字符操作 .rstrip(“特殊字符”)
6、切分字符串
'''
split切分字符串
'''
a = 'bravehearthearmeroar'
print(a.split('h')) # ['brave', 'eart', 'earmeroar']
切分字符串之后,指定字符不会出现在结果列表中,
7、字符串长度,或者说字符串中元素的个数,包含空格
'''
len()获取当前数据中的元素的个数
'''
a = 'bravehearthearmeroar'
print(a.__len__())
print(len(a))
8、字符串可以通过for循环逐个取出其中的元素。
'''
for循环取字符串中的元素
'''
a = 'bravehearthearmeroar'
print(type(len(a)))
for i in range(len(a)):
print(a[i], end=' ') # b r a v e h e a r t h e a r m e r o a r
9、杂项
字母转大写,字母转小写
大写:upper(),小写:lower()
判断是否已symbol开头 startswith( “symbol”),
判断是否以symbol结尾 endswith( “symblo”) 结果为布尔值。
isdigtal( “”symbol”) 判断symbol中传入的值,是否是数字
注意:输入浮点数也不行,isdigtal只能判断是否是int型整数
a = '2.1'
print(a.isdigit()) # False
(“分隔符”).join( 可迭代对象)
join方法的应用原理:将可迭代对象中的每个元素,按照分隔符拼接成字符串
for example:
a = 'bravehearthearmeroar'
print('|'.join(a)) #b|r|a|v|e|h|e|a|r|t|h|e|a|r|m|e|r|o|a|r
replace(” 旧 “,” 新 “) 将字符中所有的旧的元素,换成新的元素
a = 'bravehearthearmeroar'
print(a.replace('he', '**')) # brave**art**armeroar
10、center( (int型)个数,‘symbol’)
a = '欢迎光临'
print(a.center(15,'8')) # 888888欢迎光临88888
print(a.center(14,'-')) # -----欢迎光临-----
字符串是有序的,不可变的,存储的是一个值
三、列表
1、列表取值:列表通过索引取值,不仅可以取值,还可以通过索引改值。
2、索引切片:
l1 = [0,1,2,3,4,5,6,7]
print(l1[1]) # 1
print(l1[1:4]) # [1, 2, 3]
print(type(l1[1:4])) # <class 'list'>
索引切片,取出来的东西是列表
3、列表的增加操作
.append( “追加一个值”),追加在列表的最后
.insert( 指定索引,‘插入的值’)
.extend( 可迭代对象) 通过可迭代对象,传入可迭代对象中的所有值
'''
append
insert
extand
'''
l1 = [0,1,2,3,]
l1.append('append') # [0, 1, 2, 3, 'append']
print(l1)
l1.insert(3,'insert3') #insert(指定索引值,插入内容)
print(l1) # [0, 1, 2, 'insert3', 3, 'append']
l2 = ['extend1','extend2'] # l2是可迭代对象iterable
l3 = range(4) # l3是可迭代对象iterable
l1.extend(l2)
print(l1) # [0, 1, 2, 'insert3', 3, 'append', 'extend1', 'extend2']
l1.extend(l3)
print(l1) # [0, 1, 2, 'insert3', 3, 'append', 'extend1', 'extend2', 0, 1, 2, 3]
4、列表的删除操作
remove(指定的值) 直接从列表中删除指定的值,此方法不通过索引
pop(索引) 如果pop方法中不传值,则从最后倒着删除,如果传索引,则删除索引处的值
'''
remove
pop
'''
l1 = [0, 1, 2, 3, 4, 5, 6]
a = l1.remove(3)
print(a) # None 不返回参数
print(l1) # [0, 1, 2, 4, 5, 6]
b = l1.pop()
print(b) # 6 未指定pop的参数,所以删除最后一个,并能返回删除的值
print(l1) # [0, 1, 2, 4, 5]
c = l1.pop(1)
print(c) # 1
print(l1) # [0, 2, 4, 5]
remove没有返回值;pop有返回值