字符串和编码
一:编码
- ASCII:是只支持英文的编码方式
- GB2312:是支持中文的编码方式
- Unicode:支持所有语言的编码方式
- UTF-8:“可变长编码”的Unicode,数字1-6个字节,英文字母1个字节,汉字3个字节,生僻的字符4-6个字节,所以如果网络传输都是用UTF-8,因为传输和存储方便
二:字符串
- 由于Python比Unicode出现的早,所以早期的Python只支持ASCII编码,使用ord()和chr()函数可以将字母和数字转换
>>> ord('Z')
90
>>> chr(90)
'Z'
- Python使用u’…’标识Unicode的字符串
- len()函数返回字符串长度
- Unicode -> UTF-8使用encode编码
- UTF-8 -> Unicode使用decode解码
- 格式化字符串使用%
>>> 'hello, %s' % ('Mick')
'hello, Mick'
Python中的list和tuple
一:list是有序的集合,可以使用一些方法对其进行操作
- append: 追加一个元素
- insert:向指定位置添加元素
- pop:删除元素,可以使用pop(index)来删除指定元素
- len()方法可以获取list的长度
- 一个list包含各种类型的元素
二:tuple也是有序的,叫元祖,但是tuple一旦初始化就不能修改,所以他没有对它进行操作的方法,这里所说的不变指的是每个元素的引用不变
条件判断和循环
一:if elif判断
age = 3
if age >= 18:
print 'adult'
elif age >= 6:
print 'teenager'
else:
print 'kid'
二:循环
- for … in循环
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print name
- Python还提供了一个自动生成整数序列的方法range()
>>> range(5)
[0, 1, 2, 3, 4]
- name计算0-100的和就可以这样写
sum = 0
for x in range(100):
sum = sum + x
print sum
dict和set
一:dict
- dict在其他语言中成为map,它采用的(key - value)的存储方式,并且是无序。最大特点是查询速度及其快,但是非常的耗内存
- 判断dict是否包含某个key有两种方法:
>>> 'tomas' in d
>>> False
>>> d.get('tomas', -1)
>>> -1
二:set
- set中没有重复的key,如果有重复的会自动过滤掉重复的数据
- set和dict一样,不可以放入可变对象(因为不能判断可变对象是否相等,所以就无法保证set内部不会有重复元素)