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 ) 将一个整数转换为一个八进制字符串 

 更新中....

posted @ 2011-10-29 20:44 帅格码 阅读(11) 评论(0) 编辑