python教程.docx

上传人:b****4 文档编号:11987501 上传时间:2023-04-16 格式:DOCX 页数:117 大小:94.21KB
下载 相关 举报
python教程.docx_第1页
第1页 / 共117页
python教程.docx_第2页
第2页 / 共117页
python教程.docx_第3页
第3页 / 共117页
python教程.docx_第4页
第4页 / 共117页
python教程.docx_第5页
第5页 / 共117页
点击查看更多>>
下载资源
资源描述

python教程.docx

《python教程.docx》由会员分享,可在线阅读,更多相关《python教程.docx(117页珍藏版)》请在冰豆网上搜索。

python教程.docx

python教程

使用带提示符的解释器

在命令行的shell提示符下键入python,启动解释器。

现在输入print'HelloWorld',然后按Enter键。

你应该可以看到输出的单词HelloWorld。

对于Windows用户,只要你正确的设置了PATH变量,你应该可以从命令行启动解释器。

或者你可以选择使用IDLE程序。

IDLE是集成开发环境的缩写。

点击开始->程序->Python2.3->IDLE(PythonGUI)。

Linux用户也可以使用IDLE。

注意,>>>是你键入Python语句的提示符。

例3.1使用带提示符的Python解释器

$python

Python2.3.4(#1,Oct262004,16:

42:

40)

[GCC3.4.220041017(RedHat3.4.2-6.fc3)]onlinux2

Type"help","copyright","credits"or"license"formoreinformation.

>>>print'helloworld'

helloworld

>>>

注意,Python会在下一行立即给出你输出!

你刚才键入的是一句Python语句。

我们使用print(不要惊讶)来打印你提供给它的值。

这里,我们提供的是文本HelloWorld,它被迅速地打印在屏幕上。

如何退出Python提示符

如果你使用的是Linux/BSDshell,那么按Ctrl-d退出提示符。

如果是在Windows命令行中,则按Ctrl-z再按Enter。

挑选一个编辑器

在我们开始讲述以源文件方式编写Python程序之前,我们需要一个编辑器来写源文件。

挑选一个编辑器确实是极其重要的。

你挑选一个编辑器就如同你挑选一辆你将购买的轿车一样。

一个好的编辑器会帮助你方便地编写Python程序,使你地编程旅程更加舒适,帮助你更加快捷安全地到达目的地(实现目标)。

对于编辑器的基本要求之一是语法加亮功能,利用这一功能,你的Python程序的不同部分被标以不同的颜色,这样你可以更好看清楚你的程序,使它的运行显得形象化。

如果你使用Windows,那么我建议你使用IDLE。

IDLE具备语法加亮功能,还有许多其他的功能,比如允许你在IDLE中运行你的程序。

特别值得注意的是:

不要使用Notepad——它是一个糟糕的选择,因为它没有语法加亮功能,而且更加重要的是,它不支持文本缩进。

而我们将会看到文本缩进对于我们来说极其重要。

一个好的编辑器,比如IDLE(还有VIM)将会自动帮助你做这些事情。

如果你使用Linux/FreeBSD,那么你有很多种选择。

如果你是一位有经验的程序员,你一定已经在使用VIM或者Emacs了。

勿庸置疑,它们是两个功能最强大的编辑器。

使用它们编写你的Python程序,你将从中受益。

我个人使用VIM编写我的大多数程序。

如果你是一个初学编程的人,那么你可以使用Kate,它也是我最喜欢的编辑器之一。

只要你愿意花时间学习使用VIM或Emacs,那么我强烈建议你一定要学习两者之一,因为从长远看来它们对你是极其有帮助的。

如果你还想寻找一下其他可供选择的编辑器,可以看一下详尽的Python编辑器列表,然后作出你的选择。

你也可以使用Python的IDE(集成开发环境)。

请看一下详尽的支持Python的IDE列表以获得详尽的信息。

一旦你开始编写大型的Python程序,IDE确实很有用。

我再一次重申,请选择一个合适的编辑器——它能使编写Python程序变得更加有趣、方便。

使用源文件

现在让我们重新开始编程。

当你学习一种新的编程语言的时候,你编写运行的第一个程序通常都是“HelloWorld”程序,这已经成为一种传统了。

在你运行“HelloWorld”程序的时候,它所做的事只是说声:

“HelloWorld”。

