更多课程 选择中心

Python培训
美国上市教育机构

400-111-8989

Python培训

Python实践代码教程和练习

  • 发布:Python培训
  • 来源:练习题库
  • 时间:2017-07-18 15:37

想学会Python就是多敲代码,跟我一起敲把,先把基础学了,再跟着做一些项目,就跟穿珍珠一样把前面所有基础知识都穿起来,我也希望大家能够做好自己的笔记而不是完全跟我一样的笔记。你们做的笔记一定比我好。

Python实践

shell

文件方式

hello,World!

Python的运行方式

shell执行

文件执行

IO编程

程序

第一个程序

字面意义上的常量

字符串

变量

标识符的命名

数据类型

对象

逻辑行与物理行

缩进

Python实践

hello,World!

myString='Hello,World!'print(myString)

Python的运行方式

shell

shell是交互式的解释器。

输入一行命令,解释器就解释运行出相应的结果。

文件方式

在Python的IDE环境中,创建一个以.py为扩展名的文件。

用Python解释器在shell中运行出结果。

shell执行

MacBookPro:~ mac$ python3Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 26 2016, 10:49:35)

[GCC 4.2.1 (Apple Inc. build 5577)] on darwinType "help", "copyright", "credits" or "license" for more information.>>> myString='Hello,World!'>>> print(myString)Hello,World!>>> myString'Hello,World!'

文件执行

MacBookPro:~ mac$ cat myString.py myString='Hello,World!'print(myString)MacBookPro:~ mac$ python3 myString.py Hello,World!

IO编程

IO在计算机中指的是Input/Output,也就是输入输出。凡是用到数据交换的地方,都会涉及IO编程,例如磁盘、网络的数据传输。==在IO编程中,Stream(流)是一种重要的概念,分为输入流(Input Stream)和输出流(Output Stream)。==我们可以把流理解为一个水管,数据相当于水管中的水,但是只能单向流动,所以数据传输过程中需要架设两个水管,一个负责输入,一个负责输出,这样读写就可以实现同步。

程序

程序是指一组定义如何进行计算的指令集合。

程序语言都会出现几类基本指令:

1、输入:从键盘,文件或者其他设备中获取数据。

2、输出:将数据显示到屏幕或者发送到文件或者其他设备中。

3、数学:进行基本数学操作,比如加法或乘法。

4、条件执行:检查某种条件的状态,并执行相应的代码。

5、重复:重复执行某种动作,往往在重复中有一些变化。

我们可以把编程看做将大而复杂的任务分解为更小的子任务的过程,依此分解,直到任务简单得可以由上面的这些指令组合完成。

有两种方式构建软件设计:一种是把软件做的简单以至于明显找不到缺陷;另一种是把它做的很复杂以至于找不到明显的缺陷。

获得人生中的成功需要的专注于坚持不懈多过天才与机会。

第一个程序

MacBookPro:~ mac$ cat helloworld.py#!/usr/bin/python #指定解释器#Fiename:helloworld.pyprint 'Hello World!'MacBookPro:~ mac$ python helloworld.py Hello World!

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

字面意义上的常量

一个字面意义上的常量的例子是如同5、1.23、9.25e-3这样的数,或者如同'This is a string'、"It's a string!"这样的字符串。它们被称作字面意义上的,因为它们具备 字面 的意义——你按照它们 的字面意义使用它们的值。数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中使用字符串。

