Python语言程序设计基础 课件 第2章 Python基本语法_第1页
Python语言程序设计基础 课件 第2章 Python基本语法_第2页
Python语言程序设计基础 课件 第2章 Python基本语法_第3页
Python语言程序设计基础 课件 第2章 Python基本语法_第4页
Python语言程序设计基础 课件 第2章 Python基本语法_第5页
已阅读5页,还剩90页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章Python基本语法2.1引例2.2标识符与命名规则2.3变量与赋值2.4数据的输入和输出2.5数值2.6字符串2.7字符串格式化本章小结

2.1引

【例2-1】

计算矩形面积。通过用户输入获取矩形的长度和宽度,然后计算并打印面积。【参考代码】

运行上述代码,得到如下结果:

对于上述计算矩形面积的Python程序,我们可以通过以下详细步骤来理解其编程逻辑。

步骤1:明确问题。

步骤2:获取用户输入。

步骤3:计算面积。

步骤4:显示结果。

步骤5:测试和验证。

上述过程展示了解决一个简单编程问题的逻辑。通过明确问题、收集必要信息(通过用户输入)、处理这些信息(通过计算和转换)、将处理后的信息(结果)反馈给用户,我们可以逐步解决更复杂的问题。这个过程也强调了编程的基本要素:变量声明与赋值、输入/输出操作、数据类型转换、数学运算以及结果展示。通过理解这些基础概念,在后面的学习中,我们可以编写更复杂的程序来解决实际问题。

Python是一种非常注重可读性的编程语言,其基本书写规则旨在确保代码清晰、简洁。遵循这些规则能够让我们的代码更易于维护,同时也能够减少因为语法错误或格式不当导致的问题。

(1)虽然上述例子中没有展示缩进,但是,在Python中,代码缩进是非常重要的。Python使用缩进来表示代码块,不同于其他使用大括号的语言。标准的缩进为每级4个空格。缩进的一致性对于保持代码的结构及可读性非常关键。

(2)从第一列开始,前面不能有任何空格,否则会产生语法错误。注意:注释语句可以从任意位置开始;复合语句构造体必须缩进。在Python中,复合语句是指那些包含其他语句的语句,它们扩展了简单语句的功能。复合语句通常用于控制程序的流程,进行数据的条件处理、循环处理等。

(3)在Python程序中,通常一行书写一条语句,如果一行内有多条语句,语句之间要求使用分号分隔。如果一条语句过长,可以使用反斜线“\”来实现分行书写功能。在 ()、[]、{} 内的跨行语句,也被视为一行语句。例如:

(4)在Python程序中,添加注释是非常必要的。注释以“#”开始,对复杂的代码块和操作使用注释,用来说明其功能或目的。单行注释使用“#”,而多行注释可以用三引号“'''”或“"""”包裹。

(5)在Python程序中,所有语法相关的符号,包括冒号“:”、单引号“'”、双引号“"”以及小括号“()”等,都应当使用英文输入法进行输入,除非这些符号位于字符串之内。

2.2标识符与命名规则

2.2.1标识符在Python中,包、模块、函数、类、变量等的名称必须是有效的标识符。标识符在定义时,需遵循以下命名规则。

(1)标识符的第一个字符必须是字母(大写或小写)或下划线(_)。

(2)标识符的其余部分可以由字母、下划线(_)或数字(0~9)组成。

(3)标识符在Python中是区分大小写的。例如,variable、Variable和VARIABLE是三个不同的标识符。

(4)标识符不能是Python的保留关键字。Python的保留关键字是该语言保留的单词,拥有专门的编程意义(如if、for、class等,见后文)。

(5)标识符应尽量具有描述性。例如,使用name或user_age比使用n或a更有意义。

(6) Python3以后的版本支持Unicode字符作为标识符,但最好避免使用,特别是在代码共享或国际化环境中。

2.2.2保留关键字

在Python中,关键字是一些预先保留的具有特殊语法意义的标识符。这些关键字定义了Python语言的规则和结构,不能用作变量名、函数名或任何其他标识符的名称,否则会产生编译错误。

每个关键字都有其特定的用途和意义,例如用于定义循环的for和while,用于条件判断的if、elif和else,以及用于定义函数的def等。

Python3的关键字如表2-1所示。

在Python中,使用帮助系统可以查看系统关键字。Python提供了一个内置的帮助系统,可通过几种不同的方式访问,帮助我们查询关键字、函数、模块等信息。下面是使用Python的帮助系统来查看系统关键字的具体步骤和示例。

