Python快速入门

来源:互联网 发布:网络大电影广告植入 编辑:程序博客网 时间:2024/04/30 20:11

Python快速入门

       其实只要你学过任何一门编程语言,对于python不是什么难事。这里我主要是依照自己的学习经验谈谈python的入门。对于学习一种新的语言,尤其是自学,最好的办法是读书。书是专家经验的结晶,多读书是学习的最佳途径。当然也要先找一本好的入门书籍,一方面能对这门语言有一个大概的认识,入门书籍也相对简单,便于建立自己的自信心,提高自己的学习兴趣。对于python的入门我强烈推荐《Python简明教程》,Swaroop, C. H.
沈洁元  译。为啥强烈推荐此书,你自己看了就知道了:)。附:后边是我读此书的笔记,比较粗略,其实也就是书中的重点,等到你开始用python编写程序碰到问题的时候回过头来看看就知道为啥它是重点了:)。

       看完此书后你也差不多算入门了,接下来就是深入学习了,我个人推荐两本书:python编程金典;Oreilly Python Cookbook 2Nd Edition Jun 2005 Ebook-LibDive into python也不错,如果涉及xml编程O'Reilly - Python and XML是首选(这些书我都有,有需要可以发email给我porcupine2004@126.com)。由于内容肯能较多,较忙的你也没有太多的时间看,我的建议是可以先浏览目录,知道每一本书大概讲些什么内容。到真正需要用时再看相应的部分,因为我发现自己到用时去看,有目的去看效率要比平时干看高的多:)。Ibm上精彩的文章不少,关于python的有可爱的python一系列(平时闲暇时可以上去看看):http://www-128.ibm.com/developerworks/cn/linux/theme/special/index.html

 

如果想做界面的话就看Fredrik Lundh写的An Introduction to Tkinter好了,有较详尽的例子,较全面,且容易理解(虽然是英文的)

附:

Ø         只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参。这是因为赋给形参的值是根据位置而赋值的。例如,def func(a, b=5)是有效的,但是def func(a=5, b) 无效 的。

 

Ø         pass语句在Python中表示一个空的语句块。

 

Ø         文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。 强烈建议 你在你的函数中使用文档字符串时遵循这个惯例。

'''Prints the maximum of two numbers.

The two values must be integers.'''

 

Ø         使用__doc__(注意双下划线)调用printMax函数的文档字符串属性(属于函数的名称)。print printMax.__doc__

 

Ø         每个Python模块都有它的__name__,如果它是'__main__',这说明这个模块被用户单独运行,我们可以进行相应的恰当操作。

 

Ø         模块的用处在于它能为你在别的程序中重用它提供的服务和功能。Python附带的标准库就是这样一组模块的例子。

 

Ø         Python中有三种内建的数据结构——列表、元组和字典。

 

Ø         记住列表的赋值语句不创建拷贝。你得使用切片操作符来建立序列的拷贝。

 

Ø         startwith方法是用来测试字符串是否以给定字符串开始。in操作符用来检验一个给定字符串是否为另一个字符串的一部分。

 

Ø         find方法用来找出给定字符串在另一个字符串中的位置,或者返回-1以表示找不到子字符串。str类也有以一个作为分隔符的字符串join序列的项目的整洁的方法,它返回一个生成的大字符串。

 

Ø         最理想的创建这些归档的方法是分别使用zipfiletarfile。它们是Python标准库的一部分,可以供你使用.

 

Ø         注意,即便是整数也被作为对象(属于int类)。这和C++Java1.5版之前)把整数纯粹作为类型是不同的。通过help(int)了解更多这个类的详情。 C#Java 1.5程序员会熟悉这个概念,因为它类似与 封装与解封装 的概念

 

Ø         属于一个对象或类的变量被称为域。对象也可以使用 属于 类的函数来具有功能。这样的函数被称为类的方法。这些术语帮助我们把它们与孤立的函数和变量区分开来。域和方法可以合称为类的属性。

 

Ø         域有两种类型——属于每个实例/类的对象或属于类本身。它们分别被称为实例变量和类变量。

 

Ø         Python中的self等价于C++中的self指针和JavaC#中的this参考。

 

Ø         __init__方法在类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希望的 初始化 。注意,这个名称的开始和结尾都是双下划线。__init__方法类似于C++C#Java中的 constructor

 

Ø         Python中所有的类成员(包括数据成员)都是 公共的 ,所有的方法都是 有效的

只有一个例外:如果你使用的数据成员名称以 双下划线前缀 比如__privatevarPython的名称管理体系会有效地把它作为私有变量。

这样就有一个惯例,如果某个变量只想在类或对象中使用,就应该以单下划线前缀。而其他的名称都将作为公共的,可以被其他类/对象使用。记住这只是一个惯例,并不是Python所要求的(与双下划线前缀不同)。

同样,注意__del__方法与 destructor 的概念类似。

 

Ø         Python总是首先查找对应类型的方法,在这个例子中就是如此。如果它不能在导出类中找到对应的方法,它才开始到基本类中逐个查找。基本类是在类定义的时候,在元组之中指明的。

 

Ø         请注意我们使用了import..as语法。这是一种便利方法,以便于我们可以使用更短的模块名称。在这个例子中,它还让我们能够通过简单地改变一行就切换到另一个模块(cPickle或者pickle)!在程序的其余部分的时候,我们简单地把这个模块称为p

 

Ø         在一个try块下,你可以同时使用except从句和finally块。如果你要同时使用它们的话,需要把一个嵌入另外一个。

 

Ø         对于有经验的程序员,sys模块中其他令人感兴趣的项目有sys.stdinsys.stdoutsys.stderr它们分别对应你的程序的标准输入、标准输出和标准错误流。

 

Ø         os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'

 

Ø         os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。

 

Ø         os.getenv()os.putenv()函数分别用来读取和设置环境变量。

 

Ø         os.listdir()返回指定目录下的所有文件和目录名。

 

Ø         os.remove()函数用来删除一个文件。

 

Ø         当要使函数接收元组或字典形式的参数的时候,有一种特殊的方法,它分别使用***前缀。这种方法在函数需要获取可变数量的参数的时候特别有用。

 

Ø         lambda语句被用来创建新的函数对象,并且在运行时返回它们。

 

Ø         eval语句用来计算存储在字符串中的有效Python表达式

 

Ø         exec语句用来执行储存在字符串或文件中的Python语句.exec 'print "Hello World"'

 

Ø         os.system()函数用来运行shell命令。

 

Ø         os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用'/r/n'Linux使用'/n'Mac使用'/r'

 

Ø         os.path.split()函数返回一个路径的目录名和文件名。

 

Ø         os.path.split('/home/swaroop/byte/code/poem.txt')

('/home/swaroop/byte/code', 'poem.txt')

 

Ø         os.path.isfile()os.path.isdir()函数分别检验给出的路径是一个文件还是目录。类似地,os.path.existe()函数用来检验给出的路径是否真地存在。

原创粉丝点击