● 使用单引号(') 你可以用单引号指示字符串,就如同'Quote me on this'这样。所有的空白,即空格和制 表符都照原样保留。

● 使用双引号(") 在双引号中的字符串与单引号中的字符串的使用完全相同,例如"What's your name?"。

● 使用三引号('''或""") 利用三引号,你可以指示一个多行的字符串。你可以在三引号中自由的使用单引号和双 引号。例如: '''This is a multi-line string. This is the first line. This is the second line. "What's your ame?," I asked. He said "Bond, James Bond." ''' ● 转义符 假设你想要在一个字符串中包含一个单引号('),那么你该怎么指示这个字符串?例 如,这个字符串是What's your name?。你肯定不会用'What's your name?'来指示它,因为 Python会弄不明白这个字符串从何处开始,何处结束。所以,你需要指明单引号而不是 字符串的结尾。可以通过 转义符 来完成这个任务。你用'来指示单引号——注意这个反 斜杠。现在你可以把字符串表示为'What's your name?'。 另一个表示这个特别的字符串的方法是"What's your name?",即用双引号。类似地,要在 双引号字符串中使用双引号本身的时候,也可以借助于转义符。另外,你可以用转义符 \来指示反斜杠本身。

值得注意的一件事是,在一个字符串中,行末的单独一个反斜杠表示字符串在下一行继 续,而不是开始一个新的行。例如: "This is the first sentence.

This is the second sentence." 等价于"This is the first sentence. This is the second sentence."

● 自然字符串 如果你想要指示某些不需要如转义符那样的特别处理的字符串,那么你需要指定一个自 然字符串。自然字符串通过给字符串加上前缀r或R来指定。例如r"Newlines are indicated by \n"。

● Unicode字符串 Unicode是书写国际文本的标准方法。如果你想要用你的母语如北印度语或阿拉伯语写 文本,那么你需要有一个支持Unicode的编辑器。类似地,Python允许你处理Unicode文 本——你只需要在字符串前加上前缀u或U。例如,u"This is a Unicode string."。 记住,在你处理文本文件的时候使用Unicode字符串,特别是当你知道这个文件含有用 非英语的语言写的文本。

● 字符串是不可变的 这意味着一旦你创造了一个字符串,你就不能再改变它了。虽然这看起来像是一件坏 事,但实际上它不是。我们将会在后面的程序中看到为什么我们说它不是一个缺点。

● 按字面意义级连字符串 如果你把两个字符串按字面意义相邻放着,他们会被Python自动级连。例如,'What's' 'your ame?'会被自动转为"What's your name?"。

给C/C++程序员的注释 在Python中没有专门的char数据类型。确实没有需要有这个类型,我相信你不会为此而烦恼。

给Perl/PHP程序员的注释 记住,单引号和双引号字符串是完全相同的——它们没有在任何方面有不同。

给正则表达式用户的注释 一定要用自然字符串处理正则表达式。否则会需要使用很多的反斜杠。例如,后向引用符可以 写成'\1'或r'\1'。

变量

仅仅使用字面意义上的常量很快就会引发烦恼——我们需要一种既可以储存信息 又可以对它 们进行操作的方法。这是为什么要引入 变量 。变量就是我们想要的东西——它们的值可以变 化,即你可以使用变量存储任何东西。变量只是你的计算机中存储信息的一部分内存。与字面 意义上的常量不同,你需要一些能够访问这些变量的方法,因此你给变量名字。

标识符的命名

变量是标识符的例子。 标识符 是用来标识 某样东西 的名字。在命名标识符的时候,你要遵循 这些规则:

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

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

● 标识符名称是对大小写敏感的。例如,myname和myName不是一个标识符。注意前者中 的小写n和后者中的大写N。

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

● 无效 标识符名称的例子有2things、this is spaced out和my-name。

数据类型

变量可以处理不同类型的值,称为数据类型。基本的类型是数和字符串,我们已经讨论过它们 了。在后面的章节里面,我们会研究怎么用类创造我们自己的类型。

对象

记住,Python把在程序中用到的任何东西都称为 对象 。这是从广义上说的。因此我们不会 说“某某 东西 ”,我们说“某个 对象 ”。

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

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

我们将看一下如何使用变量和字面意义上的常量。保存下面这个例子,然后运行程序。

如何编写Python程序

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

打开你最喜欢的编辑器。

输入例子中的程序代码。

用注释中给出的文件名把它保存为一个文件。我按照惯例把所有的Python程序都以扩展名. py保存。

运行解释器命令python program.py或者使用IDLE运行程序。你也可以使用先前介绍的可执 行的方法。

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

MacBookPro:~ mac$ cat var.py#!/usr/bin/python#Filename:var.pyi = 5print i

i = i + 1print i

s = '''This is a multi-line string.

This is the second line.'''print s

执行

MacBookPro:~ mac$ python var.py

56This is a multi-line string.

This is the second line.

它如何工作 下面来说明一下这个程序如何工作。首先我们使用赋值运算符(=)把一个字面意义上的常数5 赋给变量i。这一行称为一个语句。语句声明需要做某件事情,在这个地方我们把变量名i与值5 连接在一起。接下来,我们用print语句打印i的值,就是把变量的值打印在屏幕上。 然后我们对i中存储的值加1,再把它存回i。我们打印它时,得到期望的值6。 类似地,我们把一个字面意义上的字符串赋给变量s然后打印它。

给C/C++程序员的注释 使用变量时只需要给它们赋一个值。不需要声明或定义数据类型。

逻辑行与物理行

物理行是你在编写程序时所 看见 的。逻辑行是Python 看见 的单个语句。Python假定每个 物理 行 对应一个 逻辑行 。

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

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

如果你想要在一个物理行中使用多于一个逻辑行,那么你需要使用分号(;)来特别地标明这 种用法。分号表示一个逻辑行/语句的结束。例如:

i = 5print i

与下面这个相同:

i = 5;print i;

同样也可以写成:

i = 5; print i;

甚至可以写成:

i = 5; print i

然而,我强烈建议你坚持在每个物理行只写一句逻辑行。仅仅当逻辑行太长的时候,在多于一 个物理行写一个逻辑行。这些都是为了尽可能避免使用分号,从而让代码更加易读。事实上, 我 从来没有 在Python程序中使用过或看到过分号。

下面是一个在多个物理行中写一个逻辑行的例子。它被称为明确的行连接。

s = 'This is a string. \This continues the string.'print s

它的输出:

This is a string. This continues the string.

类似地,

print \i

与如下写法效果相同:

print i

有时候,有一种暗示的假设,可以使你不需要使用反斜杠。这种情况出现在==逻辑行中使用了圆 括号、方括号或波形括号的时候。这被称为暗示的行连接。==你会在后面介绍如何使用列表的章 节中看到这种用法。

缩进

空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空 格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。

这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。我们将在后面的 章节中看到有关块的用处的例子。

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

MacBookPro:~ mac$ cat var.py#!/usr/bin/python#Filename:var.pyi = 5

print 'Value is',i #Error! Notice a single space at the start of the line

print 'I repeat, the value is',i

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

MacBookPro:~ mac$ python var.py

File "var.py", line 5

print 'Value is',i #Error! Notice a single space at the start of the line

^

IndentationError: unexpected indent

注意,在第二行的行首有一个空格。Python指示的这个错误告诉我们程序的语法是无效的,即 程序没有正确地编写。它告诉你, 你不能随意地开始新的语句块 (当然除了你一直在使用的 主块)。何时你能够使用新块,将会在后面的章节,如控制流中详细介绍。

如何缩进

不要混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,无法正常工作。我 强 烈建议 你在每个缩进层次使用 单个制表符 或 两个或四个空格 。选择这三种缩进风格之一。更加重要的是,选择一种风格,然后一贯地使用它,即 只 使用这一种风格。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:半小时带你快速入门Python编程,Python快速入门教程
下一篇:Python代码书写规范,Python代码规范要求

Python编程练习三

Python正则表达式练习

Python 2的结束意味着什么

用python做一个划词翻译软件

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省