标签:循环 增加 逗号 安全 动态语言 解决 remove 布尔 统一
数据结构和变量
字符编码
Unicode编码:将所有的语言统一到一套编码中,解决乱码问题。Unicode常用两个字节表示一个字符(偏僻的字符需要4个字节)。Python3中字符串使用Unicode,直接支持多语言。
UTF-8编码:可变长编码,将一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,生僻的字符为4-6个字节。
在计算机内存中统一使用Unicode编码,在需要保存到硬盘或需要传输的时候转换为UTF-8编码;在浏览网页的时候服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器。
传输数据时,要把str转换为bytes,可以通过encode()方法:
>>> ‘ABC‘.encode(‘ascii‘)
b‘ABC‘
>>> ‘你好‘.encode(‘utf-8‘)
b‘\xe4\xbd\xa0\xe5\xa5\xbd‘
从网络或磁盘读取字节流,要把bytes转换为str,可以通过decode()方法:
>>> b‘ABC‘.decode(‘ascii‘)
‘ABC‘
>>> b‘\xe4\xbd\xa0\xe5\xa5\xbd‘.decode(‘utf-8‘)
‘你好‘
中文必须使用UTF-8编码,因此若源代码中包含中文,需按照UTF-8读取源代码,否则可能输出乱码。
格式化
在Python中,% 用来实现格式化,%运算符用来格式化字符串。在字符串内部,%s表示用字符串替换,%d表示用整数替换,%f表示用浮点数替换,%x表示用十六进制整数替换。
小窍门:如果不确定应该用什么,使用%s永远起作用,它会将任何数据类型转换为字符串。
list和tuple
list:一种有序集合,可以随时添加或删除其中的元素。
创建列表
>>> test = [‘A‘,‘B‘,‘C‘]
>>> test
[‘A‘, ‘B‘, ‘C‘]
访问列表元素:使用索引
>>> test[0]
‘A‘
>>> test[1]
‘B‘
>>> test[2]
‘C‘
>>> test[-1]
‘C‘
>>> test[-2]
‘B‘
>>> test[-3]
‘A‘
追加元素 append()
>>> test.append(‘D‘)
>>> test
[‘A‘, ‘B‘, ‘C‘, ‘D‘]
插入元素 insert()
>>> test.insert(1,‘E‘)
>>> test
[‘A‘, ‘E‘, ‘B‘, ‘C‘, ‘D‘]
删除元素 pop()
>>> test.pop() # 删除末尾元素
‘D‘
>>> test
[‘A‘, ‘E‘, ‘B‘, ‘C‘]
>>> test.pop(1) # 删除指定索引元素
‘E‘
>>> test
[‘A‘, ‘B‘, ‘C‘]
替换元素:直接赋值
>>> test[1] = 1
>>> test
[‘A‘, 1, ‘C‘]
注意:list内元素的数据类型可以不同
tuple:一种有序列表,一旦初始化就不能修改
>>> tuple_test = (‘A‘,‘B‘,‘C‘)
>>> tuple_test
(‘A‘, ‘B‘, ‘C‘)
tuple没有append()、insert()方法,也不能赋值为另外的元素;由于tuple不可变(指向不变,若list为tuple中元素,list可变,但tuple指向list不变),因此代码更加安全。
注意:创建单元素tuple时,为避免冲突,要使用逗号,
>>> tuple_test = (1,)
条件判断
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>
循环
注意:break与continue会造成代码执行逻辑分叉过多,容易出错,少用为宜。
dict
Python内置字典,使用键-值(key-value)存储,具有极快的查找速度
>>> dict_test = {‘apple‘:20,‘banana‘:10}
>>> dict_test[‘apple‘]
20
与list比,dict有以下几个特点:
list:
注意:dict的key必须为不可变对象
set
set也是一组key的集合,但不存储value,且key不能重复。set可以看作数学意义上无序和无重复元素的集合,两个set可以做数学意义上的交集和并集等操作。要创建一个set需要一个list作为输入集合
>>> set_test = set([1,1,2,3,4,5,6])
>>> set_test
{1, 2, 3, 4, 5, 6}
添加元素:add(key)
>>> set_test.add(7)
>>> set_test
{1, 2, 3, 4, 5, 6, 7}
删除元素:remove(key)
>>> set_test.remove(7)
>>> set_test
{1, 2, 3, 4, 5, 6}
标签:循环 增加 逗号 安全 动态语言 解决 remove 布尔 统一
原文地址:https://www.cnblogs.com/wanao/p/12716072.html