1 Python基础

1基础知识

2.1 冯诺依曼体系

基于冯诺依曼模型建造的计算机包含四个子系统:存储器、算术逻辑单元、控制单元和输入/输出单元,如下图所示:

2.2 图形用户界面与命令行界面

图形用户界面(Graphical User Interface)简称GUI,它是指采用图形方式显示计算机操作用户界面。命令行界面(Command-Line Interface)是图形界面普及之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收指令后,予以执行。两种图形界面如下图所示:

https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1531105802&di=b207c25f5150622ef644ce2d873d0033&imgtype=jpg&er=1&src=http%3A%2F%2Fwenwen.soso.com%2Fp%2F20110615%2F20110615085255-1123075529.jpg     https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1531105766&di=487cf483b8349d550423fb25d1c12172&imgtype=jpg&er=1&src=http%3A%2F%2Fwww.myexception.cn%2Fimg%2F2015%2F11%2F22%2F101840144.png

2.3 计算机程序的构成

程序是一系列定义计算机如何执行计算的指令。注意,这里的计算可以是数学上的计算,例如求解方程;也可以是符号计算,例如在文档中搜索一并替换文本或者图片。程序当中的基本指令包括:

输入:从键盘、文件、网络或者其他设备获取数据;

输出:在屏幕上显示数据,将数据保存至文件,通过网络传送数据等;

数学:执行基本的数学运算,与加、减、乘、除;

有条件执行:检查复合某个条件后,执行相应代码;

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

程序的全部指令都来源于以上五种基本指令,编程的过程就是将庞大、复杂的任务分解为越来越小的子任务,直到这些子任务简单到可以用这其中的一个基本指令执行。

2.4 编程语言的分类

编程语言可分为两类:低级语言和高级语言。

低级语言是指机器语言和汇编语言。计算机真正认识并能够执行的代码,在我们看来是一串0和1组成的二进制数字,这些数字代表指令和数据。它与机器硬件紧密相关,但是不符合人类的语言和思维习惯,要想把低级语言写的程序移植到其他平台,就必须重写。

高级语言是让程序按照人类的思维和语言习惯来书写,机器无法读懂。因此,高级语言必须要经过一个“翻译”的过程,将其转换成可执行的代码。

高级语言翻译成机器代码有两种方法:解释和编译。解释是将源代码逐条转换成目标代码同时逐条执行目标代码的过程。执行解释的计算机程序称为解释器(Interpreter)。编译是将源代码转换成目标代码的过程,执行编译的计算机程序称为编译器(Compiler)。两者的执行方式如下图所示:

2.5 Python语言

Python语言是一种解释型的高级语言,主要特点如下:

(1)语法简洁:实现相同功能,Python语言代码行数仅相当于其他语言的1/10~1/5;

(2)跨平台:Python程序可以在任何安装解释器的计算机环境中执行。

(3)可扩展:Python可以集成C,Java等语言编写的代码

(4)类库丰富:Python解释器提供了几百个内置类和函数库。此外,世界各地的程序员通过开源社区贡献了十几万个第三方函数库。

2.6 Python变量命名规则

在Python中使用变量时,命名规则如下:

(1)变量名只能包含字母、数字和下划线。变量名可以用字母名或者下划线开头,但是不能以数字开头;

(2)变量名是对大小写敏感的。例如,myname和myName不是一个变量名;

(3)变量名不能含有空格;

(4)不要将Python关键字和函数名作为变量名,即不要使用Python保留的用于特殊用途的单词。下表展示了Python3中常见的关键字。

一个变量被命名之后,可以使用赋值操作符(=)对变量进行赋值操作。变量就像计算机内存中的一个盒子,其中可以存放一个值,而赋值操作符的作用就相当于将值保存在变量中。

2.7 Python书写规则

(1)原则上是一行只有一条Python 语句。

