01 2022 档案
摘要:动态混入机制 l 在Python中比较特殊的是,可以动态地为自定义类和 对象增加或删除成员,这一点是和很多面向对象程序 设计语言不同的,也是Python动态类型特点的一种重 要体现 l Python类型的动态性使得我们可以动态为自定义类及 其对象增加新的属性和行为,俗称混入(mixin)机 制,这在
阅读全文
摘要:实例方法 l Python类的成员方法大致可以分为公有方法、私有方 法、静态方法、类方法和抽象方法这几种类型 l 公有方法、私有方法和抽象方法一般是指属于对象的 实例方法,私有方法名以两个下划线"__"开始,而抽 象方法定义在抽象类中要求派生类必须重新实现。在 外部,公有方法通过对象名直接调用,私有
阅读全文
摘要:类成员的访问保护机制示例-1 【 04P10.py】 >>> class Test: def __init__(self): self.a='A' self._b='B' self.__c='C' def f1(self): print("f1") def _f2(self): print("f2"
阅读全文
摘要:面向对象程序设计 l 面向对象程序设计思想使得大型软件设计更加灵活, 很好地支持代码复用和设计复用,代码具有更好的可 读性和可扩展性 l 面向对象程序设计将数据以及对数据的操作封装组成 对象,不同对象之间通过消息机制来通信或者同步。 相同类型对象(instance)通过分类、抽象形成类(class)
阅读全文
摘要:变量作用域与局部变量 l 变量起作用的代码范围称为变量的作用域,不同作用 域内变量名可以相同,互不影响 l 在函数内部定义的普通变量只在函数内部起作用,称 为局部变量。当函数执行结束后,局部变量自动删除 l 局部变量的引用比全局变量速度快,应优先考虑使用 l 如果局部变量与全局变量具有相同的名字,那
阅读全文
摘要:变量作用域与局部变量 l 变量起作用的代码范围称为变量的作用域,不同作用 域内变量名可以相同,互不影响 l 在函数内部定义的普通变量只在函数内部起作用,称 为局部变量。当函数执行结束后,局部变量自动删除 l 局部变量的引用比全局变量速度快,应优先考虑使用 l 如果局部变量与全局变量具有相同的名字,那
阅读全文
摘要:函数的基本语法 l 定义函数时,开头部分的注释并不是必需的,但可以 为用户提供友好的提示 l 定义函数时不需要声明函数的返回值类型,函数返回 值类型与return语句返回表达式的类型一致 l 不论return语句出现在函数的什么位置,一旦得到执 行将直接结束函数的执行 l 如果函数没有return语
阅读全文
摘要:for循环与while循环 l Python提供了两种基本的循环结构语句:while和for l for循环尤其适用于枚举序列或迭代对象中的元素 l 当循环带有else子句时,如果循环因为条件表达式不 成立或序列遍历结束而自然结束时则执行else结构中 的语句,如果循环是因为执行了break语句而导
阅读全文
摘要:多分支选择结构选择结构应用示例 【 03P9.py】 l 利用多分支选择结构将成绩从百分制变换到等级制 def func(score): if score > 100: return 'wrong score.must <= 100.' elif score >= 90: return 'A' el
阅读全文
摘要:条件表达式-1 l 在选择和循环结构中,条件表达式的值只要不是 False、0(或0.0、0j等)、空值None、空列表、空元组、 空集合、空字典、空字符串、空range对象或其他空 迭代对象,Python解释器均认为与True等价 l 几乎所有合法表达式都可作为条件表达式 l 算术运算符:+、-、
阅读全文
摘要:序列解包-1 l 使用序列解包功能对多个变量同时进行赋值,下面都 是合法的Python赋值方法 >>> x, y, z = 1, 2, 3 #多个变量同时赋值 >>> v_tuple = (False, 3.5, 'exp') >>> (x, y, z) = v_tuple >>> x, y, z
阅读全文
摘要:切片 l 切片适用于列表、元组、字符串、range对象等类型, 但作用于列表时功能最强大。可以使用切片来截取列 表中的任何部分,得到一个新列表,也可以通过切片 来修改和删除列表中部分元素,甚至可以通过切片操 作为列表对象增加元素 l 切片使用2个冒号分隔的3个数字来完成: l 第一个数字表示切片开始
阅读全文
摘要:集合 l 集合是无序可变序列,使用一对大括号(作者温馨提 示:这一点和字典很类似,千万不要搞混啊)作为界 定符,元素之间使用逗号分隔,同一个集合内的每个 元素都是唯一的,元素之间不允许重复 l 拓展知识:字典和集合的in操作比列表快很多。由于 Python字典和集合都使用hash表来存储元素,因此元
阅读全文
摘要:字典 l 字典( dictionary)是包含若干"键:值"元素的无序可 变序列,字典中的每个元素包含"键"和"值"两部分, 表示一种映射或对应关系,也称关联数组。定义字典 时,每个元素的"键"和"值"用冒号分隔,不同元素之 间用逗号分隔,所有的元素放在一对大括号"{ "和"} "中 l 字典中的"
阅读全文
摘要:元组-1 l 元组也是Python的重要序列结构。从形式上,元组的 所有元素放在一对圆括号中,元素之间使用逗号分隔。 >>> x = (1, 2, 3) #直接把元组赋值给一个变量 >>> type(x) #使用type()函数查看变量类型 <class 'tuple'> >>> x = (3) #
阅读全文
摘要:列表与列表推导式28 2 8 l 阿凡提与国王比赛下棋,国王说要是自己输了的话阿 凡提想要什么他都可以拿得出来。阿凡提说那就要点 米吧,棋盘一共64个小格子,在第一个格子里放1粒 米,第二个格子里放2粒米,第三个格子里放4粒米, 第四个格子里放8粒米,以此类推,后面每个格子里 的米都是前一个格子里的
阅读全文
摘要:列表元素访问 l 用下标直接访问列表元素,若下标不存在则抛出异常 >>> aList[3] = 5.5 >>> aList [3, 4, 5, 5.5, 7, 9, 11, 13, 15, 17] >>> aList[15] Traceback (most recent call last): Fi
阅读全文
摘要:列表元素增加示例【 02P15.py】 import time def Insert(): a = [] for i in range(10000): a.insert(0, i) def Append(): a = [] for i in range(10000): a.append(i) sta
阅读全文
摘要:Python序列概述 l Python序列类似于其他语言中的数组,但功能要强大 很多 l Python中常用的序列结构有列表、元组、字符串,字 典、集合以及range等对象也支持很多类似的操作 l 列表、元组、字符串支持双向索引,第一个元素下标 为0,第二个元素下标为1,以此类推;最后一个元素 下标
阅读全文
摘要:成员测试运算符in l 成员测试运算符in用于成员测试,即测试一个对象是 否为另一个对象的元素 >>> 3 in [1, 2, 3] #测试3是否存在于列表[1, 2, 3]中 True >>> 5 in range(1, 10, 1) #range()是生成指定范围数字的内置函数 True >>>
阅读全文
摘要:原始字符串 l 字符串界定符前面加字母r或R表示原始字符串,其中 的特殊字符不进行转义,但字符串的最后一个字符 不能是\。原始字符串主要用于正则表达式、文件路 径或者URL的场合 >>> path = 'C:\Windows\notepad.exe' >>> print(path) #字符\n被转义
阅读全文
摘要:Python变量命名-1 l 变量名必须以字母或下划线开头,大小写敏感,不 能有空格以及标点符号(括号、引号、逗号、斜线、 反斜线、冒号、句号、问号等) l 以下划线开头的变量在Python中有特殊含义;不能使 用关键字作变量名,可导入keyword模块后用print( keyword.kwlist
阅读全文
摘要:l 每个Python脚本在运行时都有一个"__name__"属性 l 如果脚本作为模块被导入,则其"__name__"属性的值被自动 设置为模块名 l 如果脚本独立运行,则其"__name__"属性值被自动设置为 "__main__" l 例如,假设文件test.py中只包含下面一行代码: prin
阅读全文
摘要:Python主程序 l 3.x:已经全面普及,最新版本3.11 l 启动"IDLE (Python GUI)"即可启动Python解释器并可 以看到当前安装的Python版本号 l 多版本共存与切换简便方法:修改系统环境变量path Python开发环境1 13 3 l 默认编程环境:IDLE l
阅读全文
摘要:python学习入门 Python是一种什么样的语言 l Python是跨平台、开源的解释型高级动态编程语言 l 除解释执行,Python还支持伪编译将源代码转换为字 节码来优化程序提高运行速度和对源代码进行保密, 并且支持使用py2exe、pyinstaller、cx_Freeze等类似 工具将P
阅读全文