(1)运行Python内置集成开发环境IDLE。

(2)进入帮助系统。当Python解释器启动后,输入help()命令以进入Python的内置帮助系统。

(3)搜索关键字。在帮助模式中,输入keywords命令来查看所有的Python关键字。

(4)获取特定关键字的帮助信息。如果想要获得特定关键字的详细信息,可以直接查询该关键字。例如,如果我们想了解def关键字的用法,可以在帮助系统的提示符后输入def。

(5)退出帮助系统。查看完所需信息后,输入quit命令退出帮助系统。

2.3变

2.3.1变量在计算机程序中,被存储和操作的信息通常被称作数据。这些数据根据其类型以不同的方式被处理和存储。数据类型不仅定义了数据的属性,还规定了可以对数据执行的操作。在Python中,变量是用来存储数据值的标识符,它们指向内存中保存数据的位置。也就是说,所有变量都是用来标识对象或引用对象的。变量的命名必须遵循标识符命名规则,例2-1中的length、width和area均为变量。

1.创建变量

在Python中创建变量非常简单,无需事先声明变量的类型,只需要给变量赋值即可自动创建。例如:

这里,x是一个整型变量,y是一个字符串型变量,z是一个浮点型变量。

2.变量的特点

Python是一种动态类型语言,不需要在声明变量时指定其数据类型。数据类型会在运行时根据赋予变量的值自动确定。这意味着变量的类型可以在运行时改变。例如,可以先将一个变量赋值为整数,然后再赋值为字符串。

上述代码中,首先将x定义为一个整数,然后再将同一个x变量定义为一个字符串。Python允许变量类型的动态更改。

需要注意的是,Python也是一种强类型语言,虽然变量的类型可以动态改变,但在特定的操作中,Python会根据变量的类型进行严格的类型检查。例如,不能将字符串和整数直接相加。

2.3.2变量赋值

在Python中,变量的赋值操作是将一个值绑定到一个变量名上的过程。变量的赋值使用等号“=”来进行。等号左边是变量名,右边是要赋给变量的值。例如,创建一个名为a的变量,并给它赋值10,可以简单地写为:

这行代码创建了一个整数类型(int)的变量a,并将其值设置为10。接下来,a可以用在任何需要整数值的地方,并且它的值可以被修改。

在Python中可以使用多种不同的方法来分配和修改变量的值。下面是一些基本的变量赋值。

1.简单赋值

简单赋值是最基础的赋值方式,即将一个值赋给一个变量。其语法格式为:

2.链式赋值

链式赋值是一种同时将同一个值赋给多个变量的快捷方式。其语法格式为:

上述代码使得a、b、和c三个变量都指向同一个整数对象100。

3.多重赋值

多重赋值允许在一个语句中为多个变量分别赋予不同的值,这种赋值方式在Python中非常有用,特别是当我们需要交换两个变量的值,或者一次性初始化多个变量时。其语法格式为:

4.解包赋值

还有一种赋值,称为解包赋值(unpacking),它允许从序列(如列表或元组)中提取值并直接赋给多个变量。

2.4数据的输入和输出

2.4.1输入函数input()

input()函数用于从标准输入(即键盘)接收用户的输入。该函数可以接收一个字符串参数,该参数是在等待输入时显示的提示信息(也称为提示符)。用户输入的内容在按下Enter键后被读取并作为函数的返回值,以字符串的形式返回。如果需要将用户输入的内容转换为其他类型,如整数或列表,需要配合使用类型转换函数,例如int()、float(),或者通过其他方式转换。

【例2-6】input()函数示例。

【例2-7】

实现一个简单的计算器。

【参考代码】

上述代码的运行结果如下:

2.4.2输出函数print()

在Python3中,print()函数是最常用的内置函数之一,其主要用途是在控制台输出信息。该函数非常灵活,能够输出各种不同类型的数据,包括字符串、整数、浮点数、对象等。

print()函数的最基本用法是将传递给它的参数输出到标准输出(通常是屏幕)。如果传入多个参数,它们将默认以空格分隔,例如:

print()函数具有几个重要的可选参数,这些参数增强了其输出能力。例如,sep参数定义用来分隔多个值的字符串,默认为一个空格。end参数定义输出后添加的字符串,默认为换行符“\n”。例2-8和例2-9列举了这些参数的具体使用方法。

【例2-8】print()函数示例。

【例2-9】print()中end参数的使用。

2.5数

值2.5.1数值类型