(2)如果要在一行中写入多条Python 语句,那么需要使用分号(;)来特别地标明这种用法。分号表示一条语句的结束。例如:

一行一条Python 语句:

a=5

Print a

一行多条Python 语句:

a=5;print a

(3)缩进(需扩充)

  1. 空白在Python中是重要的。它称为缩进。在命令行首的空白(空格和制表符)用来决定命令行的缩进层次,从而用来决定语句的分组。
  2. 这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。
  3. 建议在每个缩进层次使用单个制表符或两个或四个空格 。

(4)注释语句

  1. 在#符后面写的文字,一律认为是注释语句,不参与运行。注释语句对于阅读程序很有帮助,命令行后加注释语句是一个程序员的优良品质之一。 此外,程序员在测试代码时,也可以使用注释来暂时禁用一行代码,来测试这段代码的功能。

2.8 Python输入输出语句

(1)字符串的输入函数——input()函数(需详细编写)

(2)字符串的输出函数——print()函数

2.9 Python基本数据类型

Python中的基本数据类型包括数字数据类型和字符串数据类型。在数字数据类型中,包含整型和浮点型。如下图所示,int就代表整型,float就代表浮点型,其区别在于数字是否带有小数,带有小数的就叫浮点型。

字符串类型是Python中另一种基本的数据类型,属于文本值,需要使用单引号或者双引号包括,表示字符串的开始和结束。可以使用[i]来访问字符串中的第i个字符。注意,字符串中最左侧的字符序号为0。

整数类型

与数学中的整数概念一致。整数类型有四种进制表示:十进制、二进制、八进制和十六进制。总结如下表:

进制类型

引导符号

描述

十进制

默认情况

二进制

0b或0B

有字符0和1组成,如0b101

八进制

0o和0O

由字符0到7组成,如,0o711

十六进制

0x或0X

由字符0到9、a到f、A到F组成,例如0xABC

浮点数类型

与数学中的实数概念一致,表示带有小数的数值。浮点数有两种表示方法:十进制表示和科学计数法。其中,科学计数法是以字母e或者E作为幂的符号,以10位基数,含义如下:

<a>e<b> = a*10b

数字类型的操作

以上7种操作符与数学习惯一致。注意,操作符运算结果可能改变数字类型,基本规则如下(注意,此部分就是Python中涉及到的数据类型强制转换):

  1. 整数之间运算,若数学意义的结果是小数,结果为浮点数
  2. 整数之间运算,若数学意义的结果是整数,结果为整数
  3. 整数和浮点数混合运算,输出结果为浮点数

字符串类型

字符串的五个基本操作如下表所示:

操作符

描述

x+y

连接字符串x与y

x*n

复制n次字符串x

str[i]

索引,返回第i个字符

str[N:M]

切片,返回索引第N到第M的子串,其中不包含M

转义字符

控制字符

作用

\a

蜂鸣,响铃

\’

单引号

\n

换行,光标移动到下行首行

\r

换行,光标移动到本行首行

\t

水平制表

\v

垂直制表

内置字符串处理函数len()和str(),函数len(x)的作用是返回字符串x的长度。函数str()的作用是返回任意类型x所对应的字符串形式。

字符串类型的格式化

字符串的格式化是用于解决字符串和变量同时输出时的格式安排。Python中同时支持两种字符串格式化方法,一种是类似于C语言中printf()函数的格式化方法;另一种是采用str.format()格式化方法(str表示字符串)。

str.format()方法的基本使用格式如下:

<模板字符串>.format(<逗号分割的参数>)

模板字符串由一系列槽组成,用来控制修改字符串中嵌入值出现的位置,其基本思想是将format()方法中的逗号分割的参数按照序号关系替换到模板字符串的槽中。槽用大括号({})表示,若大括号中没有序号,则按照出现顺序替换。如果大括号中制定了使用参数的序号,按照序号对应的参数替换,注意,参数是从0开始编号的。

