- byte 类 编码有(utf-8,gbk,.....) 字符串在py3中编码(unicode)
- 把字符串(unicode),转换成字节(utf-8,gbk......)
#示例 name = "海娇" # # 把字符串(unicode),转换成字节(utf-8) v1 = name.encode('utf-8') # # 把字符串(unicode),转换成字节(gbk) v2 = name.encode('gbk') print(v1) #输出: b'\xe6\xb5\xb7\xe5\xa8\x87' print(v2) #输出: b'\xba\xa3\xbd\xbf'
- 注:内存中都是0101010,具体是什么样子的01001,需要根据编码来决定。不同编码的01010,互相不认识。
- int 类 在各编码中 int类都是用ascii码
- 将数字转化成字节类型:x.to_bytes(n,'big') 将整数x转换成n个字节,little/big表示生成字节的顺序,big表示从前往后生成,即最后一位显示生成的字节
- 将字节类型转化成数字: int.from_byte(x,'big') x为字节类型,big表示从前往后转换
#示例 val=2 result = val.to_bytes(6,'big') print(result) #ddd b'\x00\x00\x00\x00\x00\x02' data = int.from_bytes(result,'big') print(data) # 2
- str类功能
# a = 'swhthaitun' b=a.capitalize() #首字母大写 b=a.upper() #全大写 b=a.lower() #全小写 b=a.strip() #区空格 b=a.lstrip() #左区空格 b=a.rstrip() #有去空格 b=a.split('h',1) #根据第1个h分割字符串成列表 b=a.replace('h','e') #把h替换成e b='_'.join(a) #把_加入到a中 s_w_h_t_h_a_i_t_u_n b=a.startswith('s') #判断字符串是否是以s开头 True b=a.endswith('n') #判断字符串是否是以n结尾 True b=a.isdecimal() #判断字符串是否是全部是数字 False b=a.encode('utf-8') #把a字符串转化成用utf-8编码的字节 b'swhthaitun' b=a.find('h') #字符串a中是否存在h,若存在则输出发现第一个h的索引号,若不存在则输出-1 2 b=a.index('z') #字符串a中是否存在h,若存在则输出发现第一个h的索引号,报错 b=a.casefold() #字符串a全部小写 swhthaitun b=a.count('h') #字符串a内有几个h 2 b=a.count('h',0,4) #字符串a中索引号从0到4(不包含4)内有几个h 1 b=a.ljust(11,'*') #字符串a左对齐,填充空格键到制定长度,若长度小与字符串长度,则输出字符串 填充默认为空格 swhthaitun* b=a.rjust(11,'*') #字符串a右对齐,填充空格键到制定长度,若长度小与字符串长度,则输出字符串 填充默认为空格 *swhthaitun b=a.center(20,'*') #生成一个长度为20是的字符串,字符串a居中 *****swhthaitun***** a = 'swhtha\titun' b=a.expandtabs(20) #根据制表符把制定宽度的TAB键进行分割 swhtha itun
a = 'alex中文1'
b=a.isalnum() #判断字符串a中是否有字母(中文属于字母)或数字 True
b=a.isalpha() #判断字符串a中是否只有字母(中文属于字母) False
print(b)
b=a.format() #字符串格式函数str.format() name = "我叫{0},年龄{1}" b=name.format('海燕','18') #输出:我叫海燕,年龄18 print(b) name = "我叫{1},年龄{0}" b=name.format('18','海燕') #输出:我叫海燕,年龄18 print(b) name = "我叫{name},年龄{age}" b=name.format(name='海燕',age='18') #输出:我叫海燕,年龄18 print(b) li=['海燕','18'] name = "我叫{0},年龄{1}" b=name.format(*li) #输出:我叫海燕,年龄18 print(b) dic={'name':'海燕','age':'18'} name = "我叫{name},年龄{age}" b=name.format(**dic) #输出:我叫海燕,年龄18 print(b)
table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 7678} for name, phone in table.items(): print('{0} ==> {1}'.format(name, phone)) #输出 Sjoerd ==> 4127 Jack ==> 4098 Dcab ==> 7678
name = "i am xxx" print(name.title()) #字符串中所有单词的首字母都是大写开始 I Am Xxx
print(name.istitle() #字符串中所有单词的首字母是否为大写 False
content = "5+9+2" v = content.split("+") print(v) ['5', '9', '2'] v = content.rsplit("+",1)
print(v) ['5+9', '2']
v = content.split("+",1) print(v) ['5', '9+2'] v = content.partition("+") print(v) 返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。 ('5', '+', '9+2') v = content.rpartition("+") print(v) ('5+9', '+', '2')
content = "mid\rdle\napi\nDi\rsk" v = content.split('\n') print(v) ['mid\rdle', 'api', 'Di\rsk'] v = content.splitlines() print(v) 在输出结果里去掉换行符\n\t的列表 ['mid', 'dle', 'api', 'Di', 'sk']
name = 'alEx' print(name.swapcase()) 大写变小写,小写变大写 ALeX
maketrans() 方法用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。 注:两个字符串的长度必须相同,为一一对应的关系。 table = str.maketrans("aeiou",'12345') msg = "asdefasdfjasdifw[kmnakjudfasdf" val = msg.translate(table) print(val) 1sd2f1sdfj1sd3fw[kmn1kj5df1sdf
- list类功能
list.count(obj) obj:列表中统计的对象 返回值为元素在列表中出现的次数
aList = [123, 'Google', 'Runoob', 'Taobao', 123]; print ("123 元素个数 : ", aList.count(123)) print ("Runoob 元素个数 : ", aList.count('Runoob')) 123 元素个数 : 2 Runoob 元素个数 : 1
list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) seq:列表元素 该方法没有返回值,但会在已存在的列表中添加新的列表内容。 list1 = ['Google', 'Runoob', 'Taobao'] list2=list(range(5)) # 创建 0-4 的列表 list1.extend(list2) # 扩展列表 print ("扩展后的列表:", list1) 扩展后的列表: ['Google', 'Runoob', 'Taobao', 0, 1, 2, 3, 4]
list.index(obj) 用于从列表中找出某个值第一个匹配项的索引位置。 obj -- 查找的对象 返回查找对象的索引位置,如果没有找到对象则baocuo list1 = ['Google', 'Runoob', 'Taobao'] print ('Runoob 索引值为', list1.index('Runoob')) print ('Taobao 索引值为', list1.index('Taobao')) Runoob 索引值为 1 Taobao 索引值为 2
list.insert(index, obj) 用于将指定对象插入列表的指定位置。 index -- 对象obj需要插入的索引位置。obj -- 要插入列表中的对象。没有返回值,但会在列表指定位置插入对象。 list1 = ['Google', 'Runoob', 'Taobao'] list1.insert(1, 'Baidu') print ('列表插入元素后为 : ', list1) 列表插入元素后为 : ['Google', 'Baidu', 'Runoob', 'Taobao']
list.pop(obj=list[-1]) 用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。 obj -- 可选参数,要移除列表元素的对象 返回从列表中移除的元素对象 list1 = ['Google', 'Runoob', 'Taobao'] list1.pop() print ("列表现在为 : ", list1) list1.pop(1) print ("列表现在为 : ", list1) 列表现在为 : ['Google', 'Runoob'] 列表现在为 : ['Google']
list.remove(obj) 用于移除列表中某个值的第一个匹配项。 obj -- 列表中要移除的对象 没有返回值但是会移除列表中的某个值的第一个匹配项 list1 = ['Google', 'Runoob', 'Taobao', 'Baidu'] list1.remove('Taobao') print ("列表现在为 : ", list1) list1.remove('Baidu') print ("列表现在为 : ", list1) 列表现在为 : ['Google', 'Runoob', 'Baidu'] 列表现在为 : ['Google', 'Runoob']
list.sort([func]) 对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数 func -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序 没有返回值,但是会对列表的对象进行排序 aList = [123, 'xyz', 'zara', 'abc', 'xyz']; aList.sort(); print "List : ", aList; List : [123, 'abc', 'xyz', 'xyz', 'zara'] aList = [123, 321, 231, 251,99 ] aList.sort() print(aList) [99, 123, 231, 251, 321] 从小到大排列
list.clear() 清空列表,类似于 del a[:] 没有返回值 list1 = ['Google', 'Runoob', 'Taobao', 'Baidu'] list1.clear() print ("列表清空后 : ", list1) 列表清空后 : []