正如提出“HelloWorld”程序的SimonCozens[1]所说:

“它是编程之神的传统咒语,可以帮助你更好的学习语言。

启动你选择的编辑器,输入下面这段程序,然后把它保存为helloworld.py。

例3.2使用源文件

#!

/usr/bin/python

#Filename:

helloworld.py

print 'HelloWorld'

(源文件:

code/helloworld.py)

为了运行这个程序,请打开shell(Linux终端或者DOS提示符),然后键入命令pythonhelloworld.py。

如果你使用IDLE,请使用菜单Edit->RunScript或者使用键盘快捷方式Ctrl-F5。

输出如下所示。

输出

$pythonhelloworld.py

HelloWorld

如果你得到的输出与上面所示的一样,那么恭喜!

——你已经成功地运行了你的第一个Python程序。

万一你得到一个错误,那么请确保你键入的程序准确无误,然后再运行一下程序。

注意Python是大小写敏感的,即print与Print不一样——注意前一个是小写p而后一个是大写P。

另外,确保在每一行的开始字符前没有空格或者制表符——我们将在后面讨论为什么这点是重要的。

它如何工作

让我们思考一下这个程序的前两行。

它们被称作注释——任何在#符号右面的内容都是注释。

注释主要作为提供给程序读者的笔记。

Python至少应当有第一行那样的特殊形式的注释。

它被称作组织行——源文件的头两个字符是#!

,后面跟着一个程序。

这行告诉你的Linux/Unix系统当你执行你的程序的时候,它应该运行哪个解释器。

这会在下一节做详细解释。

注意,你总是可以通过直接在命令行指定解释器,从而在任何平台上运行你的程序。

就如同命令pythonhelloworld.py一样。

重要

在你的程序中合理地使用注释以解释一些重要的细节——这将有助于你的程序的读者轻松地理解程序在干什么。

记住,这个读者可能就是6个月以后的你!

跟在注释之后的是一句Python语句——它只是打印文本“HelloWorld”。

print实际上是一个操作符,而“HelloWorld”被称为一个字符串——别担心我们会在后面详细解释这些术语。

[1]一位最主要的Perl6/Parrot高手,轰动的《开始Perl》一书的作者。

可执行的Python程序

这部分内容只对Linux/Unix用户适用,不过Windows用户可能也对程序的第一行比较好奇。

首先我们需要通过chmod命令,给程序可执行的许可,然后运行程序。

$chmoda+xhelloworld.py

$./helloworld.py

HelloWorld

chmod命令用来改变文件的模式,给系统中所有用户这个源文件的执行许可。

然后我们可以直接通过指定源文件的位置来执行程序。

我们使用./来指示程序位于当前目录。

为了更加有趣一些,你可以把你的文件名改成仅仅helloworld,然后运行./helloworld。

这样,这个程序仍然可以工作,因为系统知道它必须用源文件第一行指定的那个解释器来运行程序。

只要知道程序的确切位置,你现在就可以运行程序了——但是如果你希望你的程序能够从各个位置运行呢?

那样的话,你可以把你的程序保存在PATH环境变量中的目录之一。

每当你运行任何程序,系统会查找列在PATH环境变量中的各个目录。

然后运行那个程序。

你只要简单地把这个源文件复制到PATH所列目录之一就可以使你的程序在任何位置都可用了。

$echo$PATH

/opt/mono/bin/:

/usr/local/bin:

/usr/bin:

/bin:

/usr/X11R6/bin:

/home/swaroop/bin

$cphelloworld.py/home/swaroop/bin/helloworld

$helloworld

HelloWorld

我们能够用echo命令来显示PATH变量,用$给变量名加前缀以向shell表示我们需要这个变量的值。

我们看到/home/swaroop/bin是PATH变量中的目录之一。

swaroop是我的系统中使用的用户名。

通常,在你的系统中也会有一个相似的目录。

你也可以把你选择的目录添加到PATH变量中去——这可以通过运行PATH=$PATH:

/home/swaroop/mydir完成,其中“/home/swaroop/mydir”是我想要添加到PATH变量中的目录。

当你想要在任何时间、任何地方运行你的程序的时候,这个方法十分有用。

它就好像创造你自己的指令,如同cd或其他Linux终端或DOS提示符命令那样。

提示