模板字符串中的槽除了包括参数序号,还可以包括格式控制信息,此时,槽内部样式如下:

{<参数序号>:<格式控制标记>}。

其中,格式控制标记用来控制参数显示时的格式,其包括<填充>、<对齐>、<宽度>、<,><.精度>、<类型> 6个字段。

<填充>:指宽度内除了参数以外的字符采用什么方式表示,默认为空格。

<宽度>:当前槽设定输出字符串的最大宽度。若输出字符串的长度大于<宽度>设定值,则使用该字符串的实际长度;反之,空余位置被默认以空格字符补充。

<对齐>:指参数在宽度内输出是的对齐方式,分别使用<、>和^三个符号表示左对齐、右对齐和居中对齐。

<,>:显示数字类型的千位分隔符。

<.精度>:以.开头,包括两个含义。对于浮点数,精度表示小数部分输出的有效位数。对于字符串,精度表示输出的最大长度。

<类型>:表示输出整数和浮点数类型的格式规则。对于整数类型,输出格式包括以下6种:

b:输出整数的二进制方式

c:输出整数对应的Unicode字符

d:输出整数的十进制方式

o:输出整数的八进制方式

x:输出整数的小写十六进制方式

X:输出整数的大写十六进制方式

对于浮点数类型,输出格式包括以下4种:

e:输出浮点数对应的小写字母e的指数形式

E:输出浮点数对应的大写字母E的指数形式

f:输出浮点数的标准浮点形式

%:输出浮点数的百分形式

2实验步骤

2.1 命令行界面的简单操作

点击开始—>运行,在输入框中输入cmd并敲击回车。此时,可以看到以下界面,其中,C:\User\Administrator>表示当前的路径信息。

在命令行中输入cd desktop并按下回车键,观察输出结果。

在命令行中输入dir并按下回车键,观察输入结果。

在命令行中输入md temp并按下回车键,继续输入dir并按下回车键,观察输出结果。

在命令行中输入rd temp并按下回车键,继续输入dir并按下回车键,观察输出结果。

总结:以上五个步骤展示了在主目录创建目录并删除的过程。所用命令及其对应功能如下表所示:

命令

功能

cd

更改目录

md

创建目录

dir

列出目录内容

rd

删除目录

 

3.2 Python解释器的下载与安装(课下操作,该部分是针对只安装Python的情况)

Python解释器对应不同系统有三个版本:Windows, Linux和OS X,可以从http://python.org免费下载,下面我们将以Windows版本为例。登录http://python.org/download,根据计算机系统下载与之对应的Python(注:Python有两个版本,分别是Python2和Python3。本课程将采用Python3。)双击所下载的程序安装Python解释器,如下图所示,勾选图中的Add Path 3.7 to PATH复选框。

图1.4 安装程序的启动页面

点击Install Now,安装成功后显示如下图所示页面。

打开终端命令行,输入Python,若出现Python版本号,则说明安装成功。

 

3.3 Anaconda的下载与安装

Anaconda是一个开源的Python发行版本,内部集成了常用的Python库,例如NumPy等。与此同时,也包含了集成开发环境Spyder。安装步骤如下:

Step 1:在https://www.anaconda.com/download/上下载Anaconda对应版本。例如我的操作系统是Windows10的64位版本,就下载64位的软件。本实验使用Python3.6,我们就下载Python 3.6对应的版本。

Step 2. 开始安装后,单击下一步。安装路径不能包含空格和中文,如下图所示,这点非常重要!

Step 3:勾选两个选框,单机Install,并等待至Anaconda开始结束。

Step 4:打开Anaconda Prompt,并输入Python,若看到以下输出结果,则说明Anaconda安装成功。

3.4 第一个Python程序

在桌面上找到Spyder并打开它。其界面如下所示,对于该软件,目前我们只需要了解到如何输入代码,执行,调试等操作即可。

