http://www.cnblogs.com/aiisking/archive/2011/10/29/2228840.html
本文目标
1. 起一个笔记作用。
2. 分类总结,知道已经学习的知识,及未学习的知识。也好对未来有一个规划。不盲目。
3. 由于是学习中不断完善的,所以不会一次性写完。当完成时,再将标题的[整理版]去掉。
注释:
#
批量注释
''' 注释 ,可以换行 '''
运算符
+
-
*
/
// 浮点运算,四舍五入
%
** 乘方运算如: 3**2 , 3的2次方
比较符:
<
<=
>
>=
==
!=
<>
逻辑运算符
and
or
not
变量和赋值
python 为解释型语言,不需要预先声明变量类型
counter = 0
多元赋值
x,y,z = 1,2,'abc'
分别为x,y,z赋值
数字
int
long 表达范围远超C语言的长整型,和java的BigInteger类似。
bool
float (浮点值)
decimal ,需要导入:decimal
complex (复数)
字符串
pystr = 'Python'
列表:[] ,元素的个数及元素的值可以改变。
元组:(),不可以改变,可以认为是一个只读列表。
字典:{},key-value对
例:aDict = {'host':'earth'}
代码块及缩进对齐
代码块用缩进对齐的方式。
if 语句:
if expression:
if_suite
while 循环:
while expression:
while_suite
例:
counter = 0
while counter <3:
print 'loop #%d' % (counter)
counter += 1
for 循环 和 ange()内建函数
for 跟传统C 里的for 不一样,更像是C#里的foreach.
如:
for item in ['email','net-surfind']:
print item
range() 用于生成范围列表
如:
for eachNum in range(3):
print eachNum
结果:
0
1
2
列表解析
可以在一行中使用一个for 循环将所有值放到一个列表中
squared = [x ** 2 for x in range(4)]
文件和内建函数 open(),file()
错误异常
例:
filename = raw_input('enter file name.')
fobj = open(filename,'r')
for eachLine in fobj:
print eachLine,fobj.close()
except IOError,e:
print 'file open error:',e
函数
例:
def sum(a,b):
return a+b
默认参数:
def sum(a=0,b):
return a+b
sum(2)
2
类型
class 类名称(基类):
成员
方法
例:
class FooClass(object): #没有基类时,可以用object
version = 0.1
def __init__(self,nm=u'张三'): #因为是中文,前边u的意思,表示是unicode,self 跟C#中的this同。
#构造函数,当创建类时,将自动运行。
self.name = nm
print u'创建一个类实例',nm
def showname(self):
print u'你的名字是 ', self.name
创建实例:
foo1 = FooClass()
运行其中方法:
foo1.showname()
代码换行 用"\",
命名
这个跟其它语言有些不一样,就说多一点
python的下划线是有特殊意义的,一般来说__xxx被看作是私有的,在模块或者类外不可以使用。
而__xxx__是定义的名字
测试:
后边再完善
内存管理
采用自动回收机制,程序员不用关心内存管理。
虽然是这样,但是为了写出更有效率的程序,我们还是需要了解一下它的机制。
为了跟踪内存中的对象,Python使用引用计数的技术。
对象在以下情况增加引用计数
1. 对象被创建时
x = 3
2. 或另外的别名被创建
y = x
3. 或被作为参数传递给函数。
foobar(x)
4. 或成为容器对象的一个元素
对象在以下情况减少引用计数
1. 当变量被赋值给另外一个对象时,如:
foo = 'xyz' #'xyz' 引用计数为+1
bar = foo #'xyz' 引用计数为+1
foo = 123 #'xyz' 引用计数为-1
2. 引用离开其作用范围时,引用计数会减少。如:
函数运行结束时,所有局部变量都被自动销毁。
3. 对象的别名被显式销毁。
del y # or del x
4. 对象被从一个窗口对象中移除。
myList.remove(x)
5.窗口对象本身被销毁
del myList
垃圾收集器
1. 清除引用计数为0的对象。
2. 也会检查引用计数大于0,但也应该被销毁的对象。
类型转换
int(x [,base ]) 将x转换为一个整数
long(x [,base ]) 将x转换为一个长整数
float(x ) 将x转换到一个浮点数
complex(real [,imag ]) 创建一个复数
str(x ) 将对象 x 转换为字符串
repr(x ) 将对象 x 转换为表达式字符串
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s ) 将序列 s 转换为一个元组
list(s ) 将序列 s 转换为一个列表
chr(x ) 将一个整数转换为一个字符
unichr(x ) 将一个整数转换为Unicode字符
ord(x ) 将一个字符转换为它的整数值
hex(x ) 将一个整数转换为一个十六进制字符串
oct(x ) 将一个整数转换为一个八进制字符串
更新中....