Python学习知识清单 基础语法。 Pyhton与C语言有一定的联系,但要注意一下两种思维方式的不同。 列表的使用。 定义空列表。 List = [ ] 列表的长度 len(list) 列表的组合 list1 += list2 判断元素x是否位于列表 if x in list: 列表的遍历(正序逆序,和附加索引的遍历) for x in list:(正序) for x in list[::-1]:(逆序) index(索引) value(值) enumerate(sequence, [start=0]) sequence – 一个序列、迭代器或其他支持迭代对象。 start –> 下标起始位置。 例如1: list = [1,2,3,4] for index, value in enumerate(list): print(index, value) 运行结果: list = [1,2,3,4] for index, value in enumerate(list,start=2): print(index, value) 例如2: list = [1,2,3,4] for index, value in enumerate(list,start=2): print(index, value) 运行结果: 2 1 3 2 4 3 5 4 求列表元素的最大最小值 max(list) min(list) 求列表元素的平均值(前提列表元素都是数字) sum(list) / len(list) 在列表末尾添加新的对象X list.append(X) 统计某个元素X在列表中出现的次数 list.count(X) #在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表) list.extend 从列表中找出某个值value第一个匹配项的索引位置 list.index(value) 将对象value插入列表某位置index list.insert(index, value) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 list.pop([index = -1]) 使用方法: >>> list = [1,2,3,4] >>> list.pop(1) 2 >>> list [1, 3, 4] 移除列表中某个值value的第一个匹配项 list.remove(value) 反转列表中元素 list.reverse 对原列表进行排序(正序逆序,关键字排序,这个自己百度 list.sort( key=None,reverse=False) 清空列表 list.clear 复制列表 list.copy 删除列表元素 del list[index] 字典的使用。 创建空字典 dict = { } 判断元素是否在字典 If key in dict: 计算字典元素个数 len(dict) 添加元素到字典 dict[key] = value update方法 如果存在则更新,不存在则添加 dict.update({key:value}) 示例: >>> d = {1:2,2:3} >>> d.update({3:4}) >>> d >>> d.update({3:5}) >>> d 字典的get方法 字典 get 函数返回指定键的值,如果值不在字典中返回默认值。 key – 字典中要查找的键。 default – 如果指定键的值不存在时,返回该默认值值。 遍历字典 for key, value in dict.items: 字典键 dict.keys 字典值 dict.values 删除键 del dict[key] 删除字典 del dict 清空字典 dict.clear 集合的使用 创建一个集合 s = {x1,x2,x3……} # (创建空集合) s = set 在集合中添加一个新的元素e;如果元素已经存在,则不添加 s.add(e) 从集合中删除一个元素,如果元素不存在于集合中,则会产生一个KeyError错误 s.remove(e) 从集合S中移除一个元素e; s.discard(e) 清空集合内的所有元素 s.clear 从集合S中删除一个随机元素;如果此集合为空,则引发KeyError异常 s.pop 计算元素个数 len(s) 判断元素e是否存在于s If e in s: If e not in s: 对于集合X,Y 差集 X – Y 并集 X | Y 交集 X & Y 对称差集(项在t或s中,但不会同时出现在二者中) X ^ Y 判断集合的包含关系 例如:(X 包含 Y,Y ⊆ X ) >>> X = {1,2,3,4,5,6} >>> Y = {2,3,4,5} >>> X > Y True >>> X >= Y True >>> X < Y False 实战1:(校赛试题) 题目描述: 详见 OJ 2522: 咕咕的的复复读读机机 大意:输入n和n个数字,求出现次数最多的数字。 示例代码: n = int(input) #输入n L =list(map(int, input.split)) #n个数字存入到L列表 print(max(set(L), key = L.count)) #求出出现次数最多的数字 实战2:(校赛试题) 题目描述 详见 OJ 2521: 文本修正 大意:读取一行字符串,如果是单词且是’henan’则变为’Henan’ 示例代码: //s = input.split 现在的s是存储字符串的列表 s = input.split # 读取一行字符串,用空格分隔单词 for i in s: # 遍历字符串的单词 if i == 'henan': # 满足条件,改变且输出 print('Henan', end=' ') else: print(i, end=' ') 注:今年校赛解出两题且总时长60分钟以内就可以拿奖。 分支语句 基本形式 If ………: elif ………: elif ………: else ………: 且——或关系 在A和B条件下 If A and B: If A or B: 特殊用法(连续判断) >>> X = 22 >>> if 20 <= X <= 30: print(X) 22 >>> 20 <= X <= 30 True 判断存在/不存在;是/不是 If x (not) in s: If x (not) is s: 循环结构 循环结构和C语言类似。 for in ……: else: while (条件): else: 循环体加else语句,循环正常结束才执行的。 思考。循环了几次? >>> for i in range(6): i += 3 答案是6次 函数 定义函数的规则: 1、函数代码块以def关键字开头,后接函数表示符名称和圆括号。 2、任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。 3、函数的第一行语句可以选择性地使用文档字符串-用于存放函数说明 4、函数内容以冒号起始,并且缩进 5、return[表达式]结束函数,选择性地返回一个值给调用方,不带表达式的return相当于返回None。 全局变量 global 保留字 1.位置参数传递 2.关键字传递 关键字(keyword)传递是根据每个参数的名字传递参数。关键字并不用遵守位置的对应关系。 def fun(a,b,c) return a+b+c print(f(1,c=3,b=2)) 3.参数默认值 在定义函数的时候,使用形如c=10的方式,可以给参数赋予默认值(default)。如果该参数最终没有被传递值,将使用该默认值。 def f(a,b,c=10): return a+b+c print(f(3,2)) print(f(3,2,1)) 在第一次调用函数f时, 我们并没有足够的值,c没有被赋值,c将使用默认值10.第二次调用函数的时候,c被赋值为1,不再使用默认值。 4.包裹传递/收集参数 可以传递任意个参数 5.解包裹 类 Python类与实例化 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。 类的封装 封装,顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容。 类的方法 在类地内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例。 类的继承 定义父类 子类继承父类 (山东掌趣网络 时间仓促,以上没有涉及的知识点请自己查找相关的资料) |
|