高级语言程序设计-Python(2023秋)

沈阳师范大学 刘立群 刘冰 杨亮 丁茜

目录

  • 1 程序与算法
    • 1.1 程序
    • 1.2 算法
      • 1.2.1 什么是算法
      • 1.2.2 算法的要素与表示
      • 1.2.3 常用的算法策略
  • 2 Python 语言概述
    • 2.1 Python的产生与特性
    • 2.2 Python的安装与运行
      • 2.2.1 实验1 环境安装与运行
    • 2.3 Python的基本语法
      • 2.3.1 实验2 基本语法
    • 2.4 程序设计基础
      • 2.4.1 实验4 程序设计IPO
    • 2.5 turtle绘图
      • 2.5.1 实验3-1 绘制基本图形
      • 2.5.2 实验3-2 绘制不连续图形
      • 2.5.3 实验3-3 绘制彩色同心圆
      • 2.5.4 实验3-4 绘制填充效果的同心圆
      • 2.5.5 实验3-5 绘制彩色图案
  • 3 基本数据类型与函数
    • 3.1 基本数据类型
    • 3.2 运算符与表达式
    • 3.3 常用系统内置函数
      • 3.3.1 实验5  表达式与内置函数
    • 3.4 常用标准库函数
      • 3.4.1 实验6 标准库函数 random
      • 3.4.2 实验6 标准库函数 time
      • 3.4.3 实验6 标准库函数 math
  • 4 程序控制语句
    • 4.1 结构化程序设计的基本结构
    • 4.2 分支结构
      • 4.2.1 实验7  程序的分支与选择
    • 4.3 循环结构
      • 4.3.1 实验8 简单循环结构
      • 4.3.2 实验9 循环的嵌套
    • 4.4 break和continue语句
  • 5 组合数据类型
    • 5.1 组合数据类型简介
    • 5.2 列表
      • 5.2.1 实验10 组合数据之列表和元组
    • 5.3 元组
      • 5.3.1 实验10 组合数据之列表和元组
    • 5.4 字典
      • 5.4.1 实验11 组合数据之字典和集合
    • 5.5 集合
      • 5.5.1 实验11 组合数据之字典和集合
  • 6 字符串与正则表达式
    • 6.1 字符串格式化
      • 6.1.1 实验12 字符串的格式化
    • 6.2 字符串的基本操作
      • 6.2.1 实验13 字符串的基本操作
    • 6.3 字符串的函数与方法
    • 6.4 中文分词模块jieba
      • 6.4.1 实验14 中英文词频统计
    • 6.5 正则表达式
  • 7 自定义函数和模块
    • 7.1 函数的定义
    • 7.2 函数的调用
      • 7.2.1 实验15 函数的定义和调用
    • 7.3 函数的参数传递
      • 7.3.1 实验16  函数的参数传递
    • 7.4 变量作用域
      • 7.4.1 实验17    变量的作用域
    • 7.5 函数的嵌套与递归
      • 7.5.1 实验18    函数的嵌套与递归
    • 7.6 lambda函数
      • 7.6.1 实验19 lambda函数
    • 7.7 模块
  • 8 文件与异常处理
    • 8.1 文件的概念和基本操作
      • 8.1.1 实验20 文本文件的操作
      • 8.1.2 实验21 二维数据CSV文件读写
    • 8.2 文本文件的操作
    • 8.3 csv文件的处理
    • 8.4 OS模块和文件夹
      • 8.4.1 实验22 OS模块和文件夹
    • 8.5 Python异常处理
      • 8.5.1 实验23 常见异常及异常处理
  • 9 Python类和对象
    • 9.1 类的定义
    • 9.2 对象的创建
    • 9.3 属性和方法
    • 9.4 继承
    • 9.5 重载
  • 10 Python高级应用
    • 10.1 图形用户界面编程
    • 10.2 网络编程基础
    • 10.3 数据库编程
    • 10.4 数据分析与可视化
    • 10.5 本章实验
      • 10.5.1 实验24  GUI和pyinstaller库
      • 10.5.2 实验25 数据分析
      • 10.5.3 实验26 网络爬虫
      • 10.5.4 实验27 PDF文件转文本文件
