python数据类型及常用方法
程序员文章站
2022-06-16 21:27:45
数字类型 #1. 整型 a1 = 10 a2 = int(20) #2. 长整型(py2特有,py3废弃) b1 = 12345678901234567890 b2 = long(100) #3. 浮点型 c1 = 3.14 c2 = float(5.12) #4. 复数类型 d = 2 + 3j ......
数字类型
#1. 整型 a1 = 10 a2 = int(20) #2. 长整型(py2特有,py3废弃) b1 = 12345678901234567890 b2 = long(100) #3. 浮点型 c1 = 3.14 c2 = float(5.12) #4. 复数类型 d = 2 + 3j
字符串类型
#1. 单行字符串 >>> s1 = 'abc' >>> ss1 = "xyz" #2. 多行字符串 >>> s2 = """first line second line last line""" #3. 字符串嵌套 #i) 单、双、三引号直接可以相互嵌套 #ii) 同类型引号直接嵌套需要转义:\' | \" #4. 索引取值 >>> s4 = 'oldboy' #i) 正向取值从0开始: >>> s4[0] 'o' #ii) 逆向取值从-1开始: >>> s4[-1] 'y' #5. 切片(顾头不顾尾,切片有步长) >>> s5 = 'my love' 语法:[起始索引:结束索引:步长] >>> s5[0:6:2] 'm o' ''' i) 步长省略,默认为1 ii) 起始索引省略,默认为从头开始 iii) 结束索引省略,默认到最后结束 ''' #6. 长度 >>> s6 = 'oldboy' >>> len(s6) >>> s6.__len__() #7. 成员运算 语法:in | not in:子字符串是否在父字符串中 >>> 'he' in 'hello' true #8. 首尾去白 语法:strip() >>> ' hello wolrd '.strip() 'hello world' >>> '===login success==='.strip('=') 'login success' #9. 拆分 语法:split(拆分规则, 拆分次数) >>> 'd:\\python36\\python3.exe'.split('\\', 1) ['d:', 'python36\\python3.exe'] #10. 纯数字判断isdigit() 方法检测字符串是否只由数字组成语法:isdigit() >>> '18'.isdigit() true #11. 循环(迭代) s10 = 'hello wolrd' count = 0 while count < len(s10): print(s10[count]) count += 1 for s in s10: print(s) ''' 总结: 1. 只可以存放一个值:s = 'abc' 2. 为不可变类:s = 'xyz' ''' #常用方法 #1. lstrip | rstrip:左 | 右 取留白 #2. rsplit:从右开始拆分 #3. lower | upper:全小 | 大写 #4. startswith | endswith:以某某开头 | 结尾 #5. format:格式化 >>> 'name:{},age:{}'.format('owen', 16) 'name:owen, age:16' >>> 'name:{0},age:{1}'.format('owen', 16) 'name:owen, age:16' >>>'name:{name},age:{age}'.format(name='owen', age=16) 'name:owen, age:16' #6. replace:替换 语法:replace(olds, news, count) #其他方法 #1. find | rfind:查找子字符串索引,无结果返回-1 #2. index | rindex:查找子字符串索引,无结果抛出异常 #3. count:计算子字符串个数 #4. center | ljust | rjust | zfill:按位填充 语法:center(所占位数, '填充符号') >>> s = '12' >>> print(s.center(10,'3')) 3333123333 >>> print(s.ljust(10,'3')) 1233333333 >>> print(s.rjust(10,'3')) 3333333312 #5. expandtabs: #规定\t所占空格数 #6. captialize | title | swapcase:首字母大写 | 单词首字母大写 | 大小写反转 #7. isdigit | isdecimal | isnumeric:数字判断 #isgigit 检测字符串是否只有数字组成 #isdecimal 检测字符串是否只包含十进制字符 #isnumeric 检测字符串是否只由数字组成。 这种方法是只针对unicode对象。 >>> str = u"this2009"; >>> print str.isnumeric(); >>> false >>> str = u"23443434"; >>> print str.isnumeric(); >>> false #8. isalnum | isalpha:是否由字母数字组成 | 由字母组成 #9. isidentifier:是否包含关键字 #10. islower | isupper:是否全小 | 大写 #11. isspace:是否是空白字符 #12. istitle:是否为单词首字母大写格式 ''' 了解:字符串运算 '''
列表
#1. 声明:可以包含不同类型数据,可以嵌套,[] >>> l1=[1,'age',true,18.0] #2. 索引取值:支持正向反向 >>> l1[1] 'age' >>> l1[-1] 18.0 #3. 切片(顾头不顾尾,切片有步长) >>> l1[0:2] [1,'age'] #4. 长度 >>> len(l1) 4 #5. 成员运算 #6. 增删改 l = [1, 2, 3, 4, 5] 增:append(obj) | insert(index, obj) >>> l.append(6) >>> l [1,2,3,4,5,6] >>> l.insert(1,6) >>> l [1,6,2,3,4,5,6] 删:remove(obj) | del(list[index]) | pop(index) >>> l.remove(1) >>> l [6,2,3,4,5,6] >>> del(l[1]) >>> l [6,3,4,5,6] >>> l.pop() 6 >>> l [6,3,4,5] >>> l.pop(0) [3,4,5] 改:l[index] = newobj >>> l[0]=1 >>>l [1,4,5] #7. 循环 for item in l: print(item) 1 4 5 #8. 反转 语法:reverse() >>> list1=[1,2,3] >>> list1.reverse() >>> list1 [3,2,1] #9. 排序 语法:sort(reverse=true) reverse=true从大到小,反之从小到大 >>> list1 = [2,3,1,5,6] >>> list1.sort(reverse=true) >>> list1 [6,5,3,2,1] ''' 总结: 1. 可以存放多个值:list = [1, 2, 3] 2. 为可变类型:list.append(4) 3. 有序存储:排列的索引取值 ''' #其他方法 #1. copy:复制 >>> list1 = [1,2,3] >>> list1.copy() [1,2,3] #2. clear:清空 >>> list1.clear() >>> list1 [] #3. count:计算成员个数 >>> list1 = [3,4,5] >>> list1.count(3) 1 #4. extend:添加多个值(参数为可迭代对象) >>> list1.extend([6,7,8]) >>> list1 [3,4,5,6,7,8] #5. index:查找索引 >>> list1.index(3) 0
元祖
#1. 声明:可以包含不同类型数据,可以嵌套,() t1 = (1,'11',11.0,true) 2. 索引取值:支持正向反向 >>> t1 = (1,'11',11.0,true) >>> t1[1] '11' >>> t1[-1] true ''' 总结: 1. 可以存放多个值:t = (1, 2, 3) 2. 为不可变类型 3. 有序存储:排列的索引取值 '''
字典
#1. 声明:key为不可变类型数据,value可以为任意类型,{} d1 = {'name': 'owen'} d2 = dict(name='owen') d3 = dict([('name','owen')]) d4 = {}.fromkeys(['name'], none) 2. 增删改查 增:d2['newkey'] = value 删:pop('key', defalutvalue) #如果没有key,返回defaulvalue 改:d2['key'] = newvalue 查:d1['key'] 了解:popitem():从末尾开始删除,返回(key, value) >>> d1 = {'name':'dgt'} >>> d1['name1':'boduo'] >>> d1 {'name':'dgt','name1':'boduo'} >>> >>>d1.pop('name') >>> d1 {'name1':'boduo'} >>> >>> d1[name1] = 'cangjin' >>> d1 {'name1':'cangjin'} >>> >>> d1['name1'] 'cangjin' 3. 长度:len >>> len(d1) 1 4. 成员运算:in | not in(用于判断key是否在字典里) >>> d1 = {'key1':'value1','key2':'value2'} >>> 'key1' in d1 true >>> 'value1' in d1 false 5. 循环 i) 直接for循环 ii) keys() iii) values() iv) items() >>> d1 = {'key1':'value1','key2':'value2'} >>> for d in d1: ... print(d) ... key1 key2 >>> d1.keys() dict_keys(['key1', 'key2']) >>> for k in d1.keys(): ... print(k) ... key1 key2 >>> d1.values() dict_values(['value1', 'value2']) >>> for v in d1.values(): ... print(v) ... value1 value2 >>> d1.items() dict_items([('key1', 'value1'), ('key2', 'value2')]) >>> for i in d1.items(): ... print(i) ... ('key1', 'value1') ('key2', 'value2') #6. 默认值取值:get 语法:get(key, defalutvalue) >>> d1.get('key1') 'value1' >>> d1.get('key3',3) 3 #7. 更新 语法:update(newdict) >>> d1.update({'name': 'dgt', 'age': 18}) >>> d1 {'key1': 'value1', 'key2': 'value2', 'name': 'dgt', 'age': 18} 8. 设置默认 语法:setdefault(key, defalutvalue) setdefault(key[, default]) if key is in the dictionary, return its value. if not, insert key with a value of default and return default. default defaults to none. ''' >>> d1 = {} >>> d1.setdefault('key','default') 'default' >>> d1 {'key': 'default'} >>> d1.setdefault('key','newdefault') 'default' >>> d1 {'key': 'default'} ''' 总结: 1. 可以存放多个值:dic = {'name': 'owen', age: 18} 2. 为不可变类型 3. 无序存储:安装key取值 '''
集合
#1. 声明: s = {1, 2, 3, 4, 5} #2. 集合运算 &交集 | |合集 | ^对称差集 | -差集 | 比较 >>> s1 = {1,2,3,4,5} >>> s2 = {4,5,6,7,8} >>> s1&s2 {4,5} >>> s1|s2 {1,2,3,4,5,6,7,8} >>> s1^s2 {1,2,3,6,7,8} >>> s1-s2 {1,2,3} >>> s2-s1 {8,6,7}