- Python基本数据类型只有数字和字符串,基本数据类型都是不可修改的变量。其中,数字包括整型、浮点型和复数。字符串包括普通字符串、Raw字符串和转义字符。
- Python集合类对象有:列表、元组、集合和字典。注意这些集合中允许存放不同类型的的元素或对象。
- 注意不可修改变量(数字、字符串和元组)和可修改变量(列表、字典)的引用(即赋值语句时)存在的区别:不可修改变量进行赋值语句(如 x = y)时,x和y都指向相同对象(引用),但是y值指向对象改变时并不会影响x,因为不可修改变量每次使用都会创建新对象然后替换原本的引用。然而,可修改变量,如列表、字典虽然引用不会更改但是会发生引用所指向的内容修改。
- 多重赋值可用来交换两个变量。把它理解成”类似列表赋值操作“
- Python的序列包括列表、元组、字符串、Unicode字符串、Buffer对象和xrange对象。其中最常用的是列表、元组和字符串。序列公有的基本操作有索引、切片、序列加、序列乘、in、len、max和min.注意:max和min时需要list的类型是相同的,例如同是字符、数字或列表等,否则会抛出异常。
'''
以下是序列(列表、元组和字符串)的公用操作
'''
#列表
list_l = ['a','b','c',6]
print('序列(列表、元组和字符串)公用的基本操作包括如下:\n')
print('索引list_l[1]=',list_l[1])
print('切片list_l[1:]=',list_l[1:])
list_add = list_l + [7,8]
print('序列加list_add=',list_add)
list_br = list_l*3
print('序列乘list_br=',list_br)
isin = 'a' in list_l
print('in操作isin=',isin)
len = len(list_l)
print('len操作isin=',len)
list_l_max = [['z','z'],['d','e']]
max = max(list_l_max) #内部数据类型要一致,否则报错
print('max操作max=',max)
min = min(list_l_max) #内部数据类型要一致,否则报错
print('min操作min=',min)
#元组
tuple_t = ('a','b','c',6)
print('索引tuple_t[1]=',tuple_t[:])
#字符串
str_str = 'hello'
print('索引 str_str[1]=',str_str[1:8]) #索引溢出也可以,保护缓冲区安全 -
列表是容器类型,可以放入任何类型的对象。列表的基本方法有:append,count——统计某元素在列表出现的次数, extend——相当于序列加,但是是原地修改,序列加是创建一个新的对象, index——查找某个元素的索引值,找不到会抛出异常,insert——可在任意位置上插入一个元素, pop remove reverse sort——可传入key=len根据长度排序,该排序函数花样较多具体参见API;
'''
列表的基本方法有:append,count——统计某元素在列表出现的次数,
extend——相当于序列加,但是是原地修改,序列加是创建一个新的对象,
index——查找某个元素的索引值,找不到会抛出异常,insert——可在任意位置上插入一个元素,
pop remove reverse sort——可传入key=len根据长度排序
'''
#列表
list_l = ['a','b','c','da']
print('列表的基本方法包括如下:\n')
list_l.append('d')
print('append:',list_l)
print('count for \'d\':',list_l.count('d'))
list_l.extend(['y','x'])
print('extend:',list_l)
print('index:',list_l.index('d',4,10))
list_l.insert(4,'p')
print('insert:',list_l)
list_l.pop(4) #按位置移除
print('pop:',list_l)
list_l.remove('a') #按元素移除
print('remove:',list_l)
list_l.sort() #默认升序
print('sort:',list_l)
list_l.sort(reverse=True) #降序
print('sort reverse=True:',list_l)
list_l.sort(key=len,reverse=True)
print('sort key=len:',list_l)
- 元组跟列表差别不太,但是由于具有不可修改性,因此Python中很多内置函数返回值都是元组。
- 字典的键要求不可修改,因此键可以是数字、字符串和元组,字典的操作有查找、删除、增加、修改、len和in。字典的方法有:clear copy(注意用法,只是复制引用,可导入copy模块deepcopy进行深层复制),get setdefault hash_key items keys values pop popitem(随机删除其中一个) delete update;
- 集合分为可变集合(set)和不可变集合(frozenset)。集合基本操作有查找、添加、删除(remove和discard,remove删除不存在时会抛出异常,而discard不会),另外集合较特殊,有并(|)、交(&)、差(-)、子(超)集(>=或<=)或严格子(超)集(>或<)等操作,但是需要注意的是,在可变集合的前提下,a | b与a |=b具有完全不同的意义,前者会创建一个新对象,后面会原地修改a;
- 列表、元组、字典和集合通过赋值语句得到的新变量将是该对象的引用,若想复制一份对象,可分别用内置函数list()、dict()、set(),但是元组由于特殊的不可修改性,tuple()返回值还是该对象的引用。如图所示:


二、流程控制1.布尔表达式中为假的条件有如下可能:None False 0 ""空串 ''空串 ()空元组 []空列表 {}空字典2.断言,assert能够及时发现程序出错并退出程序。例如num = 50assert num>50, 'num is too smaller'3.break语句只跳出当前层的循环。4.列表推导式是利用原始集合创建或推导新集合的一种方法。列表推导式中的“列表”含义指的是该运算定义在列表中进行,并不是指仅仅针对列表操作,对于Python集合类对象(列表,元组,集合和字典)均通用。



