数据类型
数据类型可以归纳为以下几类:
bool
int,float
str
list,tuple,set,dict
总结:
bool值分为Ture和False
int和float都可以做数字运算
str有很多使用方法:
#strip方法:去掉字符串里的空格
s=' hello ' print(s) res=s.strip() res2=res.strip('h') #strip方法还可以去掉指定字符,但是只能去两头的 print(res2)
输出结果:
hello
ello
同理的还有rstrip和lstrip,分别是右边去空格和左边去空格,用法相同
#startswith和endswith
startswith是以“”为开头的字符串 “”为空的时候默认为以空格开头
endswith是以“”为结束的字符串 “”为空的时候默认为以空格结束
startswith和endswith方法得到的值为布尔值,只有True和False两种可能
s = ' hello ' res = s.strip() print(res.startswith('h')) print(s.endswith(' '))
输出结果为:
True
True
#replace:修改字符串的值
s = 'hello alex,age is 18,my name is alex' res = s.replace('alex','egon') #replace()里的值分别是要被修改之前的值,要修改之后的值 res1 = s.replace('alex','egon',1) #1是指改一行里的第一个值,不写默认全改 print(res)
print(res1)
输出结果为:
hello egon,age is 18,my name is egon hello egon,age is 18,my name is alex
#format %方法:字符串的拼接
name = input('your name :') print(name) print('hello %s,age is %s'%(name,18)) #%必须按顺序来写 print('hello {},age is {}'.format(name,18)) print('hello {0},age is {1}'.format(name,18)) #这两种方法也是按顺序传值,写不写0和1都可以实现 print('hello {name},age is {age}'.format(name=name,age=18)) #这里也可以传的是变量,用起来更活泛
输出结果为:
your name :cohen cohen hello cohen,age is 18 hello cohen,age is 18 hello cohen,age is 18 hello cohen,age is 18
#split方法:使输出的结果可以得到一个列表
s = 'hello alex,age is 18,my name is alex' l = s.split() #()里不写默认为以空格为分隔,效果等同s.split(' '),但是推荐用后面的 print(type(l)) #查看输出类型 print(l) l2 = s.split(',') #以','为分隔取出列表的元素 print(type(l2)) print(l2)
输出结果为:
<class 'list'> ['hello', 'alex,age', 'is', '18,my', 'name', 'is', 'alex'] <class 'list'> ['hello alex', 'age is 18', 'my name is alex']
#join方法:从列表里取出值拼接成字符串的形式
s = 'hello alex,age is 18,my name is alex' l = s.split() s2 = ' '.join(l) #以空格为元素分隔 print(s2)
输出结果为:
hello alex,age is 18,my name is alex
也可以从元祖里实现相同的功能
s = 'hello alex,age is 18,my name is alex' l = s.split() t=tuple(l) s2 = ' '.join(t) print(s2)
输出结果为:
hello alex,age is 18,my name is alex
#count方法:搜索到多少个指定的字符
s=str.count('aasfkjewkfekgerjeraaa','a') print(s) s2=str.count('alex','b') print(s2)
输出结果为:
5
0
#center方法:获取固定长度,中间对齐,两边不够用空格补齐
s=str.center('str',10) print(s)
输出结果为:
str
类似center的方法还有rjust,ljust,两者分别表示为右边对齐和左边对齐
s1=str.ljust('str',10) print(s1) s2=str.rjust('str',10) print(s2)
输出结果为:
str
str
#find方法:
s=str.find('cohen','o') print(s) s1=str.find('hello','l',3,5) print(s1)
输出结果为:
1 3
find是搜索指定字符串,有就输出一个在字符串里面第几个的值,多个值的情况下默认第一个值,但是可以指定搜索范围,定一个开始值和一个结束值,它就只会在搜索范围内搜索值,没有值的话会得到一个-1的值
还有一个rfind方法是从字符串的右边开始搜索,知道就好
#index方法:
s=str.index('hello','l') print(s)
输出结果为:
2
index方法和find方法作用是一样的,不同的是find搜索不到指定值的时候输出一个-1,而index方法会报错
s1=str.index('hello','a') print(s1)
Traceback (most recent call last): File "C:/Users/think/PycharmProjects/untitled/day34/番外:str.py", line 11, in <module> s1=str.index('hello','a') ValueError: substring not found
#isalnum方法:
s=str.isalnum('hello') print(s) s1=str.isalnum('hello123') print(s1) s2=str.isalnum('hello123..') print(s2)
输出结果为:
True
True
False
isalnum是用来判断字符串是否全是由字母或数字组成的,是的情况得到True,不是就会得到False
#isalpha方法:
s=str.isalpha('hello123') print(s) s1=str.isalpha('123') print(s1)
输出结果为:
True
False
isalpha是用来判断字符串是否全是由字母组成的,是的情况得到True,不是就会得到False
#isdigit方法:
s=str.isdigit('123') print(s) s1=str.isdigit('hello123') print(s1)
输出结果为:
True
False
isdigit的作用和刚刚的isalpha完全相反,这个是用来判断字符串是否全是由数字组成的
#islower方法:
s=str.islower('hello') print(s) s1=str.islower('Hello') print(s1)
输出结果为:
True
False
islower是用来判断字符串是否全是由小写字母组成的
#isupper方法:
s=str.isupper('Hello') print(s) s1=str.isupper('HELLO') print(s1)
输出结果为:
False
True
与刚刚的islower相反,isupper的作用是判断字符串是否全是由大写字母组成
#maketrans方法:
a='Hello World' b='Hola Cohen' s=str.maketrans(a,b) print(s)
输出结果为:
{72: 72, 101: 111, 108: 101, 111: 111, 32: 32, 87: 67, 114: 104, 100: 110}
maketrans的作用是把a和b中字符在ASCII对应的编号以键值对的形式形成一个字典,a和b的长度必须要一致,否则会报错
列表list的方法:
#append方法:
l = [] l.append(1) print(l)
输出结果为:
[1]
append方法是添加的作用,可以添加任意类型的元素
#count方法:
l = [1,2,3,4,5,6,3,4] n = l.count(3) print(n)
输出结果为:
2
和str的count一样,作用是搜索有多少个指定目标
#index方法:
l = [1,2,3,4,5,6,3,4] n = l.index(5) print(n)
输出结果为:
4
index的作用是找到指定目标的索引值
#pop方法:
l = [1,2,3,4,5,6,3,4] n = l.pop(1) print(l)
输出结果为:
[1, 3, 4, 5, 6, 3, 4]
作用是删除括号内索引值所代表的那个元素
#remove方法:
l = ['1','h','2','e','3'] n = l.remove('2') print(l)
输出结果为:
['1', 'h', 'e', '3']
作用是删除括号内的指定元素
#insert方法:
l = ['1','h','2','e','3',[123],{'1':'q'}] n = l.insert(0,2) print(l)
输出结果为:
[2, '1', 'h', '2', 'e', '3', [123], {'1': 'q'}]
作用是在指定索引值所在的位置添加一个指定的元素,括号内第一个值为索引值,第二个值为要添加的元素
#reverse方法:
l = ['1','h','2','e','3',[123],{'1':'q'}] n = l.reverse() print(l)
输出结果为:
[{'1': 'q'}, [123], '3', 'e', '2', 'h', '1']
作用是倒序查看
#clear方法:
l = ['1','h','2','e','3',[123],{'1':'q'}] n = l.clear() print(l)
输出结果为:
[]
作用是清空列表内所有元素
#extend方法:
l = ['1','h','2','e','3',[123],{'1':'q'}] n = l.extend([143255]) print(l)
输出结果为:
['1', 'h', '2', 'e', '3', [123], {'1': 'q'}, 143255]
作用是在列表的最后添加一个指定值,但是所添加的元素必须是一个可迭代对象
#sort方法:
l = [1,3,5,7,9,8,6,4,2,0] n = l.sort() print(l)
输出结果为:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
作用是排序,按照ASCII表的顺序
元祖tuple的方法:
#index方法:
t = (1,2,3,4,5) n = t.index(3) print(n)
输出结果为:
2
作用和列表的index一样,都是找到指定目标的索引值
#count方法:
t = (1,2,3,4,5,5,6,7,8,3,2,1) n = t.count(0) print(n)
输出结果为:
0
作用和列表的count一样,都是搜索有多少个指定目标
字典dict的方法:
#clear方法:
d = {'a':1,'b':2}
n = d.clear()
print(d)
输出结果为:
{}
作用是清空字典
#pop方法:
d = {'a':1,'b':2}
n = d.pop('a')
print(d)
输出结果为:
{'b': 2}
作用是删除指定的key的key所对应的值
#values方法:
d = {'a':1,'b':2}
n = d.values()
print(n)
print(d)
输出结果为:
dict_values([1, 2]) {'a': 1, 'b': 2}
作用是查看字典里的value值
#items方法:
d = {'a':1,'b':2}
for k,v in d.items():
print(k,v)
n = d.items()
print(n)
输出结果为:
a 1 b 2 dict_items([('a', 1), ('b', 2)])
作用是把字典转化为一个列表(可迭代对象),方便取值
#get方法:
d = {'a':1,'b':2}
n = d.get('a')
print(n)
输出结果为:
1
作用是取指定key的值

浙公网安备 33010602011771号