记得一次开会,有个哥们拿了本书,上面写着"Python",我张嘴就问,讲啥的啊,结果可想而知,被鄙视了。Python你都不知道,蟒蛇的艺术啊。

      从那时候起,我就想如果有机会一定了解了解,最近几天在浏览原领导的blog之时,偶尔发现了一本叫做"Learn python the hard way"的书,于是搞过来浏览了一遍,下面是链接。

就这本书本身而言,其内容非常简单,非常适合入门之用。

 

http://learnpythonthehardway.org/index

 

公欲善其事,必先利其器。

要想开始学习python,首先要搭建python的运行环境,我是在windows下进行开发的,建议大家使用ActivePython:

 

http://www.activestate.com/activepython

 

别的优点先不说,就省心这点就足够吸引人的了,安装简单(鼠标双击后一路next),无需特殊配置,自带大部分python常用工具和扩展包以及一个IDE工具(PythonWin).

 

 

Python是一种动态的强类型语言,所谓动态类型,就是在声明变量的时候不需要制定变量的类型,而是语言解释器根据变量的值来决定类型,而所谓的强类型就是指类型不允许随意转换。拿大家比较熟悉的C++来说,就是一种静态的强类型语言(声明决定类型),而VBA(Excel编程使用的语言)就是一种弱类型语言,原因是类型可以根据需要进行随意转换。下面看一下python声明变量的例子,我们并不需要在变量赋值之前制定类型。。

 

var = 1
str_var = "aaaa"

 

Python的函数是按照缩进来进行定义的,请看下面示例:

 

def func(var1, var2):   
 print "aaa"       (1)
 print "bbb"       (2)
 
print "ccc"                 (3)

在这个示例中,1,2两句属于函数func的定义,而3则不属于函数定义,原因在于python是以缩进来圈定逻辑范围的。

再比如if,while等语句,都遵从这一原则。

if a == 2:
 print "aaa"
 
print "ddd"   #这句则不属于if的逻辑范围

 

Python中class的定义:

#object必须要有,相当于所有python类的基类

class my_class(object): 
 #__init__和C++中的构造函数有些类似,但并不完全相同
 #self有点类似于C++中的this指针,每个类中的函数都必须带着个参数,原因是类的对象在调用成员函数的时候会自动为函数调用加 #上一个self参数,所以如果实现中不带这个参数的话就会有参数个数不匹配的错误
 def __init__(self,param):  
 #声明成员变量m_var
 self.m_var = 0
 def my_func(self,param1):
 self.var1 = param1

 

使用my_class的例子:

instance = my_class(1) #所生成的实际调用是my_class(self,1),会自动和__init__匹配
instance.my_func(1)     #所生成的实际调用是my_func(self,1)

最近在网上看到一篇文章,说是要想成为高手,研究一两门动态类型的脚本语言是非常有必要的,毕竟触类才能旁通嘛

 

learn python the hard way是一本非常非常入门级的书。