对于Python来说,程序、脚本或者软件都是指同一个东西。

获取帮助

如果你需要某个Python函数或语句的快速信息帮助,那么你可以使用内建的help功能。

尤其在你使用带提示符的命令行的时候,它十分有用。

比如,运行help(str)——这会显示str类的帮助。

str类用于保存你的程序使用的各种文本(字符串)。

类将在后面面向对象编程的章节详细解释。

注释

按q退出帮助。

类似地,你可以获取Python中几乎所有东西的信息。

使用help()去学习更多关于help本身的东西!

如果你想要获取关于如print那样操作符的帮助,那么你需要正确的设置PYTHONDOCS环境变量。

这可以在Linux/Unix中轻松地通过env命令完成。

$envPYTHONDOCS=/usr/share/doc/python-docs-2.3.4/html/python

Python2.3.4(#1,Oct262004,16:

42:

40)

[GCC3.4.220041017(RedHat3.4.2-6.fc3)]onlinux2

Type"help","copyright","credits"or"license"formoreinformation.

>>>help('print')

你应该注意到我特意在“print”上使用了引号,那样Python就可以理解我是希望获取关于“print”的帮助而不是想要它打印东西。

注意,我使用的位置是在FedoraCore3Linux中的位置——它可能在不同的发行版和版本中有所不同。

你现在应该可以方便地编写、保存和运行Python程序了。

既然你是一个Python用户,让我们学习更多Python的概念。

第4章基本概念

目录表

字面意义上的常量

字符串

变量

标识符的命名

数据类型

对象

输出

它如何工作

逻辑行与物理行

缩进

概括

仅仅打印“HelloWorld”就足够了吗?

你应该想要做更多的事——你想要得到一些输入,然后做操作,再从中得到一些输出。

在Python中,我们可以使用常量和变量来完成这些工作。

字面意义上的常量

一个字面意义上的常量的例子是如同5、1.23、9.25e-3这样的数,或者如同'Thisisastring'、"It'sastring!

"这样的字符串。

它们被称作字面意义上的,因为它们具备字面的意义——你按照它们的字面意义使用它们的值。

数2总是代表它自己,而不会是别的什么东西——它是一个常量,因为不能改变它的值。

因此,所有这些都被称为字面意义上的常量。

在Python中有4种类型的数——整数、长整数、浮点数和复数。

∙2是一个整数的例子。

∙长整数不过是大一些的整数。

∙3.23和52.3E-4是浮点数的例子。

E标记表示10的幂。

在这里,52.3E-4表示52.3*10-4。

∙(-5+4j)和(2.3-4.6j)是复数的例子。

字符串

字符串是字符的序列。

字符串基本上就是一组单词。

我几乎可以保证你在每个Python程序中都要用到字符串,所以请特别留心下面这部分的内容。

下面告诉你如何在Python中使用字符串。

