byte数据类,list数据类

 

 

- 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)
列表清空后 :  []

 


posted @ 2017-08-23 19:09  JAYWX  阅读(482)  评论(0编辑  收藏  举报