Python - 数据类型
一、运算符
1.算数运算符
2.比较运算符
3.赋值运算符
4.逻辑运算符
5.成员运算符
二、基本数据类型
- 整数 int
- 字符串 str
- 布尔值 True False
- 列表 list
- 元组 tuple
- 字典 dict
1.int方法
>>> n1 =4 >>> n1.bit_length() # 查看n1用二进制表示,最少可以占几位 3 # >>> 000001002.str方法(方法中带有self意思不需要传任何参数,可以直接调用;有count,需要设置数值;start、end设置起始数值……)
>>> str1 = 'alex' >>> str1.capitalize() 'Alex'
>>> str1 = 'alex' >>> str1.center(20,'*') '********alex********' >>> str1.center(20) #默认会用空格填充 ' alex '
>>> str2 = 'alexdurand'
>>> str2.count('a') #在这个字符串中计算有多少个a
2
>>> str2 = 'alexdurand'
>>> str2.count('a',0,5) #加上起始位置,从下标0 到 5之间一共有多少个a
1
>>> str2 = 'alexdurand'
>>> str2.endswith('d') #str2以d结尾,所以返回True
True
>>> str2.endswith('d',0,4) #加上起始限制则不是d结尾,返回False
False
>>> str2 = 'alexdurand'
>>> str2.startswith('d')
False
>>> str2.startswith('al',0,4)
True
>>> str3 = 'alex\tdurand' #\t 这个是制表符,代表一个tab键 >>> str3.expandtabs() 'alex durand' >>> str3.expandtabs(30) #可以自定义数值一个tab等于多少个空格 'alex durand'
>>> str4 = 'alexdurand'
>>> str4.find('e') #找到e的下标为2
2
>>> str4.find('t') #在str4中没有t,所以找不到返回-1
-1
>>> str5='name:{0},age:{1}'
>>> str5.format('alex',19)
'name:alex,age:19'
str4.index('t')
Traceback (most recent call last):
File "", line 1, in
ValueError: substring not found
>>> str6 = 'alex97' >>> str6.isalnum() True
>>> str6.isalpha() False >>> str7 = 'alex' >>> str7.isalpha() True
>>> str8 = '422597' >>> str8.isdigit() True
>>> str9 ='alex' >>> str9.islower() True
>>> str10 = 'ALEx' >>> str10.isupper() False
>>> str10 = 'ALEx' >>> str10.lower() 'alex'
>>> str9 ='alex' >>> str9.upper() 'ALEX'
>>> str11 = ' \t ' >>> str11.isspace() True
>>> str12 = 'What Is It' #标题中每个单词的首字母都是大写,如果不是则False >>> str12.istitle() True
>>> str12 = 'WhAt is it' >>> str12.title() 'What Is It'
>>> li = ['alex','durand','kevin','jin'] >>> s = '..'.join(li) >>> print(s) alex..durand..kevin..jin
>>> str13 = 'alex' >>> str13.ljust(20,'*') 'alex****************'
>>> str13.rjust(20,'*') '****************alex'
>>> str14 = ' alex ' >>> str14.lstrip() 'alex '
>>> str14.rstrip() ' alex'
>>> str14.strip() 'alex'
>>> str15 = 'alexdurand'
>>> str15.partition('du')
('alex', 'du', 'rand')
>>> str15.partition('al')
('', 'al', 'exdurand')
>>> str15.replace('durand','kevin')
'alexkevin'
>>> str15.replace('a','b',1) #设定count值,只换了第一个
'blexdurand'
>>> str16='alexadladfe'
>>> str16.split('a') #以a作为分割,且删除a
['', 'lex', 'dl', 'dfe']
str16.split('a',2) #可以设置最多分割几个
['', 'lex', 'dladfe']
>>> str17 = 'alex\ndurand\nkevin' >>> str17.splitlines() ['alex', 'durand', 'kevin']
>>> str18 = 'aLeX DuRand' >>> str18.swapcase() 'AlEx dUrAND'
>>> str19 = 'alex' >>> str19.zfill(10) '000000alex'3.字符串索引&切片
>>> str1 = 'alexdurand' >>> str1[3] #索引,返回下标为3的字母 'x' >>> len(str1) #返回str1的长度 10 >>> str1[0:3] #切片 'ale' >>> str1[:] ##切片 'alexdurand' >>>4.for循环
>>> str1 = 'alexdurand' >>> for item in str1: ... print(item) ... ... a l e x d u r a n d5.list
#创建一个list >>> name = ['alex','durand','kevin','jin'] #索引 >>> name[0] #切片 >>> name[0:2] ['alex', 'durand'] 'alex' #len >>> name[2:len(name)] ['kevin', 'jin'] #for >>> for i in name: ... print(i) ... alex durand kevin jin6.list其他功能
>>> name.append('jin')
>>> name.append('jin')
>>> name
['alex', 'durand', 'kevin', 'jin', 'jin', 'jin']
>>> name.count('jin')
3
>>> temp = [11,2,33,45] >>> name.extend(temp) >>> name ['alex', 'durand', 'kevin', 'jin', 'jin', 'jin', 11, 2, 33, 45]
>>> name.index('kevin')
2
>>> name.insert(4,'li') >>> name ['alex', 'durand', 'kevin', 'jin', 'li', 'jin', 'jin', 11, 2, 33, 45]
>>> rm = name.pop() #将移除的元素赋值给rm >>> rm 45 >>> name.pop(1) #也可以指定要移除的元素的下标 'durand' >>> name ['alex', 'kevin', 'jin', 'li', 'jin', 'jin', 11, 2, 33]
>>> name.remove('jin') #从左开始
>>> name
['alex', 'kevin', 'li', 'jin', 'jin', 11, 2, 33]
>>> name.reverse() >>> name [33, 2, 11, 'jin', 'jin', 'li', 'kevin', 'alex']
>>> name [33, 2, 11, 'jin', 'jin', 'li', 'kevin', 'alex'] >>> del name[0:4] #删除指定切片值的元素,不包括后面那个下标的元素,这里只删除到了第3个元素 >>> name ['jin', 'li', 'kevin', 'alex'7.tuple(tuple使用的是小括号,和list几乎一样,list可以修改,tuple不能修改)
#创建tuple
>>> name_tuple = ('alex','durand','kevin')
#索引
>>> name_tuple[1]
'durand'
#len
>>> name_tuple[len(name_tuple)-1] #打印出最后一个元素
'kevin'
#切片
>>> name_tuple[1:2]
('durand',)
#for
>>> for item in name_tuple:
... print(item)
...
alex
durand
kevin
>>> name_tuple.index('kevin')
2
>>> name_tuple.count('alex')
1
8.dict(字典的每个元素都是键值对,字典没有切片)
#创建字典
>>> user_info={'name':'alex','age':19}
#索引,索引取值时,如果key不存在就报错,建议使用get方法
>>> user_info['name'] #他的索引就是每个元素的对应的key
'alex'
#for 输出key
>>> for item in user_info:
... print(item)
...
name
age
#获取所有keys, for循环也可以
>>> user_info.keys()
dict_keys(['name', 'age'])
#获取所有values, for循环也可以
>>> user_info.values()
dict_values(['alex', 19])
#获取所有键值对
>>> user_info.items()
dict_items([('name', 'alex'), ('age', 19)])
#用for循环获取键值对
>>> for k,v in user_info.items():
... print(k,v)
...
name alex
age 19
>>> user_info
{'name': 'alex', 'age': 19}
>>> user_info.clear()
>>> user_info
{}
>>> user_info.get('age',19) #上面已经清除了所有内容,所以age这个key不存在,可以在这是一个数值
19
>>> user_info={'name':'alex','age':19}
>>> user_info.pop('name')
'alex'
>>> user_info
{'age': 19}
>>> del user_info['name'] #这里跟的是[],而pop是()
>>> user_info
{'age': 19}
>>> user_info ={'name1':'durand','name2':'alex','name3':'kevin'}
>>> user_info.popitem()
('name3', 'kevin')
>>> user_info
{'name1': 'durand', 'name2': 'alex'}
>>> new_dict = {'dd':'tt','gg':'jj'}
>>> user_info.update(new_dict)
>>> user_info
{'name1': 'durand', 'name2': 'alex', 'dd': 'tt', 'gg': 'jj'}
9.enumerate方法 #为可迭代的对象添加序号
>>> li = ['name','age','sexy'] >>> for k,v in enumerate(li): #默认迭代list的时候只有一个数值,而使用enumerate可以给每个元素添加序号,默认从0开始,所以赋值的时候需要k,v两个数值 # for k,v in enumerate(li,1): # 后面可以设置默认序号 ... print(k,v) ... 0 name 1 age 2 sexy10.range方法 #指定范围,生成指定的数字,与2.7版本不同,3x版本的range只有在被for循环迭代的时候才会一个一个生成,这样比较提高效率、节省内存
>>> for i in range(1,10): #使用for循环,迭代从1-10的数字,不包括10 ... print(i) ... 1 2 3 4 5 6 7 8 9 >>> for i in range(1,10,2): #可以设置步长,也可以用这样的方法直接打印出奇偶数 ... print(i) ... 1 3 5 7 9
评论
发表评论