python学习笔记72582518.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Python学习笔记 2006-12-20 对象拷贝问题 如果 self.__class__ 不是 UserDict,那么 self 一定是 UserDict 的某个子类(如可能为 FileInfo),生活总是存在意外。 UserDict 不知道如何生成它的子类的一个原样的拷贝。 幸运的是,Python 带了一个模块可以正确地完成这件事,它叫做 copy。在这里我不想深入细节(然而它是一个绝对酷的模块,是否你想到要自已研究它了呢?) 自定义 Dictionary 对象的几个重要方法 静态变量的使用 两种使用方式本质上相同。 关于 import 尽量少用 from module import * ,因为判定一个特殊的函数或属性是从哪来的有些困难,并且会造成调试和重构都更困难。 关于 __init__ __init__ 方法是可选的,但是一旦你定义了,就必须记得显示调用父类的 __init__ 方法(如果它定义了的话)。这样更是正确的:无论何时子类想扩展父类的行为,后代方法必须在适当的时机,使用适当的参数,显式调用父类方法。 应该总是在 __init__ 方法中给一个实例的所有数据属性赋予一个初始值。这样做将会节省你在后面调试的时间,不必为捕捉因使用未初始化(也就是不存在)的属性而导致的 AttributeError 异常费时费力。 关于重载 Python不支持函数重载,后声明的函数会覆盖先声明的函数。 静态变量 在 Java 中,静态变量(在 Python 中叫类属性)和实例变量(在 Python 中叫数据属性)两者是紧跟在类定义之后定义的(一个有 static 关键字,一个没有)。在 Python 中,只有类属性可以定义在这里,数据属性定义在 __init__ 方法中。 类属性可以作为类级别的常量来使用(这就是为什么我们在 MP3FileInfo 中使用它们),但是它们不是真正的常量。你也可以修改它们。 在 Python 中没有常量。如果你试图努力的话什么都可以改变。这一点满足 Python 的核心原则之一:坏的行为应该被克服而不是被取缔。 异常处理 Python 使用 try...except 来处理异常,使用 raise 来引发异常。 在 except 后面还可以带 else: sys.modules 每个 Python 类拥有一个内置的 类属性 __module__,它定义了这个类的模块的名字。将它与 sys.modules 字典复合使用,你可以得到定义了某个类的模块的引用。 2006-12-21 Python 的函数 在 Python 中没有子程序。只有函数, 所有的函数都有返回值 (尽管可能为 None) , 并且所有的函数都以 def 开始。在 Python 中, 永远也不需要明确指定任何东西的数据类型。Python 会根据赋给它的值在内部将其数据类型记录下来。 关于语言和类型 静态类型定义语言 一种在编译期间数据类型固定的语言。大多数静态类型定义语言是通过要求在使用所有变量之前声明它们的数据类型来保证这一点的。 Java 和 C 是静态类型定义语言。 动态类型定义语言 一种在运行期间才去确定数据类型的语言, 与静态类型定义相反。 VBScript 和 Python 是动态类型定义的, 因为它们确定一个变量的类型是在您第一次给它赋值的时候。 强类型定义语言 一种总是强制类型定义的语言。 Java 和 Python 是强制类型定义的。您有一个整数, 如果不明确地进行转换 , 不能将把它当成一个字符串。 弱类型定义语言 一种类型可以被忽略的语言, 与强类型定义相反。 VBScript 是弱类型定义的。在 VBScript 中, 您可以将字符串 12 和整数 3 进行连接得到字符串123, 然后可以把它看成整数 123 , 所有这些都不需要任何的显示转换。 所以说 Python 既是 动态类型定义语言 (因为它不使用显示数据类型声明) , 又是 强类型定义语言 (因为一旦一个变量具有一个数据类型, 它实际上就一直是这个类型了) 。 静态类型:在声明变量的时候就要确定它的类型,使用前必须声明;编码时确定。 动态类型:编码时不需要确定变量的类型;运行时确定。 模块的导入路径 模块的导入路径可以通过 sys.path 得到,它是一个列表。 可以通过 sys.path.append(…) 增加导入路径。 关于 __name__ 模块是对象, 所有的模块都有一个内置属性 __name__。如果 import 模块, __name__ 的值通常为模块的文件名, 不带路径或者文件扩展名。如果直接运行模块, 在这种情况下 __name__ 的值将是一个特别的缺省值, __main__。 引入模块,__name__ 是文件名;

文档评论(0)

tcpe + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档