上一页 1 2 3 4 5 6 7 ··· 18 下一页

2012年7月20日

摘要: Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime。time模块我在之前的文章已经有所介绍,它提供的接口与C标准库time.h基本一致。相比于time模块,datetime模块的接口则更直观、更容易调用。今天就来讲讲datetime模块。 datetime模块定义了两个常量:datetime.MINYEAR和datetime.MAXYEAR,分别表示datetime所能表示的最小、最大年份。其中,MINYEAR = 1,MAXYEAR = 9999。(对于偶等玩家,这个范围已经足够用矣~~) datetime模块定义了下面这几个类:datetime. 阅读全文
posted @ 2012-07-20 18:03 很多不懂呀。。 阅读(193) 评论(0) 推荐(0) 编辑

2012年7月19日

摘要: 1. 正则表达式基础1.1. 简单介绍正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只在于不同的编程语言实现支持的语法数量不同;但不用担心,不被支持的语法通常是不常用的部分。如果已经在其他语言里使用过正则表达式,只需要简单看一看就可以上手了。下图展示了使用正则表达式进行匹配的流程: 正则表达式的大致匹配过程是:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功;一旦有匹配不成功的字符. 阅读全文
posted @ 2012-07-19 16:02 很多不懂呀。。 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 对于三目运算符(ternary operator),python可以用conditional expressions来替代如对于x<5?1:0可以用下面的方式来实现1if x<5else 0注: conditional expressions是在python 2.5之前引入的,所以以上代码仅适用于2.5以及之后的版本对于2.5之前的版本,可以用下面这种形式X<5and1or 0Python不像C/C++,Java等有switch-case的语法。不过其这个功能,比如用Dictionary以及lambda匿名函数特性来替代实现。比如PHP中的如下代码:?123456789101 阅读全文
posted @ 2012-07-19 15:56 很多不懂呀。。 阅读(5018) 评论(0) 推荐(0) 编辑

2012年7月16日

摘要: 首先由一个程序引入话题:1//环境:vc6+windowssp22//程序13#include<iostream>45usingnamespacestd;67structst18{9chara;10intb;11shortc;12};1314structst215{16shortc;17chara;18intb;19};2021intmain()22{23cout<<"sizeof(st1)is"<<sizeof(st1)<<endl;24cout<<"sizeof(st2)is"<< 阅读全文
posted @ 2012-07-16 17:13 很多不懂呀。。 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 一个结构体变量定义完之后,其在内存中的存储并不等于其所包含元素的宽度之和。例一:#include <iostream> using namespace std; structX {char a; int b;double c;}S1;void main() { cout << sizeof(S1) << endl; cout << sizeof(S1.a) << endl; cout << sizeof(S1.b) << endl; cout << sizeof(S1.c) << end 阅读全文
posted @ 2012-07-16 15:47 很多不懂呀。。 阅读(527) 评论(0) 推荐(0) 编辑

2012年7月13日

摘要: 在python中,大多数容器对象都使用for来进行遍历。那么啥是迭代器呢?百度百科里面说:迭代器是一种对象,它能够用来遍历容器对象的所有元素,每个迭代器对象代表着容器中一个确定的地址。python中的迭代器不仅仅可以迭代序列类型,还可以迭代非序列类型。包括用户定义的对象。迭代器的用法在python中普遍而且统一。for语句在容器对象中调用iter()函数,这个函数会返回一个 定义了next()方法的迭代器对象。它在容器中逐一访问元素,没有后续元素,next()就会抛出一个异常,告知for循环结束。这样的话就很好的可以给自己的类定义一个迭代器了。比如:class className:def __ 阅读全文
posted @ 2012-07-13 16:26 很多不懂呀。。 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 在 Python 中, 当需要对一个 list 排序时, 一般可以用 list.sort() 或者 sorted(iterable[, cmp[, key[, reverse]]]).其中:cmp(e1, e2) 是带两个参数的比较函数, 返回值: 负数: e1 < e2, 0: e1 == e2, 正数: e1 > e2. 默认为 None, 即用内建的比较函数.key 是带一个参数的函数, 用来为每个元素提取比较值. 默认为 None, 即直接比较每个元素.reverse 是一个布尔值, 表示是否反转比较结果.我以前在做比较复杂的排序时, 喜欢写一个定制的 cmp 函数. 当我 阅读全文
posted @ 2012-07-13 11:45 很多不懂呀。。 阅读(2382) 评论(0) 推荐(0) 编辑
摘要: 在Python中,lambda允许用户快速定义单行函数,当然用户也可以按照典型的函数定义完成函数。lambda的目的就是简化用户定义使用函数的过程。>>> func =lambda x: x *2 # 定义lambda函数,通过赋值给func进行调用>>> func(3)6>>>(lambda x: x *2)(3) # lambda函数的定义和调用可以整合在一起(可读性差)6使用lambda函数应该注意的几点:lambda定义的是单行函数,如果需要复杂的函数,应该定义普通函数lambda参数列表可以包含多个参数,如 lambda x, y 阅读全文
posted @ 2012-07-13 11:01 很多不懂呀。。 阅读(23508) 评论(1) 推荐(0) 编辑
摘要: __call__Python中有一个有趣的语法,只要定义类型的时候,实现__call__函数,这个类型就成为可调用的。换句话说,我们可以把这个类型的对象当作函数来使用,相当于 重载了括号运算符。class g_dpm(object):def __init__(self, g):self.g = gdef __call__(self, t):return (self.g*t**2)/2计算地球场景的时候,我们就可以令e_dpm = g_dpm(9.8),s = e_dpm(t)。class Animal(object):def __init__(self, name, legs):self.na 阅读全文
posted @ 2012-07-13 10:11 很多不懂呀。。 阅读(329) 评论(0) 推荐(0) 编辑

2012年7月11日

摘要: 最近看python相关书籍或者代码,发现很多比较疑惑的地方:1.self这个不解释了,python的自省功能,类的实例访问自身属性和方法,有点儿类似于其他语言中的this。被显示给出,但是无需为参数self赋值,python解释器会自动给self赋值。2.*args and * kwargs关于*args and * kwargs的使用看下面几个例子:>>> def print_everything(*args): for count,thing in enumerate(args):... print "%d. %s" %(count, thing).. 阅读全文
posted @ 2012-07-11 22:58 很多不懂呀。。 阅读(260) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 18 下一页

导航