高级语言程序设计-Python(2024春)

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

目录

  • 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.3 常用内置函数


高级语言中的函数类似于数学中的函数,都是用来完成某些运算符无法完成的运算。函数就是一段完成某个运算的代码的封装。Python中的函数分为内置函数、标准库函数和第三方库函数。丰富的库函数是Python区别于其他编程语言的主要特征,是快速问题求解和提高编程效率的主要工具。

3.3.1 内置函数概述

Python内置函数是指可以随着解释器的运行而自动载入的函数,这类函数可直接使用,不需要使用import语句导入,用来完成一些简单运算符无法实现的运算功能。

Python内置函数按字母顺序的列表如下。

    Python丰富的内置函数可以实现数值、字符、集合、输入输出等对象的特定运算,本节只介绍其中几个常用的函数功能,其它函数会在后面的章节中继续介绍。

3.3.2 常用内置函数功能

常用内置函数的功能说明如表3.10所示。

 

3.3.3 内置函数应用实例

1.数值运算函数

abs(x)函数:返回一个x的绝对值,x参数可以是整型或浮点型数据。

divmod(a,b):返回由a / b的商和余数构成的一个元组,ab可以是整型或浮点型。

pow(x, y[, z])返回xy次幂,如果有参数z则返回xy次幂与z的模。

                     pow(x, y[, z])è pow(x, y) % z

                     pow(x, y)èx**y

round(x[, n]):对x进行四舍五入,n保留的小数位数,若缺省则只保留整数。

>>> print(abs(10),abs(-10))

10 10

>>> print(divmod(10,4),divmod(10.5,2.5))

(2, 2) (4.0, 0.5)

>>> print(pow(2,3),pow(2,3,4))

8  0

>>> print(round(3.1415926,3),round(3.1415926))

3.142 3

>>> 

2.数制转换函数

int([x]):将十进制数值取整(截去小数部分)。

>>>int(3.14)                # 3

>>>int(2e2)                 # 200

>>>int(100, 2)              # 出错,base 被赋值后函数只接收字符串

int([x[, base]]):将“base”为进制的合法的整数字符串转换成十进制整数。

>>>int('23')                # 23,默认为十进制数

>>>int('23',16)             # 35,将'23'做为16进制数

>>>int('Pythontab',8)       # 出错,'Pythontab'不是个8进制数

字符串 0x视作十六进制的符号,0b视作十六进制的符号:

>>>int('0x10', 16)          # 160x是十六进制的符号

>>>int('0b10',2)            #2 0b是二进制的符号

bin(x):将十进制整数转换成二进制的数字字符串。

oct(x):将十进制整数转换成八进制的数字字符串。

hex(x):将十进制整数转换成十六进制的数字字符串。

>>> b=255

>>> print(bin(b),hex(b),oct(b))

0b11111111  0xff  0o377

>>> a=0b10110011     #int()函数可以将2进数转换成10进制

>>> print(int(a))

179

>>> print(int('123', 16),int('123',8),int('123'))

291 83 123

>>> 

3.类型转换函数

bool([x]):返回x布尔值。

>>> x,y=0,1

>>> print(bool(x),bool(y))         0False1True

False True

>>> print(bool('abc'),bool(''))     #字符串为True,空串为False

True False

>>> 

float([x]):返回一个浮点数。

>>> float('+1.23')

1.23

>>> float('   -12345\n')

-12345.0

>>> float('1e-003')

0.001

>>> float('+1E6')

1000000.0

>>> float('-Infinity')

-inf

ord():返回单个字符的ASCII码,返回值是一个整数。

chr(i):返回整数i对应的字符。与ord()函数互为反函数。

>>> x='A'

>>> y=97

>>> ord(x)

65

>>> chr(y)

'a'

>>> chr(ord(x))

'A'

>>> 

eval (str[,globals[,locals]]):将字符串str当成有效的表达式来求值并返回计算结果。

>>> x = 1

>>> eval('x+1')

2

>>> a='5,10'

>>> x,y=eval(a)

>>> print(x,y)

5 10

>>> 

4.集合运算函数

all()函数:元素均为True或元素为空时返回True

any()函数:元素至少一个为True时返回True,元素为空时返回False

>>> print(all([1,2,3]),all([0,1,2]),all([]))

True False True

>>> print(any([1,2,3]),any([0,1,2]),any([]))

True True False

>>> 

max(iterable[,args...][key]):返回集合元素中的最大值。

min(iterable[,args...][key]):返回集合元素中的最小值。

>>> mylist=[5,9,98,20,126]

>>> print(max(mylist),min(mylist))

126 5

>>> 

range([start],stop[, step]):产生一个序列,默认从0开始。

list([iterable]):产生一个列表。

tuple([iterable]):产生一个元组。

>>> x=range(1,10,2)     #生成一个1<=x<10的序列,步长为2

>>> list(x)             #由序列生成一个列表

[1, 3, 5, 7, 9]

>>> tuple(x)            #由序列生成一个元组

(1, 3, 5, 7, 9)

>>> 

5.帮助函数

help([object]):查看函数用法的详细信息。

>>> help(round)        #查看round函数的使用说明

Help on built-in function round in module builtins:

round(...)

    round(number[, ndigits]) ->number

   

    Round a number to a givenprecision in decimal digits (default 0 digits).

    This returns an int when calledwith one argument, otherwise the

    same type as the number. ndigitsmay be negative.

>>>