python学习笔记72582518

python学习笔记72582518

ID:37177240

大小:99.00 KB

页数:5页

时间:2019-05-21

python学习笔记72582518_第1页
python学习笔记72582518_第2页
python学习笔记72582518_第3页
python学习笔记72582518_第4页
python学习笔记72582518_第5页
资源描述:

《python学习笔记72582518》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Python学习笔记1.2006-12-201.1对象拷贝问题如果self.__class__不是UserDict,那么self一定是UserDict的某个子类(如可能为FileInfo),生活总是存在意外。UserDict不知道如何生成它的子类的一个原样的拷贝。幸运的是,Python带了一个模块可以正确地完成这件事,它叫做copy。在这里我不想深入细节(然而它是一个绝对酷的模块,是否你想到要自已研究它了呢?)1.2自定义Dictionary对象的几个重要方法1.3静态变量的使用两种使用方式本质上相同。1.1关于im

2、port尽量少用frommoduleimport*,因为判定一个特殊的函数或属性是从哪来的有些困难,并且会造成调试和重构都更困难。1.2关于__init____init__方法是可选的,但是一旦你定义了,就必须记得显示调用父类的__init__方法(如果它定义了的话)。这样更是正确的:无论何时子类想扩展父类的行为,后代方法必须在适当的时机,使用适当的参数,显式调用父类方法。应该总是在__init__方法中给一个实例的所有数据属性赋予一个初始值。这样做将会节省你在后面调试的时间,不必为捕捉因使用未初始化(也就是不存在)

3、的属性而导致的AttributeError异常费时费力。1.3关于重载Python不支持函数重载,后声明的函数会覆盖先声明的函数。1.4静态变量在Java中,静态变量(在Python中叫类属性)和实例变量(在Python中叫数据属性)两者是紧跟在类定义之后定义的(一个有static关键字,一个没有)。在Python中,只有类属性可以定义在这里,数据属性定义在__init__方法中。类属性可以作为类级别的常量来使用(这就是为什么我们在MP3FileInfo中使用它们),但是它们不是真正的常量。你也可以修改它们。在Pyt

4、hon中没有常量。如果你试图努力的话什么都可以改变。这一点满足Python的核心原则之一:坏的行为应该被克服而不是被取缔。1.5异常处理Python使用try...except来处理异常,使用raise来引发异常。在except后面还可以带else:1.6sys.modules每个Python类拥有一个内置的类属性__module__,它定义了这个类的模块的名字。将它与sys.modules字典复合使用,你可以得到定义了某个类的模块的引用。2.2006-12-212.1Python的函数在Python中没有子程序。只

5、有函数,所有的函数都有返回值(尽管可能为None),并且所有的函数都以def开始。在Python中,永远也不需要明确指定任何东西的数据类型。Python会根据赋给它的值在内部将其数据类型记录下来。1.1关于语言和类型Ø静态类型定义语言一种在编译期间数据类型固定的语言。大多数静态类型定义语言是通过要求在使用所有变量之前声明它们的数据类型来保证这一点的。Java和C是静态类型定义语言。Ø动态类型定义语言一种在运行期间才去确定数据类型的语言,与静态类型定义相反。VBScript和Python是动态类型定义的,因为它们确定一

6、个变量的类型是在您第一次给它赋值的时候。Ø强类型定义语言一种总是强制类型定义的语言。Java和Python是强制类型定义的。您有一个整数,如果不明确地进行转换,不能将把它当成一个字符串。Ø弱类型定义语言一种类型可以被忽略的语言,与强类型定义相反。VBScript是弱类型定义的。在VBScript中,您可以将字符串'12'和整数3进行连接得到字符串'123',然后可以把它看成整数123,所有这些都不需要任何的显示转换。所以说Python既是动态类型定义语言(因为它不使用显示数据类型声明),又是强类型定义语言(因为一旦一

7、个变量具有一个数据类型,它实际上就一直是这个类型了)。静态类型:在声明变量的时候就要确定它的类型,使用前必须声明;编码时确定。动态类型:编码时不需要确定变量的类型;运行时确定。1.2模块的导入路径模块的导入路径可以通过sys.path得到,它是一个列表。可以通过sys.path.append(…)增加导入路径。1.3关于__name__模块是对象,所有的模块都有一个内置属性__name__。如果import模块,__name__的值通常为模块的文件名,不带路径或者文件扩展名。如果直接运行模块,在这种情况下__name

8、__的值将是一个特别的缺省值,__main__。引入模块,__name__是文件名;运行模块,__name__是__main__。1.4list的操作索引和负索引;切片(slice);加法;乘法(数乘);+=。'append','count’,'extend','index','insert','pop','remove','reverse',

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。