py2和py3中关于字符串的最大区别? python2中只有 unicode类型 而python3中有 string bytes两种类型 关于string和bytes的区分? 1.str是文本序列.bytes是字节序列 (文本=字符) 2.字节是没有编码的.文本是有编码的(单字节编码/双字节编码):utf-8 gbk,GB18030等 3.什么是编码?编码可以说是一种“字节的组织方式”字符是由字节组成的,而字符的编码规定了它是如何来组织这些字节的,即如何使用字节来表示这些字符 encode( )…
字符串及其常用操作xmind图 字符串的定义 1. 单引号/双引号 In [1]: s1='hello world' In [2]: s1="hello world" 2. 三对单引号/三对双引号 In [8]: s1='''hello ...: world'''; print(s1) #三个单引号支持字符串分行 hello world In [9]: s1="""hello world""" 转义 In [24]: s='I…
字符串格式化是拼接字符串的一种手段 join和+拼接字符串的方法,难以控制格式 printf style 字符串格式化 这种方法是从c语言继承过来的 # 待格式化的字符串:一个字符串存在占位符 In [1]: s='i love %s' # 传入的参数顺序地替换占位符,并返回替换之后的字符串,但原串不变 In [2]: s % ('python',) Out[2]: 'i love python' In [3]: s Out[3]: 'i love %s' # 传入的参数和占位符个数不匹配.或传…
1. 数据结构回顾 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于字符串,但是字符串是不可变序列,因此所有的元素赋值和切片赋值都是非法的. >>> website = 'http://www.python.org' >>> website[-3:] = 'com' Traceback (most recent call last): File "<pyshell#19>", line 1, in ? we…
集合及其常用操作Xmind图          集合的定义 # set( ) # {0,1,2} //注意不能用空的大括号来定义集合 # set(可迭代对象) In [1]: s=set();type(s) Out[1]: set In [2]: s={0,1,2};type(s) Out[2]: set In [3]: s=set(range(5));type(s) Out[3]: set 增加操作 1. add() In [8]: s={0,1,2} #在集合后添加单个元素 In [9]:…
字典及其常用操作Xmind图 关于字典 字典是一种key-value结构 字典是无序的 字典的定义 # {}大括号可以直接定义一个空字典 In [1]: d={};type(d) Out[1]: dict # {key:value} In [2]: d={'a':1,'b':2};print(d) {'a': 1, 'b': 2} # dict([(key,value)]) 可迭代对象的元素必须是一个二元组,二元组的第0个元素为key,第1个元素的为value In [6]: d=dict( […
线性结构的总结 列表list  元组tuple  字符串str  bytes  bytearray的共同点: 都是顺序存储.顺序访问的: 都是可迭代对象: 都可以通过索引访问 线性结构的特征: 可迭代 可通过len获取长度 可以使用下标操作符通过索引访问 可以切片 补充三个函数: enumerate() 同时获取index和value next()获取一个迭代器的下一个值 iter()把一个可迭代对象转化成一个迭代器 切片操作[start:stop] # 注意:以下几条规则的优先级,是按照顺序依…
### 解构的理解与用法 ### 解构是python很有特色的一个功能,被很多语言借鉴(例如ES6) # 元素按照顺序赋值给变量 In [31]: lst=list(range(5)) In [32]: head,*mid,tail=lst In [33]: print(head,tail) 0 4 In [34]: print(mid) [1, 2, 3] # 变量和元素个数必须匹配 In [36]: v1,v2,v3,v4,v5,v6=lst ValueError: not enough v…
列表及其常用操作_xmind图         about列表 列表是一个序列,用于顺序存储数据 列表分为两种:ArrayList(用数组实现).LinkedList(用链表实现) 定义与初始化 #list() 使用工厂函数list定义一个空列表 #[] 使用中括号定义一个空列表 #[1,2,3] 使用中括号定义有初始值的列表 #list(可迭代对象) 把可迭代对象转换为一个列表 In [1]: lst=list();print(lst) [] In [2]: lst=[];print(lst)…
定义和初始化 #tuple() 使用工厂函数tuple定义一个空元组 #() 使用圆括号定义一个空元组 #(1,2,3) 使用圆括号定义有初始值的元组 #tuple(可迭代对象) 把可迭代对象转换为一个元组 In [1]: tup=tuple();print(tup) () In [2]: tup=();print(tup) () In [3]: tup=(1,2,3);print(tup) (1, 2, 3) In [5]: tup=tuple(range(0,2));print(tup) (…