基本数据类型

3.1 基本数据类型


Python中的数据类型包含基本数据类型和复合数据类型两种,其中基本数据类型有整型、浮点型、复数型、字符串型和布尔型;复合数据类型有元组、列表和字典。本节介绍仅基本数据类型及其运算,复合数据类型将在后面的章节介绍。

3.1.1 数值类型

数值型数据用于存储数值,并参与算术运算。Python支持的数值型数据有整型(int)、浮点型(float)和复数型(complex)。

1.整型(int

整型是带正负号的整数数据。Python 3.X中并不严格区分整型和长整型,且没有长度限制。整型数据类型表示的数值范围仅与计算机支持的内存大小有关,所以它几乎包括了全部整数范围,远远超过了其他高级语言中整型数据的表示范围,给数据计算带来了很大的便利。

Python整型数的表示方法有以下几种:

1)十进制整数,如:10255-16;

2)二进制整数,以 0B0b开头的数据,如:0B11,0b100

3)八进制整数,以0O0o开头的数据,如:0O670o17

4)十六进制整数,以0X0x开头的数据。如:0X4a0Xff

2. 浮点型(float

浮点数表示实数数据,由整数部分、小数点和小数部分组成。使用下面的语句可以输出当前系统下浮点数所能表示的最大数max和表示的最小数min

>>> import sys

>>> sys.float_info.max

1.7976931348623157e+308

>>> sys.float_info.min

2.2250738585072014e-308

>>> 

Python中的浮点数的表示方法如下:

1)十进制小数表示法,如,3.1410.00.0等,注意:这里的0.0不是00表示一个整数,而0.0表示一个浮点数。

2)科学计数表示法,用字母e(或E)表示以10为底数的指数,用XeY表示X*10Y。例如:

>>> 1.23456e10

12345600000.0

>>> 123.456e-2

1.23456

>>> 

其中,X表示数字部分,Y表示指数部分,XY必须周时出现,Y必须为整数。合法的浮点数表示,如,12e312e-31.2e-3。不合法的浮点数表示,如,12e2.5e31.2e12e

3. 复数型(complex

复数型数据用来表示数学中的复数,复数由实数部分和虚数部分所组成的数,形如x=a+bj。其中ab为浮点数,a是复数的实部,b是复数的虚部。j为“虚数单位”,j的平方等于-1

可以使用x.realx.imag获得复数x的实部和虚部。例如:

>>> x=12.3+45j

>>> x

(12.3+45j)

>>> x.real

12.3

>>> x.imag

45.0

>>> 

4.数值类型间的转换

在进行算术运算时,Python会自动完成数值类型间的转换。当参加运算的数值均为整型时,结果为整型。当有浮点型参与运算时,结果为浮点型。例如:

>>>

>>> 99+1                   #整数相加得整数

100

>>> 99+1.000             #整数与实数相加得实数

100.0

>>> 99-1.0              #整数与实数相减得实数

98.0

>>> 99*1.0              #整数与实数相乘得实数

99.0

>>> 99/1.0              #整数与实数相除得实数

99.0

>>> >>>

3.1.2 字符串类型

Python语言中的字符串类型是用引号括起来的一个或多个字符。用单引号()和双引号()括起来的字符串必须是单行字符串,用三引号(’’’)括起来的可以是多行字符串。例如:下面语句定义了三个字符串变量

>>> str='God Wants To Check The Air Quality'

>>> str1="God Wants To Check The Air Quality"

>>> str2='''God

Wants To Check

The Air Quality'''

>>>

3.1.3 布尔类型

布尔型数据用来表示具有两个确定状态的数据,它有真(True和假(False两个值。布尔型数据在计算机中用10来存储,1代表逻辑真,0代表逻辑假。Python中任何值为0或空的数据,如一个空字符串、一个空的元组等,它们的布尔值均为False

>>> x=True

>>> int(x)

1

>>> y=False

>>> int(y)

0

>>> 

关系型表达式或逻辑型表达式的值为布尔型,在程序中通常用来表示条件。布尔型数据可以参与算术运算。

>>> x=1

>>> y=2

>>> x>y

False

>>> x+(x>y)

1

>>> 

扩展阅读: