Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
- 解释型 = 不需要编译、链接之类的,直接可以在python解释器中执行;
- 面向对象 = 同c++一样是面向对象
- 动态数据类型 = 声明变量时不需要声明变量的类型。(是不是只有定义变量这一说了)
/usr/share/pyshared/
这些库不管是哪个版本的python都能用
/usr/lib/python2.6(2.7/3)
这下面的库,只能是特定版本的python能用
sys.path —— 动态地改变Python搜索路径
import sys
sys.path.append(’引用模块的地址')
sys.path.insert(0, '引用模块的地址')
可配置源之类的,~/.pip/pip.conf
python的egg文件有点像java中的jar文件,是一个工程打包文件,便于安装部署。
函数名 | 说明 |
---|---|
cmp(lst1, lst2) | |
len() | |
Max/min(lst) | |
List(tuple) | tuple to list |
方法名 | 说明 |
---|---|
Append(obj) | vs extend(seq) |
Count(obj) | |
Index(obj) | |
Insert(index, obj) | |
Remove(obj) | vs pop(obj=lst[-1]) |
Sort([func]) | vs reverse() |
同于列表,唯有元素不可改。
只有一个值时,需要注意后缀的逗号
t2 = (3)
print t2 #3
t3 = (3,)
print t3 #(3,)
函数名 | 说明 |
---|---|
Cmp(tuple1, tuple2)/len() | |
Max/min(t) | |
Tuple(list) | Seq to tuple |
函数名 | 说明 |
---|---|
cmp | |
len | |
Str() | |
Type() |
方法名 | 说明 |
---|---|
keys()/values()/items() | Items()返回(key,value)元组的list |
Copy() | 浅拷贝(我的理解是指拷贝了指针的值,但没拷贝指针所指向的资源,亦即两个对象共享某一资源)怎么理解?因为pyton没有指针,所以哪来的浅拷贝??? |
has_key(key) | 返回True/False |
get(key, default=None) | |
setdefault(key, default=None) | |
update(dict2) | |
fromkeys(seq[, val])) | |
clear() |
类中要经常用self == cpp中的this指针
- 类函数的声明;
- 类函数的调用;
没有用public,private等关键词来标志;
__ 前缀为私有标志
self.__A() 可以调用 self.__B吗? —可以的
子类的构造函数定要手动调用基类的构造函数,否则默认是不会调用基类构造的。
class Base(object):
def __init__(self):
print "Base created"
class ChildA(Base):
def __init__(self):
#老式类的写法;
Base.__init__(self)
class ChildB(Base):
def __init__(self):
#新式类的写法,避免了写基类的名字(在多继承下应该很管用)
super(ChildB, self).__init__()
print ChildA(),ChildB()
问题:新式类有什么特点??
type(对象)的时候是类名,而非是一个实例。
调用基类的函数可以用super关键字。
如下:
thread 有些缺陷,threading是对thread的补充
t1 = threading.Thread(target=fun1, args=('1111111111',)) #args元组中有个逗号
t1.start()
for
空对象
None和任何其他的数据类型比较永远返回False
可以将None复制给任何变量,但是你不能创建其他NoneType对象。
>>> type(None)
<class 'NoneType'>
>>> None == 0
False
>>> None == ' '
False
>>> None == None
True
>>> None == False
False
- if x: 这是True/False判断
None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()都相当于False
- if x is not None: 这是单独判断x不是None
sleep
time.sleep(1)
时间截
Print time.ctime()