天天看点

Small tricks

不想让转义生效: print r'/t/r‘à /t/r

unicode()函数可将字符串转为unicode字符串, 要使用Unicode字符串,只要在字符串前加上“u”即可

支持中文:encoding=utf-8或gbk或gb2312

# -*- coding: utf-8 -*-

# -*- coding:gb2312 -*- #必须在第一行或者第二行

array.array:

typecode:

c      => char

b(B) => byte(unsigned byte)

h(H) => short(unsigned short)

i(I)   => init( unsigned int)

l(L)   => long( unsigned long)

f       => float

d      => double

z=array.array("b")

z.append( 1 )

异或操作符:^

Python下划线作为变量前缀和后缀指定特殊变量。

_xxx 不能用'from module import *'导入

__xxx__ 系统定义名字

__xxx 类中的私有变量名

"单下划线" 开始的成员变量叫做保护变量,意思是只有类对象和子类对象自己能访问到这些变量;

"双下划线" 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。

以单个Python下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入;

以双下划线开头的(__foo)代表类的私有成员;

以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如 __init__()代表类的构造函数。

location for python test scripts:

/usr/lib/python2.4/test

usage of datetime:

获取一天后的时间格式:

now_t = int( time.time() )

span_timestamp = time.localtime( now_t + 24 * 3600)

time.strftime( "%Y-%m-%d-%H:%M:%S", span_timestamp )

getopt:

import getopt

opts, args = getopt.getopt( sys.argv[1:], "hd:" )   # ./run.pl [-h] -d xxxx aaa bbb ccc

opts is like this:

[("-h",""), ("-d", "xxxx")]

args

["aaa", "bbb", "ccc"]

定义类数据成员:

class temp:

    def __init__(self):

      print "Hello"

    Hello = "Hello"

    _Hello = "Hello"

t = temp()

t.Hello

t._Hello