∙使用单引号(')

你可以用单引号指示字符串,就如同'Quotemeonthis'这样。

所有的空白,即空格和制表符都照原样保留。

∙使用双引号(")

在双引号中的字符串与单引号中的字符串的使用完全相同,例如"What'syourname?

"。

∙使用三引号('''或""")

利用三引号,你可以指示一个多行的字符串。

你可以在三引号中自由的使用单引号和双引号。

例如:

'''Thisisamulti-linestring.Thisisthefirstline.

Thisisthesecondline.

"What'syourname?

"Iasked.

Hesaid"Bond,JamesBond."

'''

∙转义符

假设你想要在一个字符串中包含一个单引号('),那么你该怎么指示这个字符串?

例如,这个字符串是What'syourname?

你肯定不会用'What'syourname?

'来指示它,因为Python会弄不明白这个字符串从何处开始,何处结束。

所以,你需要指明单引号而不是字符串的结尾。

可以通过转义符来完成这个任务。

你用\'来指示单引号——注意这个反斜杠。

现在你可以把字符串表示为'What\'syourname?

'。

另一个表示这个特别的字符串的方法是"What'syourname?

",即用双引号。

类似地,要在双引号字符串中使用双引号本身的时候,也可以借助于转义符。

另外,你可以用转义符\\来指示反斜杠本身。

值得注意的一件事是,在一个字符串中,行末的单独一个反斜杠表示字符串在下一行继续,而不是开始一个新的行。

例如:

"Thisisthefirstsentence.\

Thisisthesecondsentence."

等价于"Thisisthefirstsentence.Thisisthesecondsentence."

∙自然字符串

如果你想要指示某些不需要如转义符那样的特别处理的字符串,那么你需要指定一个自然字符串。

自然字符串通过给字符串加上前缀r或R来指定。

例如r"Newlinesareindicatedby\n"。

∙Unicode字符串

Unicode是书写国际文本的标准方法。

如果你想要用你的母语如北印度语或阿拉伯语写文本,那么你需要有一个支持Unicode的编辑器。

类似地,Python允许你处理Unicode文本——你只需要在字符串前加上前缀u或U。

例如,u"ThisisaUnicodestring."。

记住,在你处理文本文件的时候使用Unicode字符串,特别是当你知道这个文件含有用非英语的语言写的文本。

∙字符串是不可变的

这意味着一旦你创造了一个字符串,你就不能再改变它了。

虽然这看起来像是一件坏事,但实际上它不是。

我们将会在后面的程序中看到为什么我们说它不是一个缺点。

∙按字面意义级连字符串

如果你把两个字符串按字面意义相邻放着,他们会被Python自动级连。

例如,'What\'s''yourname?

'会被自动转为"What'syourname?

"。

给C/C++程序员的注释

在Python中没有专门的char数据类型。

确实没有需要有这个类型,我相信你不会为此而烦恼。

给Perl/PHP程序员的注释

记住,单引号和双引号字符串是完全相同的——它们没有在任何方面有不同。

给正则表达式用户的注释

一定要用自然字符串处理正则表达式。

否则会需要使用很多的反斜杠。

例如,后向引用符可以写成'\\1'或r'\1'。

变量

仅仅使用字面意义上的常量很快就会引发烦恼——我们需要一种既可以储存信息又可以对它们进行操作的方法。

这是为什么要引入变量。

变量就是我们想要的东西——它们的值可以变化,即你可以使用变量存储任何东西。

变量只是你的计算机中存储信息的一部分内存。

与字面意义上的常量不同,你需要一些能够访问这些变量的方法,因此你给变量名字。

标识符的命名

变量是标识符的例子。

标识符是用来标识某样东西的名字。

在命名标识符的时候,你要遵循这些规则:

∙标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘_’)。

∙标识符名称的其他部分可以由字母(大写或小写)、下划线(‘_’)或数字(0-9)组成。

∙标识符名称是对大小写敏感的。

例如,myname和myName不是一个标识符。

注意前者中的小写n和后者中的大写N。

∙有效标识符名称的例子有i、__my_name、name_23和a1b2_c3。

∙无效标识符名称的例子有2things、thisisspacedout和my-name。

数据类型

变量可以处理不同类型的值,称为数据类型。

基本的类型是数和字符串,我们已经讨论过它们了。

在后面的章节里面,我们会研究怎么用类创造我们自己的类型。

对象

记住,Python把在程序中用到的任何东西都称为对象。

这是从广义上说的。

因此我们不会说“某某东西”,我们说“某个对象”。

给面向对象编程用户的注释

就每一个东西包括数、字符串甚至函数都是对象这一点来说,Python是极其完全地面向对象的。

我们将看一下如何使用变量和字面意义上的常量。

保存下面这个例子,然后运行程序。

如何编写Python程序

下面是保存和运行Python程序的标准流程。

   1.打开你最喜欢的编辑器。

   2.输入例子中的程序代码。

   3.用注释中给出的文件名把它保存为一个文件。

我按照惯例把所有的Python程序都以扩展名.py保存。

   4.运行解释器命令pythonprogram.py或者使用IDLE运行程序。

你也可以使用先前介绍的可执行的方法。

例4.1使用变量和字面意义上的常量

#Filename:

var.py

i=5

printi

i=i+1

printi

s='''Thisisamulti-linestring.

Thisisthesecondline.'''

prints

(源文件:

code/var.py)

输出

$pythonvar.py

5

6

Thisisamulti-linestring.

Thisisthesecondline.

它如何工作

下面来说明一下这个程序如何工作。

首先我们使用赋值运算符(=)把一个字面意义上的常数5赋给变量i。

这一行称为一个语句。

语句声明需要做某件事情,在这个地方我们把变量名i与值5连接在一起。

接下来,我们用print语句打印i的值,就是把变量的值打印在屏幕上。

然后我们对i中存储的值加1,再把它存回i。

我们打印它时,得到期望的值6。

类似地,我们把一个字面意义上的字符串赋给变量s然后打印它。

给C/C++程序员的注释

使用变量时只需要给它们赋一个值。

不需要声明或定义数据类型。

逻辑行与物理行

物理行是你在编写程序时所看见的。

逻辑行是Python看见的单个语句。

Python假定每个物理行对应一个逻辑行。

逻辑行的例子如print'HelloWorld'这样的语句——如果它本身就是一行(就像你在编辑器中看到的那样),那么它也是一个物理行。

默认地,Python希望每行都只使用一个语句,这样使得代码更加易读。

如果你想要在一个物理行中使用多于一个逻辑行,那么你需要使用分号(;)来特别地标明这种用法。

分号表示一个逻辑行/语句的结束。

例如:

i=5

printi

与下面这个相同:

i=5;

printi;

同样也可以写成:

i=5;printi;

甚至可以写成:

i=5;printi

然而,我强烈建议你坚持在每个物理行只写一句逻辑行。

仅仅当逻辑行太长的时候,在多于一个物理行写一个逻辑行。

这些都是为了尽可能避免使用分号,从而让代码更加易读。

事实上,我从来没有在Python程序中使用过或看到过分号。

下面是一个在多个物理行中写一个逻辑行的例子。

它被称为明确的行连接。

s='Thisisastring.\

Thiscontinuesthestring.'

prints

它的输出:

Thisisastring.Thiscontinuesthestring.

类似地,

print\

i

与如下写法效果相同:

printi

有时候,有一种暗示的假设,可以使你不需要使用反斜杠。

这种情况出现在逻辑行中使用了圆括号、方括号或波形括号的时候。

这被称为暗示的行连接。

你会在后面介绍如何使用列表的章节中看到这种用法。

缩进

空白在Python中是重要的。

事实上行首的空白是重要的。

它称为缩进。

在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。

这意味着同一层次的语句必须有相同的缩进。

每一组这样的语句称为一个块。

我们将在后面的章节中看到有关块的用处的例子。

你需要记住的一样东西是错误的缩进会引发错误。

例如:

i=5

 print'Valueis',i#Error!

Noticeasinglespaceatthestartoftheline

print'Irepeat,thevalueis',i

当你运行这个程序的时候,你会得到下面的错误:

  File"whitespace.py",line4

    print'Valueis',i#Error!

Noticeasinglespaceatthestartoftheline

    ^

SyntaxError:

invalidsyntax

注意,在第二行的行首有一个空格。

Python指示的这个错误告诉我们程序的语法是无效的,即程序没有正确地编写。

它告诉你,你不能随意地开始新的语句块(当然除了你一直在使用的主块)。

何时你能够使用新块,将会在后面的章节,如控制流中详细介绍。

如何缩进

不要混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,无法正常工作。

我强烈建议你在每个缩进层次使用单个制表符或两个或四个空格。

选择这三种缩进风格之一。

更加重要的是,选择一种风格,然后一贯地使用它,即只使用这一种风格。

概括

现在我们已经学习了很多详细的内容,我们可以开始学习更加令你感兴趣的东西,比如控制流语句。

在继续学习之前,请确信你对本章的内容清楚明了。

第5章运算符与表达式

目录表

简介

运算符

运算符优先级

计算顺序

结合规律

表达式

使用表达式

概括

简介

你编写的大多数语句(逻辑行)都包含表达式。

一个简单的表达式例子如2+3。

一个表达式可以分解为运算符和操作数。

运算符的功能是完成某件事,它们由如+这样的符号或者其他特定的关键字表示。

运算符需要数据来进行运算,这样的数据被称为操作数。

在这个例子中,2和3是操作数。

运算符

我们将简单浏览一下运算符和它们的用法:

技巧

你可以交互地使用解释器来计算例子中给出的表达式。

例如,为了测试表达式2+3,使用交互式的带提示符的Python解释器:

>>>2+3

5

>>>3*5

15

>>>

表5.1运算符与它们的用法

运算符

名称

说明

例子

+

两个对象相加

3+5得到8。

'a'+'b'得到'ab'。

-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1