is 和 == 的区别,utf和gbk的转换,join用法
is 和 == 的区别 # is 比较的是内存地址 # == 比较的是值 a = 'alex' b = 'alex' #int,str(小数据池)会被缓存,为了节约内存 print(id(a),id(b)) 小数据库:int范围-5~256,str范围不能包含特殊字符 lst = ['jj','ll'] lst2 = ['jj','ll'] #不一样,相当于两栋房子各有100万,仍是两栋房子 print(id(lst),id(lst2)) a = [1,2,3] b = a #true,判断两个对象是否指向同一个对象 c =b print(c is a)
utf和gbk的转换: s = '你好啊' a = s.encode('utf-8') print(a) a = b'\xe4\xbd\xa0\xe5\xa5\xbd\xe5\x95\x8a' s = a.decode('utf-8') c = s.encode('gbk') print(c)
join用法 s='_'.join(['a','b','c']) print(s) #join可以把列表转成字符串 a = ['刘德华','张学友''谢霆锋'] b = '**'.join(a) print(b) a = '刘德华**张学友**谢霆锋' aa = a.split('**') #split可以把字符串转成列表 print(aa) s = '-'.join('麻花藤') print(s) join(可迭代对象)