1.整数在Python中,整数类型用来表示没有小数部分的数,包括正数、负数和零,使用int类型来表示。Python中的整数没有固定的大小限制,这意味着,理论上,只要计算机内存足够,就能处理任意大小的整数。

Python不仅支持十进制数的表示方式,还支持二进制(以0b或0B开头)、八进制(以0o或0O开头)和十六进制(以0x或0X开头)的表示方式。

【例2-10】

整数类型示例。

2.浮点数

浮点数是带小数的数字。Python中的浮点数使用float类型来表示。在Python中,浮点数是使用双精度(64位)来存储的。这意味着它可以提供大约16位的十进制精度。具体来说,浮点数的存储分为三个部分:符号位(用于表示正负)、指数位和尾数位(或称为小数位)。该存储方式允许float表示非常大和非常小的数,但这是有上下限的。当数值超过这个范围时,会使用“inf”(无穷大)或“-inf”(负无穷大)来表示。

【例2-11】

浮点数类型示例。

3.复数

复数是表示实数和虚数部分的数。复数在Python中是用complex类型表示的。一个复数由两部分组成:一个实部和一个虚部,通常可表示为a + bj。

在Python中,复数可以直接通过将一个实数和一个虚数加在一起创建,或者使用内置的complex(real,imag)函数创建。

【例2-12】

复数类型示例。

一旦创建了复数,用户可以使用 .real和 .imag属性来访问它的实部和虚部。例如:

4.布尔值

Python中的布尔(Boolean)类型是一种基础数据类型,用于表示真值或假值。布尔类型有两个值:True和False。需要注意的是,在Python中,True和False是关键字,并且是整数1和0的别名,因此它们也可以参与数值运算。

【例2-13】

布尔类型示例。

2.5.2数值类型的操作

Python提供了丰富的内置操作来处理数值类型的数据(例如整数、浮点数、复数)。

1.内置数值运算操作符

Python内置了一系列数值运算符,这些运算符允许执行基本的数学运算,如加法、减法、乘法等,以及更复杂的操作,如幂运算等。表2-2是Python中常用的数值运算符的详细描述和实例。

扩展的算术运算符(也称为复合赋值运算符)提供了一种便捷的方式来修改变量的值,并且这种修改是基于原始值和某个操作的结果。这些运算符结合了基本的算术运算(如加法、减法、乘法等)和赋值操作,使得代码更加简洁、易读。扩展的算术运算符如表2-3所示。

【例2-14】

数值运算操作符示例。

【例2-15】

假设投资1000元(P = 1000),年利率为5%(r = 0.05),利息每年计算一次(n = 1),投资期限为10年(t = 10)。请计算10年后的投资价值。

【参考代码】

2.内置的数值运算函数

Python不仅提供了数值运算操作符,还内置了一些用于数学计算的函数。这些函数可以对数字进行处理,如求绝对值、四舍五入等操作。表2-4是Python中一些常用的内置数值运算函数的功能描述及示例。

【例2-16】

已知三次考试成绩,请计算平均成绩,要求四舍五入到小数点后一位。并求出三次考试的最高和最低成绩。

【参考代码】

运行结果为:

2.5.3math库的使用

1.导入math库

在Python中,我们可以通过简单的导入语句“importmath”来使用math模块。例如:

还有一种写法是:“frommathimport*”,或者,如果我们只需要使用特定的几个函数,也可以选择性地通过“frommathimport<函数名>”导入这些函数。例如:

2. math库中主要数学函数和常量

表2-5和表2-6分别列出了math模块中的常量和部分重要的数值函数,以及它们的简单描述和数学形式。

【例2-17】math库的主要函数示例。

【例2-18】

计算三角形的面积。假设有一个三角形,已知其三边长度分别为a、b和c,用海伦公式来计算这个三角形的面积。

【参考代码】

【例2-19】

编写一个Python程序,求解一元二次方程的实数根。

【参考代码】

程序运行后,可得如下结果:

2.6字

2.6.1字符串类型

Python中的字符串(String)类型是一种用来处理文本的数据类型。在Python中,字符串是不可变的序列类型,这意味着一旦创建字符串,其内容就不可更改。字符串可以包含字母、数字、符号和空格,Python使用单引号、双引号和三双引号作为定界符来表示字符串,不同的定界符之间可以相互嵌套。

【例2-20】

字符串类型示例。

2.6.2字符串的基本操作

(1)连接:使用“+”操作符可以连接两个或多个字符串。例如:

