数据类型

数据类型可以归纳为以下几类:

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的值

 

posted @ 2017-04-26 19:26  CohenMing  阅读(92)  评论(0)    收藏  举报