请在编辑区域中输入以下代码。然后按ctrl+s保存该代码,并将其命名为c1_ex1.py:

1

2

3

4

5

#input name

my_name = input("What is you name?")

#print name

print("Your name is:")

print(my_name)

然后点击界面上方的绿色三角,运行该程序。在console中,我们可以看到输出结果。注意,代码的第1行和第3行为程序注释,用于解释下面代码的作用。

3.5 变量的操作

我们在Spyder右下角的console框中输入a=40,这行代码完成了对变量a的初始化,意味着该变量被创建,之后我们可以使用该变量。例如,我们继续在解释器中输入:a+1,我们可以观察到输出结果为:                                                                

输入a+c,可以观察到:                                                              

由此我们得出结论:                                                                   

我们继续输入:a=a+2并查看a的值,我们可以看到a的值变成了42,这被称为变量的复写,分别输入:type(10),type(40.0)和type(“Hello World!”),通过观察结果,可以得出函数type()的作用为:                                                        

3.6 数字类型的操作

在console中输入100/3和100//3,所得结果分别为:         在解释器中输入124+4.0所得结果为:           解释原因为:                                                   

7种二元数学操作符(+、-、*、/、//、%、**)都有与之对应的增强赋值操作符(+=、-=、*=、/=、//=、%=、**=),通过实验,探索增强赋值操作符+=的作用,并延伸到其他增强赋值操作符中:                                                                     

思考下列各个操作符的优先级,并计算表达式的值:

30-3**2+8//3**2*10

3*4**2/8%5

2**2**3

在console中写出下列数学表达式,并计算结果

x=(24+7-3×4)5

x=(1+32)×(16mod7)/7

运行结果为:                                                                     

3.5 转义字符操作

新建一个名为c1_ex2.py的文件,请输入以下代码,体会各个转义操作符的用法:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

stu1 = "\t李小明"

stu2 = "欧阳\nn小明"

stu3 = "\\狐小\\"

 

stu_to = '''

做一个列表

\t* 李小明

\t* 欧阳小明

\t* 令狐小明

'''

 

print(stu1)

print(stu2)

print(stu3)

 

print(stu_to)

3.5 字符串类型的操作

在Anaconda Prompt中输入以下代码,体会字符串的用法:

1

2

3

4

5

6

'Hello world!'[1]

'Hello world!'[0:6]

'Hello world!'[:7]

'Hello world'[2:]

'Hello'+'Python'+' '+'!'

'Python'*3

                                                                                                                              

                                                               

3随堂练习

3.1 通过命令行在桌面创建一个名为test的目录,之后在test目录下分别创建example1和example2目录,然后删除example1目录。

3.2 新建一个hw1_1.py的文件,编写一个银行叫号系统,要求程序运行时打印显示以下界面:

1. 存款

2. 贷款

3. 开卡

4. 挂失

请输入您要办理的业务:

当输入一个数字1-4时,打印一句欢迎语并展示你选择要办理的业务号码。

3.3 月球上的物体的体重是地球上的16.5%,假如你在地球上每年增长0.5kg,计算未来十年你在地球和月球上的体重状况。

3.4 请查阅资料,新建一个hw1_2.py文件,编写程序,将下列字符串转换成大写并打印输出(提示使用upper()方法)。

how old are you?

what color do you like?

what about this one?

3.5 思考题:试着使用input函数接收一个整数输入,你会发现什么?请解释原因并思考如何才能接收一个整数输入。

 

3.6 新建一个hw1_3.py文件,并编写一个程序。要求在程序中读入一个表示星期几的数字(1~7),输出对应的星期字符串名称。例如,输入3,返回“星期三”。(提示:使用一个字符串变量存储字符串“星期一星期二星期三星期四星期五星期六星期日”并使用字符串切片)

 

 

猜你喜欢

转载自blog.csdn.net/Liverpool_05/article/details/83245856
今日推荐