python 面向对象 你把自己想象成一个上帝,你要创造一个星球,首先你要把它揉成一个个球,两个直径就能创造一个球 class star: '''名字(name),赤道直径(equatorial diameter),极直径(polar diameter)''' def __init__(self,name,eqDiameter,poDiameter): self.name=name self.eqDiameter=eqDiameter #赤道直径 self.poDiameter=poDiamet
编程语言
python 面向对象和类成员和异常处理
C语言中内存分配 (转)
在任何程序设计环境及语言中,内存管理都十分重要.在目前的计算机系统或嵌入式系统中,内存资源仍然是有限的.因此在程序设计中,有效地管理内存资源是程序员首先考虑的问题. 第1节主要介绍内存管理基本概念,重点介绍C程序中内存的分配,以及C语言编译后的可执行程序的存储结构和运行结构,同时还介绍了堆空间和栈空间的用途及区别. 第2节主要介绍C语言中内存分配及释放函数.函数的功能,以及如何调用这些函数申请/释放内存空间及其注意事项. 3.1 内存管理基本概念 3.1.1 C程序内存分配 1.C程序结构 下面
python之web自动化测试框架
梳理下搭建web自动化框架的流程: 创建目录: cases:存放测试用例,unittest框架要求用例名必须以test开头,所以命名test_case.py test_case.py代码如下:继承unittest.TestCase类下面的方法setupclass(),teardownclass().然后把用例放进去.每个页面作为一个用例 '''这里写业务的用例 用例要用到page unittest''' from page.basePage import Page import unittest
ThinkPHP5 正则验证中有“|”时使用数组语法
正则规则中有“|”时,会引起解析错误: 'regex:\d{3,4}[\s,-]?\d{7,8}|1[3,4,5,8]\d[\s,-]?\d{4}[\s,-]?\d{4}' 使用数组语法可以解决: ['regex' => '\d{3,4}[\s,-]?\d{7,8}|1[3,4,5,8]\d[\s,-]?\d{4}[\s,-]?\d{4}']
合并任意个数组生成一个新的数组
/** * 合并任意个数组 * @param first * @param rest * @param <T> * @return */ public static <T> T[] concat(T[] first, T[]... rest) { int totalLength = first.length; for (T[] array : rest) { totalLength += array.length; } T[] result = java.util.Arrays.c
GraphicsMagick +im4java高并发处理大型网站图片工具-图片剪切、遮蔽、水印添加之环境搭建
环境: centos 6.5 GraphicsMagick 下载安装 准备环镜: 需要依赖zlib图片操作函数库 下载地址:http://www.zlib.net/ 编译安装 tar -zxvf zlib-1.2.5.tar.gz cd zlib-1.2.5 ./configure make & make install yum安装libjpeg libpng依赖 yum install libjpeg libjpeg-devel libpng libpng-devel 下载GraphicsMa
java中Integer 与 String 类型的 相互 转换
Integer 转 String 第一种方法: Integer i =4; String s =" "; String num = i+s; 第二种方法: String num =String.valueOf(i); String 转 Integer String ss=""; Integer num =Integer.parseInt(ss); Integer num =Integer.valueOf(ss).intValue();
python :理解类与实例
面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同. 仍以Student类为例,在Python中,定义类是通过class关键字: class Student(object): pass class后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是(object),表示该类是从哪个类继承下来的,继承的概念我们后面再讲,通常,
java进程与线程
什么是进程,什么是线程 系统要做一件事,运行一个任务,所有运行的任务通常就是一个程序: 每个运行中的程序就是一个进程,这一点在任务管理器上面可以形象的看到. 当一个程序运行时,内部可能会包含多个顺序执行流,每个顺序执行流就是一个线程. 关于进程的特性 独立性:进程是系统中独立存在的实体,它可以拥有自己独立的资源,每个进程都拥有自己私有的地址空间.在没有经过进程本身运行的情况下是不能访问其中的内容的. 动态性:进程与程序的区别在于,程序是静态的,进程是动态的.程序只是一个静态的指令集合,而进程是一
WeakReference java
在Java里, 当一个对象o被创建时, 它被放在Heap里. 当GC运行的时候, 如果发现没有任何引用指向o, o就会被回收以腾出内存空间. 或者换句话说, 一个对象被回收, 必须满足两个条件: 1)没有任何引用指向它 2)GC被运行. 在现实情况写代码的时候, 我们往往通过把所有指向某个对象的referece置空来保证这个对象在下次GC运行的时候被回收 (可以用java -verbose:gc来观察gc的行为) public class Car { private double price;
Java面试整理2
多线程.并发及线程的基础问题: 1)Java 中能创建 volatile 数组吗? 能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不是整个数组.我的意思是,如果改变引用指向的数组,将会受到 volatile 的保护,但是如果多个线程同时改变数组的元素,volatile 标示符就不能起到之前的保护作用了. 2)volatile 能使得一个非原子操作变成原子操作吗? 一个典型的例子是在类中有一个 long 类型的成员变量.如果你知道该成员变量会被多个线程访问,如
Python-any函数和all函数
any函数: any(x),只要x中有一个不为空,0,false就返回True,否则返回False all(x)函数 必须x中的所有元素均不为空,0,false才会返回True,否则返回False >>> any('123') True >>> any([0,1]) True >>> any([0,'0','']) True >>> any([0,'']) False >>> any([0,'','false'])
arm linux c/c++实现ping网络测试
附源码:ping.cpp ping.h 是类的实现. 实例代码是从项目的应用中剥离出来的: ping.cpp: #include "ping.h" Ping::Ping() { m_maxPacketSize = 4; m_datalen = 56; m_nsend = 0; m_nreceived = 0; m_icmp_seq = 0; } /*校验和算法*/ unsigned short Ping::getChksum(unsigned short *addr,int le
JavaScript简易日历
<!DOCTYPE html PUBLIC "-//W3C//h2D XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/h2D/xhtml1-transitional.h2d"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-
一起talk C栗子吧(第三十八回:C语言实例--你了解scanf吗)
各位看官们,大家好,上一回中咱们说的是获取当前日期和时间的例子,这一回咱们说的例子是C语言中的库函数:scanf.闲话休提,言归正转.让我们一起talk C栗子吧! 看官们,说到C语言中的库函数:scanf,我想大家都认识它,而且知道它是用来从标准输入中(这里可以当作是终端)获取输入的内容,不过关于该函数的一些小细节,我估计大部分人都不是十分了解,接下来我就把这些小的细节说给大家听. scanf函数有返回值 大家在平常使用scanf函数时,都是为了从终端中获取输入的值,比如:scanf("%d&
【C语言连载五】--------指针
内容简介: 1.指针常量与常量指针, 2.指针与数组, 3.指针与函数, 4.指向指针的指针, 5.*void指针 指针://也叫指针地址,即一块内存地址 注意: 指针若没有初始化就拿去用,是很危险的,程序会崩溃(crash)-->野指针调用 一.指针常量与常量指针 指针常量: 是指针,指向的地址不可变(eg: 数组) 常量指针: 指向常量. 二.指针与数组: [1]用指针遍历数组: //遍历数组 int a[] = {10, 20, 30, 40, 50}; int count = sizeo
Python列表去重
标题有语病,其实是这样的: 假设有两个列表 : L1 = [1,2,3,4] ; L2 = [1,2,5,6] 然后去掉L1中包含的L2的元素 直接这样当然是不行的: def removeExists(L1, L2): for e1 in L1: if e1 in L2: L1.remove(e1) 不管什么语言都不能这么干,但是又有一点不同,它不报错而且还能往下走,只不过结果不合预期. 结果是这样的,因为L1中的1移除后,迭代器索引指向了第二个元素,但是现在第二个元素是3了,所以L1的结果会是
关于Java线程
一.线程具有优先级(priority) 线程的优先级分为十个等级,分别从1到10,优先级的高低决定了线程被CPU执行的先后顺序.(但不是绝对的,只是优先级越高,抢占CPU的几率就越大) Thread类有三个关于线程优先级的静态变量:MAX_PRIORITY表示最大优先级,为10:MIN_PRIORITY表示最先优先级,为1:NORM_PRIORITY表示普通优先级,为5. 二.线程的调度 线程的调度有两种模型:分时模型和抢占模型 分时模型:线程在指定的时间里执行(在CPU上) 抢占模型:线程一旦
Java-IO基础类回忆
好记性不如烂笔头,就拿Java IO来说吧,这部分的基础类我大学都已经学过一遍了,但是现在忘记的差不多了,所以准备写一篇博客,讲这些东西都回忆一下,并且整理一下. 首先借用网上的一张图: 纵向分为字节流和字符流.横向分为针对读写进行划分 在这幅图中那些非常基本的也就不提了,就提一下需要注意的几个类. 1.BufferedXXX 缓冲 无论是读还是写,字符还是字节流都存在,主要是作为一个缓冲的作用,起到的作用是减少和操作系统的IO交互,减少性能消耗 2.PipedXXX 管道 管道也是存在
最简单的JavaScript模板引擎
在小公司待久了感觉自己的知识面很小,最近逛博客园和一些技术网站看大家在说JavaScript模版引擎的事儿,完全没有概念,网上一搜这是08年开始流行起来的...本来以为这是很高深的知识,后来在网上看到jQuery作者John Resig,研究了一下,算是明白了最简单的javaScript模版引擎的原理,并没有想象的那么高大上,写篇博客推导一下John Resig写法的过程,写出一个最简单的JavaScript模版引擎. 什么是JavaScript引擎 其实在网站开发中模板还是很常见的一种技术,比