摘要: python知识点,罗列如下:1、内置对象类型:numeric, string, tuple, list, dictionary, set, None, bool2、python的动态类型模型:类型属于对象而不是变量;3、语法细节:缩进、类C语法、复合语句;4、作用域法则(LEGB);5、特定的参数匹配模式:调用者+函数;6、lamda本质是表达式,依赖于作用域查找法则实现;7、生成器和迭代器;8、列表解析;9、import如何工作;10、import, from, reload;11、包导入;12、类命名空间树;13、类运算符重载;14、类的伪私有属性;15、静态和类方法;16、基于字符串的 阅读全文
posted @ 2012-02-27 21:14 John Lee 阅读(159) 评论(0) 推荐(0)
摘要: 简介从具体的程序观点来看,类是python的程序组成单元,就像函数和模块一样;类是封装逻辑和数据的另一种形式。python中的oop需要特别考虑:1.多重实例,类基本就是产生对象的工厂;(多对象产生)2.通过继承进行定制,类可以建立命名空间的层次结构;(命名空间继承)3.运算符重载,python提供了一些可以由类使用的钩子,从而能够中断并实现任何的内置类型运算;(运算符重载)本质python类的本质:1.class语句创建类对象并将其赋值给变量名;2.class语句内的赋值语句会创建类的属性;3.类属性提供对象的状态和行为;实例对象的本质:1.像函数一样调用类对象会创建新的实例对象;2.每个实 阅读全文
posted @ 2012-02-27 19:41 John Lee 阅读(385) 评论(1) 推荐(0)
摘要: 概述模块是最高级别的程序组织单元,它将程序代码和数据封装起来以便重用。模块导入时,模块文件的全局作用域变成了模块对象的对象的命名空间。import与include完全不同,执行步骤:1.找到模块文件;2.编译成位码;3.执行模块的代码来创建其所定义的对象;注:模块的import完全不同于C中的#include,并非简单的插入另一个文件。import除了搜索到模块文件外,还会将模块编译,并执行模块的代码,创建其所定义的对象(变量,函数,类)。fromfrom会把变量名复制到另一个作用域,可在脚本中直接使用变量名,而不需要通过模块。import和from都是隐形的赋值语句,可以嵌套在代码语句中:1 阅读全文
posted @ 2012-02-27 13:04 John Lee 阅读(265) 评论(0) 推荐(0)
摘要: 简介函数是python为了代码最大程度的重用和最小化代码冗余而提供的最基本的程序结构。函数基本原则:1、def是可执行的代码,可任意嵌套在语句中,实时执行的;2、def创建了一个对象并将其赋值给某一变量名;3、return将一个结果对象发送给调用者;4、函数是通过赋值(对象引用)传递的;5、global声明了一个模块级的变量并被赋值;6、参数、返回值以及变量并不是声明;python中的多态多态:一个操作的意义取决于被操作对象的类型;在python中,函数代码不应该关心特定的数据类型,更不能把函数限定在特定的类型上,应使其适用于所有类型。作用域LEGB法则:Local, Embedded, Gl 阅读全文
posted @ 2012-02-27 02:22 John Lee 阅读(566) 评论(0) 推荐(0)
摘要: 简介python使用类C的语法,但,将使用缩进作为语句的作用域标记。python语法规则语句是逐个执行的,除非你不这样编写;块和语句的边界会自动被检测;复合语句=首行+“:”+缩进语句;空白行、空格以及注释通常都会被忽略;文档字符串会被忽略,但会被保存并由工具显示; 阅读全文
posted @ 2012-02-27 02:08 John Lee 阅读(158) 评论(0) 推荐(0)
摘要: 概述程序由模块构成;模块包含语句;语句包含表达式;表达式建立并处理对象;python提供了强大的对象类型作为语言的组成部分。动态类型简介在python中,类型是在运行过程中自动决定的,而不是通过代码声明的。变量名没有类型,类型属于对象,而不是变量。从技术上来讲,对象有更复杂的结构而不仅仅是有足够的空间表现它的值那么简单,每个对象都有两个标准的头部信息:一个类型标志符去标示这个对象的类型,以及一个引用的计数器,用来表示是不是可以回收这个对象。变量总是一个指向对象的指针,而不是可改变的内存区域的标签:给一个变量一个新的值,并不是替换了原始的对象,而是让这个变量去引用完全不同的一个对象。内置对象预览 阅读全文
posted @ 2012-02-27 00:13 John Lee 阅读(333) 评论(0) 推荐(0)