(2)重复:使用“*”操作符可以重复字符串多次。例如:

(3)索引:字符串索引是访问字符串中单个字符的方法。在Python中,字符串被视为字符序列,每个字符在序列中都有一个确定的位置,即索引。索引可以是正数,也可以是负数。使用正数索引时,计数从0开始;使用负数索引时,计数从 -1开始,表示字符串的最后一个字符。

【例2-21】

字符串索引示例。

(4)切片:除了使用索引访问单个字符外,还可以通过切片操作获取子字符串,切片通过指定开始索引和结束索引的方式来实现,语法为[开始索引:结束索引]。在切片操作中,返回的子字符串包含开始索引对应的字符,但不包含结束索引对应的字符。

【例2-22】

字符串切片示例。

2.6.3字符串的内置方法

Python提供了一系列内置方法来进行字符串处理和查询。下面将详细介绍一些常用的字符串内置方法,并提供具体的实例。

1.字符串查询

字符串查询的方法用来搜索或查询字符串中特定内容存在与否,或者获取特定内容的位置信息。以下是一些常用的字符串查询方法及其具体实例。

(1) count():用来统计字符串中某个字符或子串出现的次数,如果不存在则返回0。例如:

(2) find()和rfind():find()方法用来查找子字符串首次出现的位置(从左侧开始查找),并返回子字符串开始的索引。如果找到了子字符串,则返回第一次出现的索引;如果没有找到,则返回 -1。rfind()类似于find(),但是它是查找子字符串最后一次出现的位置。例如:

(3) index()和rindex():index()和rindex()方法与find()和rfind()非常相似,但是当指定的子字符串不在主字符串中时,index()和rindex()会抛出一个ValueError异常,而不是返回-1。例如:

2.字符串分割与合并

(1) spilt()和rsplit():split()和rsplit()方法用于将字符串按照指定的分隔符,从原字符串的左端和右端开始进行分割,并返回一个字符串列表(列表内容后面章节将详细介绍)。例如,以下代码将字符串"hello,world"按照逗号进行分割。

split()方法还有一个可选参数maxsplit,用于指定分割的次数。例如,以下代码将字符串"hello|world|python"按照竖线进行分割。

(2) partition():partition()方法用于将字符串按照指定的分隔符进行分割,并返回一个包含分隔符的字符串列表。例如:

(3) join():join()方法用于将列表中的字符串按照指定的分隔符进行连接,并返回一个新的字符串。例如,以下代码将列表["hello","world"]按照冒号进行连接。

3.字符串转换

4.字符串去除

(1) strip():用于去除字符串两侧的空格或指定的字符(包括空格、换行符、制表符等)。如果不指定参数,默认去除空格。例如:

(2) lstrip()和rstrip():lstrip()用于去除字符串左端指定的字符;rstrip()用于去除字符串右端指定的字符。例如:

5.字符串替换

replace():用于在字符串中替换指定的子字符串。例如,以下代码将字符串 "helloworld"中的 "world" 替换为 "python":

6.字符串判断

(1) startswith()和endswith():startswith()方法用于检查字符串是否以指定的子字符串开始。endswith()方法用于检查字符串是否以指定的子字符串结尾。例如:

7.字符串排版

(4) zfill():返回指定长度的字符串,原字符串右对齐,前面填充0。例如:

2.6.4字符串的内置函数

Python的字符串类型除了拥有许多实用的内置方法之外,还可以通过一些内置函数进行操作和处理。这些函数提供了另一种方式来处理字符串,经常用于类型转换、字符编码等任务。下面列举了一些常用的与字符串相关的内置函数并提供了示例。

(1) len():返回字符串中的字符数。请注意,对于字符串而言,len()计算的是字符的数量。例如:

如果字符串中包含多字节字符(如许多Unicode字符),这些字符也会被计算为一个单元。例如:

在上述代码中,尽管这个字符串包含的是中文字符,每个中文字符在某些编码下(如UTF-8)可能占用多个字节,但len()计数的是字符数,因此返回6,而不是字节的数量。

(2) str():用于将一个对象转换成字符串形式。例如:

(3) hex()和oct():分别用于将整数转换成其十六进制和八进制字符串表达形式,字符串以小写形式显示,且分别以0x和0o为前缀。例如:

(4) ord()和chr():两个互为逆操作的内置函数,用于字符与其ASCII码或Unicode码点之间的转换。例如:

【例2-23】

使用ord()和chr()进行简单的字符加密和解密。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论