您的位置:首页 > 编程语言 > Python开发

python学习日志(一)

2009-03-20 16:09 288 查看
Author:Alex Xiang(x86)
Date: 03/19/2009
工作上的需要,需要写一些Python脚本,顺便把学习过程中的一些心得记下来以备查看。
1. python 三元操作
类似于C的x=a?:0:1,python的方式是:x=a and 0 or 1
2. 模块间共享变量
三个模块a,b,c,其中a和b都要用到c的变量
a:
import c
from b import *
print c.x
b:
import c
c.x = 1
c:
x = 0
3. 十六进制数的显示
一个十六进制数要按字符串的方式显示,可以这样:
x=0x100
'0x%x' %x
'0x100'
4. 正则表达式
得到内存大小:
import re
import os
lines = os.popen("free").readlines()
p=re.compile(".*Mem:/s+(/d+)/s+.*", re.S)
m = p.match(str(lines))
if(m):
  print "total=" + m.group(1) + "/n"
5. 数字和字符串之间转换
a="0x100"
b=int(a,16)  # 第二个参数表示16进制,缺省是十进制
6.可变参数
一颗星类似于C的可变参数
def test1(a, *b):
  print a
  print "length of b is: %d " % len(b)
  print b
  print b[1]
test1(1,2,3,4)的输出结果:
1
length of b is: 3
(2, 3, 4)
3
两颗星表示参数是一个字典:
def test2(**a):
  for i in a:
    print i + " = " + a[i]
test2(a="1", b="2")的输出结果是:
a = 1
b = 2
7. 正则表达式,匹配多处结果
看看这个例子,每处匹配有两个项,注意re.S使得可以匹配多行(忽略/n)
>>> p=re.compile("a(/d+)b(/d+)c", re.S)
>>> result = p.findall("a1b1c,a2b2c/na3b3c/na4b4c")
>>> result
[('1', '1'), ('2', '2'), ('3', '3'), ('4', '4')]
8. 生成掩码
有一个列表,比如[1,3,4,5],生成一个掩码,如果某个数在列表里,则掩码相应位置1
mask = 0x0
for i in range(16):
if str(i) in a_list:
  mask |= 1<
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: