Python解释执行原理
摘要:这里的解释执行是相对于编译执行而言的。我们都知道,使用C/C++之类的编译性语言编写的程序,是需要从源文件转换成计算机使用的机器语言,经过链接器链接之后形成了二进制的可执行文件。运行该程序的时候,就可以把二进制程序从硬盘载入到内存中并运行。 但是对于Python而言,python源码不需要编译成二进制代码,它可以直接从源代码运行程序。当我们运行python文件程序的时候,python解释器将源代码转换为字节码,然后再由python解释器来执行这些字节码。这样,python就不用担心程序的编译,库的链接加载等问题了。 对于python解释语言,有以下3方面的特性:每次运行都要进行转换成字节码,然
阅读全文
python入门第九章:类
摘要:第九章 类Python是一个真正面向对象的语言,它只增加了很少的新语法就实现了类。它的类机制是C++ 和Modula-3的类机制的混合。Python的类并不严格限制用户对定义的修改,它依赖于用户自觉不去修改定义。然而Python对类最重要的功能都保持了完全的威力。类继承机制允许多个基类的继承,导出类可以重载基类的任何方法,方法可以调用基类的同名方法。对象可以包含任意多的私有数据。用C++术语说,所有类成员(包括数据成员)是公用的,所有成员函数是虚拟(virtual)的。没有特别的构建函数或销毁函数(destructor)。如同在Modula-3中一样,从对象的方法中要引用对象成员没有简捷的办法
阅读全文
python入门第八章:错误与例外
摘要:到现在为止我们只是提到了错误信息而没有详细讨论,如果你运行了前面的例子可能已经看到了一些错误信息。至少有两种不同错误:句法错和例外错(exceptions)。8.1 句法错 句法错也称为语法分析错,是你在学习Python的时候最可能犯的错误。>>> while 1 print 'Hello world' File "<stdin>", line 1 while 1 print 'Hello world' ^SyntaxError: invalid syntax语法分析器重复出错行,并用一个小‘箭头’指向行内最早发
阅读全文
Python的神奇方法指南
摘要:有关Python内编写类的各种技巧和方法(构建和初始化、重载操作符、类描述、属性访问控制、自定义序列、反射机制、可调用对象、上下文管理、构建描述符对象、Pickling)。你可以把它当作一个教程,进阶,或者使用参考;我希望它能够成为一份针对Python方法的用户友好指南。内容目录介绍构建和初始化使操作符在自定义类内工作描述你的类属性访问控制制作自定义序列反射可调用对象上下文管理构建描述符对象Pickling你的对象总结附录:如何调用神奇方法1.介绍这份指南是几个月内最有价值的Blog投稿精华。它的主题是向大家讲述Python中的神奇方法。何为神奇方法呢?它们是面向Python中的一切,是一些特
阅读全文
sort()、reverse()与sorted()、reversed()的区别
摘要:sort()是可变对象(字典、列表)的方法,无参数,无返回值,sort()会改变可变对象,因此无需返回值。sort()方法是可变对象独有的方法或者属性,而作为不可变对象如元组、字符串是不具有这些方法的,如果调用将会返回一个异常。>>>a=[5,4,3,2,1]>>>a.sort()>>>>>>a[1,2,3,4,5]sorted()是python的内置函数,并不是可变对象(列表、字典)的特有方法,sorted()函数需要一个参数(参数可以是列表、字典、元组、字符串),无论传递什么参数,都将返回一个以列表为容器的返回值,如果
阅读全文