Python - 数据类型
一、运算符
1.算数运算符




二、基本数据类型
- 整数 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') 18.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
评论
发表评论