- 浏览: 106121 次
- 性别:
- 来自: 杭州
最新评论
文章列表
1.dict()创建字典
>>> fdict = dict((['x', 1], ['y', 2]))
>>> fdict
{'y': 2, 'x': 1}
2.fromkeys() 来创建一个"默认"字典,字典中元素具有相同的值
>>> ddict = {}.fromkeys(('x', 'y'), -1)
>>> ddict
{'y': -1, 'x': -1}
3.遍历字典
使用keys()遍历
- 2015-03-27 17:06
- 浏览 481
- 评论(0)
概述
1.测试脚手架(test fixture)
测试准备前要做的工作和测试执行完后要做的工作.包括setUp()和tearDown().
2.测试案例(test case)
最小的测试单元.
3.测试套件(test suite)
测试案例的集合.
4.测试运行器(test runner)
测试执行的组件.
命令行接口
可以用命令行运行测试模块,测试类以及测试方法.
python -m unittest test_module1 test_module2
python -m unittest test_module.TestClass
python ...
- 2015-03-26 17:10
- 浏览 537
- 评论(0)
概述
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
JAVA反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言。但是JAVA有着一个非常突出的动态相关机制:Reflection,用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时 ...
- 2015-03-25 22:10
- 浏览 371
- 评论(0)
一、ConfigParser简介
ConfigParser 是用来读取配置文件的包。配置文件的格式如下:中括号“[ ]”内包含的为section。section 下面为类似于key-value 的配置内容。
1:[db]
2:db_host = 127.0.0.1
3:db_port = 22
- 2015-03-24 17:13
- 浏览 1014
- 评论(0)
格式
getopt(args, options[, long_options])
1.args表示要解析的参数.
2.options表示脚本要识别的字符.字符之间用”:”分隔,而且必须要以”:”后结尾,例如”a:b:c:”.
3.long_options是可选的,如果指定的话,可以解析长选项.形式为字符串列表,如[‘foo=’, ‘frob=’].长选项要求形式为”–name=value”
4.该方法返回2个元素.第一个元素是列表对, 对中第一个值是带有”-“或者”–”的选项名,第二个值是选项的值.第二个元素是options减去第一个元素的后的值,即不能识别的值.
如果要求只能解析 ...
- 2015-03-24 16:14
- 浏览 508
- 评论(0)
类加载的整个生命周期:加载、验证、准备、解析、初始化、使用、卸载。其中验证、准备、解析3个部分统称为连接。
初始化情况
遇到new、getstatic、putstatic、invokestatic这4条字节码指令。
使用java.lang.reflect包的方法对类进行反射调用。
初始化的一个类的时候,发现其父类没有进行初始化。
初始化化主类(包含main()方法的那个类)
这几种情况称为主动引用。除此之外,所有引用的类都不会触发初始化,称为被动引用。
加载
通过全名获取此类二进制字节流。
将二进制流所代表的静态结构转化为方法区的运行时刻数据结构。
在内存中生存一个代表这个类 ...
- 2015-03-23 21:15
- 浏览 480
- 评论(0)
打开文件
open函数返回一个文件对象,基本语法:
file_object = open(file_name, access_mode=’r’[,buffering=-1])
file_name 是包含要打开的文件名字的字符串, 它可以是相对路径或者绝对路径.
可选变量access_mode 也是一个字符串, 代表文件打开的模式. 通常, 文件使用模式 ‘r’, ‘w’, 或是 ‘a’模式来打开, 分别代表读取, 写入和追加.
另外一个可选参数 buffering 用于指示访问文件所采用的缓冲方式. 其中 0 表示不缓冲, 1表示只缓冲一行数据, 任何其它大于 1 的值代表 ...
- 2015-03-23 15:23
- 浏览 331
- 评论(0)
说明:这两天遇到的一些Java方法分派的问题,结合自己书上看的,google的,还有撒迦教我的,做一个总结吧.望指正.
写道
方法分派指的是虚拟机如何确定应该执行哪个方法!
很多的内容可以参加撒迦的这篇博文 :http://rednaxelafx.iteye.com/blog/652719
我这篇里很多概念的解释都摘自上面的博文,所以,我就不一一指出啦.在此感谢撒迦的帮助.
- 2015-03-22 17:39
- 浏览 637
- 评论(0)
概述
Java虚拟机指令由一个字节的操作码或操作数组成。大部分指令都没有支持byte、short、char和boolean的类型。编译器会在编译期或运行期转换为带符号扩展的int类型处理。
指令类型
加载和存储指令
加载和存储指令用于将 ...
- 2015-03-22 16:13
- 浏览 556
- 评论(0)
概述
一次编写,处处运行(Write Once, Run Anywhere).
各种平台的虚拟机与所有平台都统一使用的程序存储格式-字节码(ByteCode).
Java虚拟机不和包括Java在内任何语言绑定,它只与Class文件锁关联.因此Groovy,JRuby,Jython,Scala都可以在Java虚拟机上运行.
Class类文件结构
Class文件是一组以8字节为基础单位的二进制流,中间没有任何空隙和分隔符.
1.魔数
前4个字节表示魔数0xCAFEBABE
2.版本号
接下来是4个字节,前2个字节是次版本号,后2个字节是主版本号
3.常量池
存在两 ...
- 2015-03-22 12:31
- 浏览 296
- 评论(0)
所谓泛型:就是允许在定义类、接口指定类型形参,这个类型形参在将在声明变量、创建对象时确定(即传入实际的类型参数,也可称为类型实参)
泛型类或接口
“菱形”语法
//定义
public interface List<E> extends Collection&l
- 2015-03-22 10:51
- 浏览 351
- 评论(0)
测试步骤
1. 导入unittest模块
import unittest
2. 编写测试的类继承unittest.TestCase
class Tester(unittest.TestCase)
3. 编写测试的方法必须以test开头
def test_add(self)
def test_sub(self)
4.使用TestCase
class提供的方法测试功能点
- 2015-03-20 15:43
- 浏览 619
- 评论(0)
模块概述
如果说模块是按照逻辑来组织 Python 代码的方法, 那么文件便是物理层上组织模块的方法。
因此, **一个文件被看作是一个独立模块, 一个模块也可以被看作是一个文件。 模块的文件名就是模
块的名字加上扩展名 .py ...
- 2015-03-20 14:55
- 浏览 493
- 评论(0)
概述
程序计数器,本地方法栈,虚拟机栈随线程而生,随线程而灭. Java堆和方法区则不一样,这部分内存分配和回收的都是动态的,垃圾收集器所关注的是这部分内存.
判断对象是否是垃圾的算法
JVM没有选用引用计数算法来管理内存,最主要的是引用计数很难解决对象之间相互循环引用的问题.JVM采用了可达性分析算法来判断对象是否能回收.用GC Roots对象作为起点,向下搜索,搜索走过的路劲称为引用链(reference chain),当对一个对象到GC Roots没有任何引用链时,则证明对象不可用的.
判定对象死亡
判定一个对象是否死亡,至少要经历2次标记.如果GC时,经过可达行分析对 ...
- 2015-03-19 09:41
- 浏览 395
- 评论(0)
继承
继承描述了基类的属性如何“遗传”给派生类。一个子类可以继承它的基类的任何属性,不管是数据属性还是方法。
创建子类的语法看起来与普通(新式)类没有区别,一个类名,后跟一个或多个需要从其中派生的父类:
class SubClassName (ParentClass1[, ParentClass2, ...]):
'optional class documentation string'
class_suite
实例
class Parent(object): # define parent class 定义父类
def parentMethod(se ...
- 2015-03-18 16:17
- 浏览 370
- 评论(0)