目录

python编程基础-上海交通大学版答案

python编程基础-上海交通大学版答案

本特利

https://i-blog.csdnimg.cn/blog_migrate/bbe3812336be2a62ece1fe0ab4302a42.png#pic_center

B级模块


学习笔记


https://i-blog.csdnimg.cn/blog_migrate/1aa0ecad54cfdca6621f9a4a61471f95.jpeg#pic_center

第1章 Python概述

【填空题】Python是一种代表(简单主义) 思想的语言,同时也是一门 面向对象 的高级语言。

【填空题】Python采用 强制缩进 的方式使得代码具有极佳的( 可读性 )。

【填空题】Python源代码不需要编译成( 二进制码 ) ,它可以直接使用源代码运行程序。运行时会被解释器转换为 字节码 ,然后将编译完成字节码转发到Python虚拟机中运行。

【填空题】PyCharm是JetBrains开发的Python ( IDE ),它具有调试、语法高亮、Project管理、代码跳转、自动完成等功能


【判断题】python是开源的,它可以移植到许多平台上,在不同的平台上安装的方法是 相同的

参考答案:错误

【判断题】在安装Python时,需要根据已有的系统来选择相应的安装程序。安装后,也需要配置系统的环境变量

参考答案:正确

【判断题】Python最大的 缺点 就是具有伪代码的特性,它使我们开发程序时,首先 需要 对语言本身有足够的认识。

参考答案:错误

  • Python最大的优点之一是具有伪代码的本质,它使我们在开发Python程序时,专注的是解决问题,而不是搞明白语言本身。

【判断题】Python自带的shell,其性能优于IPython

参考答案:错

  • ipython 是一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。

【判断题】Python软件可以开发Web程序,也可以管理操作系统,但是 不能 用于科学计算

参考答案:错

【判断题】我们编写的Python代码在运行过程中,被解释器转换为字节码,转换后的文件格式 后缀名为.py

参考答案:错误

  • python源代码被解释器转换后的格式为“ .pyc ”。
  • 当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。

【判断题】Python 3.x版本的代码 不能 兼容Python 2.x

参考答案:正确

【判断题】在 Python 3.x 版本的源代码中, 需要指定 UTF-8 编码,才可以支持中文或其他非英文字符。( )

参考答案:错误

  • python3.X 默认编码格式为UTF-8编码 ,因此对于汉字字符是可以自动识别的。但对于含有汉字字符的下列代码分别用纯txt文本、Geany编辑器、pycharm三种不同的方式编译执行时,唯独只有在pycharm中可以正确运行,其他两种均报错

【判断题】使用pycharm时,可以选择“create new project”,用来创建一个项目。

参考答案:正确

【单选题】1.下列选项中,不属于Python语言特点的是()。

A. 简单易学 B. 开源 C. 面向过程 D. 可移植性

参考答案:面向过程

问题:下列领域中,使用Python可以实现的是()。

A、Web开发B、操作系统管理C、科学计算D、游戏

参考答案:A,B,C,D

问题:下列关于Python2.x和Python3.x的说法,错误的是

A. Python 3.x使用print语句输出数据

B. Python 3.x 默认使用的编码是UTF-8

C. Python 2.x和Python 3.x使用//符号进行除法运算的结果不一样

D. Python 3.x版本的异常可以直接被抛出

参考答案:Python3.x使用print语句输出数据

  • 在Python2.X中,print是语句,拥有自己的特定语法
  • 在Python3.X中,print是函数,准确的说是内置函数 ,用关键字参数来表示特定模式

【单选题】下列关于Python 的说法中,错误的是( )。

A. Python 是从ABC发展起来的

B. Python 是一门高级的计算机语言

C. Python 是一门 面向对象的语言

D.Python是一种代表简单主义思想的计算机语言

参考答案:Python 是一门 面向对象的语言。

【单选题】下列关于IPython的说法,错误的是()

A. IPython 集成了许多交互式Python中的优点

B. IPython 的性能远远优于标准的Python中的shell

C. IPython 支持变量自动补全、自动收缩

D. 与标准的Python相比,IPython 缺少 内置的功能与函数

参考答案:与标准的Python相比,IPython缺少内置的功能与函数

【简答题】

1、简述Python的特点。

1 . Python 具有的特点如下:

简单易学 开源 高级语言 可移植性 解释性 可扩展性 面向对象 丰富的库 规范的代码

2、简述Python的应用领域。

2、 Python 可以应用在下列领域:

web应用开发 操作系统管理、服务器运维的自动化脚本 科学计算 桌面软件 服务器软件(网络软件) 游戏 构思实现,产品早期原型和迭代

3、简述Python的程序执行原理。

3、 python 解释器 将源代码转换为 字节码 ,然后把 编译好的字节码 转发到 Python 虚拟机 ( PVM )中进行执行

4、简述IPython的特点

4、 IPython 的特点如下:

IPython 具有卓越的 Python shell ,其性能远远优于标准 Python 的 shell 。 IPython 支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数。 IPython 提供了基于控制台命令环境的定制功能,可以十分轻松地将交互式 Python shell 包含在各种 Python 应用中,甚至可以当作系统级 shell 来使用。

(1)编写一个Python程序,可输出如下图形效果:

https://i-blog.csdnimg.cn/blog_migrate/66457d6ecbd96cfa0190fcf74dc29267.png

(2)编写一个Python程序,可输出以下语句:

https://i-blog.csdnimg.cn/blog_migrate/ac35f35e261ebea03aa8bf32ee6ecf64.png


https://i-blog.csdnimg.cn/blog_migrate/1aa0ecad54cfdca6621f9a4a61471f95.jpeg#pic_center

第2章 算法-程序的灵魂

【填空题】算法就是一组有穷的规则,这些规则确定了解决某一类问题的一个(运算)序列

【填空题】算法具有五个性质: “有穷性”,“确定性”,“可行性”,“输入”,“输出;”

求1~100的素数。

素数:素数又称质数, 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数。

思路:

1.先将1~100的数量进行遍历,获得这个数是不是素数

2.除以这个小的整数(除了1和本身),获得余数,根据余数判断是否是素数

num=[];
for i in range(2,100):
   for j in range(2,i):
      if(i%j==0):
         break
   else:
      num.append(i)
print(num)

将计算最大公约数算法gcd封装成类gcd

def gcd(x,y):
    r=x%y
    if(r!=0):
        return gcd(r,y)
    else:
        return y

https://i-blog.csdnimg.cn/blog_migrate/1aa0ecad54cfdca6621f9a4a61471f95.jpeg#pic_center

第3章 Python基础语法

【单选题】下列哪个表达式在Python中是非法的

A. x = y = z = 1

B. x = (y = z + 1)

C. x, y = y, x

D. x += y

参考答案:x = (y = z + 1)

【单选题】 如何解释下面的执行结果?

print(1.2-1.0==0.2)

False

https://i-blog.csdnimg.cn/blog_migrate/b674020a172934b9cd0272642e2a21de.png

参考答案:B.浮点数无法精确表示

【单选题】下列代码运行结果是?

a = ‘a’

print (a > ‘b’ or ‘c’)

A. a B. b C. c D. Y

参考答案:c

【答案解析】

英文字母对应的Unicode编码

AZ 6590

az 97122

对python而言

其一, 在不加括号时候, and优先级大于or

其二, x or y 的值只可能是x或y. x为真就是x, x为假就是y

第三, x and y 的值只可能是x或y. x为真就是y, x为假就是x

此题里a > “b"为假,所以返回"c”

【单选题】下列语句的执行结果是什么?

https://i-blog.csdnimg.cn/blog_migrate/01773fdefdb00f8410e7e1431a06d90e.png

参考答案:3


【简答题】请简述声明变量的注意事项

参考答案:

Python 中的变量不需要声明。

每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。


https://i-blog.csdnimg.cn/blog_migrate/1aa0ecad54cfdca6621f9a4a61471f95.jpeg#pic_center

第4章 Pytho常用语句

【填空题】( pass ) 语句的作用是保持程序结构的完整性,不做任何事情,相当于一个占位符

【填空题】if语句中满足判断条件要执行多行代码时,用 ( 缩进 来区分) 表示同一范围的代码块

【填空题】判断语句中有多个条件需要判断,使用 ( elif ) 语句

【填空题】在循环体中,想要跳过本次循环,重新开始下一次循环使用 ( continue )语句。

【填空题】if 条件之后要使用( : ) ,表示接下来是满足条件之后要执行的代码块。

【判断题】elif语句可以单独使用

参考答案:错误

【判断题】break语句,continue语句只能用在循环语句中,不能单独使用。

参考答案:正确

【判断题】使用continue语句可以结束循环

参考答案:×

【判断题】循环结构有while语句、for语句

参考答案:√

【判断题】break语句只对最近的一层循环起作用。

参考答案:正确

【单选题】已知i=0,x=1,y=0,在下列选项中,使i的值变成1的语句是()

A. if x and y: i+ = 1 B. if x == y: i += 1 C. if x or y: i += 1 D. if !x: i += 1

参考答案:if x or y: i += 1

【单选题】设i=2,执行下列语句后i的值为( )。

https://i-blog.csdnimg.cn/blog_migrate/9a9c052c208d2a1e556a9112007106c2.png

参考答案:3

【单选题】3.执行以下程序后,x的值是()。

https://i-blog.csdnimg.cn/blog_migrate/553dfa37bd89424e62a5c0da86592d1e.png

参考答案:6

【单选题】执行以下程序之后n的值为()

https://i-blog.csdnimg.cn/blog_migrate/14dc9a5d6a87edaa552e68d8eecfcf0b.png

参考答案:4

简述break和continue语句的区别

参考答案:

break语句用于结束循环,执行循环体后的语句;

continue语句用于结束本次循环,执行下次循环

【简答题】根据一个实际问题,如计算1-100的整数之和,用不同循环语句,分析其优缺点。

参考答案:计算1~100的整数之和

方法1:使用while循环

代码如下: sum = 0 i = 1 while i < 101: sum = sum +i i= i+1 print(“sum=”,sum)

方法2:使用for循环

代码如下: sum = 0 for i in range(1,101): sum = sum +i print(“sum=”,sum)

对比方法1和2,使用while循环需要在循环体中,使用变量计算次数。 使用for循环,则自动根据循环起止区间

https://i-blog.csdnimg.cn/blog_migrate/342f8d21f062a0e327a8ffd149857147.png

编写一个程序,用户输入整数a,自动打印出一个边长为a的正方形,例如,用户输入a为5,则输出如下图形。

https://i-blog.csdnimg.cn/blog_migrate/a2a7c1b1d90d0646952bf990c720af9b.png

参考答案

# coding:GBK
a=int(input("请输入2~20中的某个数:")) 
#输入数据 
if a>=2 and a<=20:  
    #判断该数如果在2到22中,则执行下面代码 
    for i in range(a): 
        # for循环,0到a-1 
        if i==0 or i==a-1: 
            #头尾两行按a的数量输出a个星号 
            print('* '*a) 
        else: 
            # 如果为中间行 
            #则前后各输出一个星号,中间空格数量为(a-2)个,三段字符串用+拼接。 
            print('* '+'  '*(a-2)+'* ')    
else: print("输入的数不在2~20之间!")

其他类型:

#第一种
#coding:GBK
n=int(input('请输入正方形的边数:'))
print(' * '*n)
for i in range(n-2):
    print(' *','   '*(n-2),'*')
print(' * '*n)
#第二种
#coding:GBK
n=int(input('请输入正方形的边数:'))
i=1
while i<=n:
    if i==1 or i==n:
        print('*'*n)
    else:
        print('*'+' '*(n-2)+'*')
    i=i+1

输入3个整数,按从小到大的顺序输出

思路:先对输入的字符转换为数字,split(" “)的作用是用空格分隔。

对a和b进行比较,并把小的数赋给a。

对a和c进行比较,并把小的数赋给a。

对b和c进行比较,并把小的数赋给b。

其中temp是临时变量。

x=input("please enter three number:(中间用空格隔开)")
a,b,c=x.split(" ")
a=int(a)
b=int(b)
c=int(c)
if a>b:
    temp=b
    b=a
    a=temp
if a>c:
    temp=c
    c=a
    a=temp
if b>c:
    temp=c
    c=b
    b=temp
print(a,b,c)
    


https://i-blog.csdnimg.cn/blog_migrate/1aa0ecad54cfdca6621f9a4a61471f95.jpeg#pic_center

第5章 字符串

简述Python 中转义字符 https://i-blog.csdnimg.cn/blog_migrate/81ccf2a6f5658ff7ec546fd7f19368db.png

【简答题】请简述python字符串格式化的方法。

  • 答案:

    (1)使用 格式符(%) 对字符串格式化 以格式符对字符串格式化时,Python 会使用一个带有格式符的字符串作为模板, 这个格式符用于为真实值预留位置,并说明真实数值应该呈现的格式。例如今天是%s%周五。

    (2)使用 format() 方法对字符串格式化 模板字符串由字符串和“{}”组成,“{}”的作用与 % 相同,用来控制修改字符串中插入值的位置。例如今天是{}.format(周五)。


https://i-blog.csdnimg.cn/blog_migrate/1aa0ecad54cfdca6621f9a4a61471f95.jpeg#pic_center

第6章 列表,元祖和字典

问题:列表中的每个元素都分配一个数字( )

参考答案:下标

问题:在列表中,不同数据项用( )分隔

参考答案:,或逗号

问题:Python的元组与列表类似,不同之处在于 ( ) 。

参考答案:元组的元素不能修改

【填空题】字典是一种通过( )引用的数据结构。 【提示】填写2个或3个汉字

参考答案:[“名字 ; 关键字”]

【判断题】列表的数据项不需要具有相同的类型。( )

参考答案:正确

【判断题】列表在Python中是不可变的

参考答案:错

  • 可变序列有:列表、字典、集合
  • 不可变序列有:字符串、元组

【判断题】在列表中可嵌套另一个列表。( )

参考答案:正确

【判断题】元组中的元素不能被修改

参考答案:√

【判断题】在一个字典中,键是可以重复的

参考答案:错误

  • python中不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:

    dict1 = {‘Name’: ‘Runoob’, ‘Age’: 7, ‘Name’: ‘小菜鸟’}

    print (“dict1[‘Name’]: “, dict1[‘Name’])

    https://i-blog.csdnimg.cn/blog_migrate/6706f11d2d4961ef3dea0a65363d9ee1.png

【判断题】在一个字典中,不同键对应的值是不重复的

参考答案:×

列表list=[1,2,3,4,5],下列选项中不能访问list末尾元素的语句是?

参考答案:list.tail()

【单选题】列表list=[1,2,3,4,5],下列选项中为空的是?

A. list[1:1] B. list[1:-1] C. list[1:] D. list[:-2]

参考答案:list[1:1]

【单选题】列表list = [1,2,3,4,5],下列选项中不能删除末尾元素的是()。

A. del list[4] B. list.pop( ) C. list.reverse( ) D. list.remove(5)

答案:list.reverse( )

  • list.reverse( )这是反转

【单选题】下列选项中,不能创建元组的语句是

A. tup=[1,2,3] B. tup=(2) C. tup=tuple([1,2,3]) D. tup=(1,‘math’,98)

参考答案:tup=[1,2,3]

https://i-blog.csdnimg.cn/blog_migrate/94af521588cc177670d989afcf4de836.png

【多选题】下列选项中,不能获取字典tel_book中Alice的电话号码的是

https://i-blog.csdnimg.cn/blog_migrate/2ab6a74e8f07620de7a6c6aa053a26b0.png

参考答案:

telephone = tel_book.pop(‘Alice’);

telephone = tel_book. values (‘Alice’)

python打印杨辉三角前10行:

# encoding:utf-8
def triangles():            # generator, 用于生成杨辉三角每一行的list
    s = [1]
    while True:
        yield s
        s = [1] + [s[i] +s [i + 1] for i in range(len(s) - 1)] + [1]	# 核心
    pass
    
n = 0
results = []                #得到杨辉三角
for i in triangles():
    results.append(i)       # 增加list
    n = n + 1
    if n == 10:             # 前10行
        break

for i in results:           # 打印杨辉三角
    print(i)

https://i-blog.csdnimg.cn/blog_migrate/1aa0ecad54cfdca6621f9a4a61471f95.jpeg#pic_center

第7章 Python函数

【填空题】Python中,函数可以用来实现单一或相关功能的代码段,它能提高 应用的模块化和代码的 ( )

参考答案: 重复利用率

【填空题】在定义一个实现所需功能的函数时,需要用 ( )开头,后跟函数名和圆括号,函数参数必须放在圆括号中

参考答案:def

【填空题】在Python变量的作用域中,局部变量只能在其被声明的 ( ) 访问,而全局变量可以在整个程序范围内访问。

参考答案:函数内部

【填空题】一个函数在内部不调用其他的函数,只调用自身的话,这个函数就是 ( ) 。

参考答案:递归函数

【填空题】在函数或其他局部作用域中需要使用 全局变量 ,这就需要用到____关键字。

参考答案: global

【判断题】在Python中,函数的返回值是使用return语句来完成的。()

参考答案:√

【判断题】如果函数所需处理的参数比开始定义的参数个数多,就可以在函数中使用 不定长参数

参考答案:√

【判断题】 有时在定义的函数中需要使用默认值,这时带有默认值的参数一定要位于参数列表的最后面位置,否则程序会报错。 ()

参考答案:正确

【判断题】实际开发中,有参数而无返回值的函数用得最多,这是因为函数作为功能模块,即便传入了参数,也不希望会有返回值。()

参考答案:错误

【判断题】匿名函数就是没有名字的函数。()

参考答案:正确

【判断题】Python中,参数值和参数名称是跟函数声明定义的顺序匹配的。()

参考答案:正确

【判断题】由用户自行编写的函数,称为自定义函数,Python提供的函数称为系统自带函数。()

参考答案:√

【判断题】 局部 变量的作用域是整个程序,任何时候使用均有效。()

参考答案:×

【单选题】阅读以下所示的程序代码,执行上述语句后,输出的结果为()

https://i-blog.csdnimg.cn/blog_migrate/ea844ce2ab23618f06f2fed54c70ce21.png

参考答案:10

【单选题】在python中使用random模块中的()函数随机生成0~1之间的随机浮点数。

A. uniform(a,b) B. shuffle( ) C. random( ) D. randit(a,b)

参考答案:random( )

【单选题】在Python中,使用()关键字来创建匿名函数。

A. def B. lambda C. function D. global

参考答案:lambda

【单选题】Python中如果需要打印某月的月历,可以使用()模块中的日历函数

参考答案:calendar

【单选题】当函数内存在一个变量与外部的全局变量同名,要想使全局变量生效,可以在函数内使用()关键字进行声明

参考答案:global

?????【多选题】根据函数有无参数和返回值,可以分为( )类型。

A. 无参数,无返回值 B. 无参数,有返回值 C. 有参数,无返回值 D. 有参数,有返回值

参考答案:

无参数,无返回值;

无参数,有返回值;

有参数,无返回值;

有参数,有返回值

在python中创建自定义函数,以下关于默认参数的使用正确的是():

A.()调用函数时,因为默认参数在定义时已经被赋值,所以可以 直接忽略 ()

B.()给函数的参数设置默认值,这个参数就被称为默认参数()

C.()带有默认值的参数一定要位于参数列表的最后面的位置()

D.()默认参数不管有无传入值,均为 直接 使用默认的值

参考答案:

给函数的参数设置默认值,这个参数就被称为默认参数;

带有默认值的参数一定要位于参数列表的最后面的位置()

请简要说明函数定义的要点。

参考答案:

(1) 函数代码块以def开头,后面紧跟的是函数名和圆括号()。

(2) 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。

(3) 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

(4) 函数内容以冒号起始,并且缩进。

(5) return表达式结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

(6) 函数名的命名规则同变量的命名,只能是字母、数字和下划线组成,不能以数字开关,不允许有关键字。

https://i-blog.csdnimg.cn/blog_migrate/cabc53353fe7d61607452d003dd0d3f9.png

https://i-blog.csdnimg.cn/blog_migrate/e10b32ec936f1cd25160ec464651ce3e.png

https://i-blog.csdnimg.cn/blog_migrate/e404dc00cfe014d0fbf312193a72cdab.png

https://i-blog.csdnimg.cn/blog_migrate/426742fa96e56d779b0fcb6d1d9ac69b.png

https://i-blog.csdnimg.cn/blog_migrate/7082e26c8117996e0dd834916db7a50e.png


https://i-blog.csdnimg.cn/blog_migrate/1aa0ecad54cfdca6621f9a4a61471f95.jpeg#pic_center

第8章 高级函数

Python中闭包必须存在于 ( ) 关系的函数中。

参考答案:嵌套

装饰器本质是一个Python函数,它可以在不改动其他函数的前提下,对函数的功能进行 ( ) 。

参考答案:扩充

我们把对已实现的函数不能修改只能扩展的方式称为????

在 Python中,装饰器的语法都是以(@)开头,后面跟上要使用的装饰器函数名。

map函数中,要将迭代器对象 转为列表 ,就需要通过 ( ) 进行转换。同时也可以使用 for循环 直接遍历迭代器对象,从而取出其内部的每个元素。

参考答案:list函数

filter函数会对指定序列执行过滤操作,其中第一参数function可以是函数名称也可以是()

参考答案:None

【填空题】多个装饰器应用在一个函数上,它们的调用顺序是【】的。

参考答案:[“自下而上”]

reduce传入的是带有( )个参数的函数,该函数不能为None

参考答案:两

问题:【判断题】Filter函数的作用是以参数迭代器中的每个元素分别调用function,返回的迭代器 包含调用结果为false的元素。( )

参考答案:错误

  • filter的简介

    filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行,并且可以对目标资源访问前后进行逻辑处理

【判断题】Map函数会根据提供的函数对指定的序列作映射,但它无法处理两个序列长度不一 致的、对应位置操作数类型不一致的情况。( )

参考答案:正确

【判断题】reduce函数会对参数迭代器中的元素进行映射。

参考答案:错误

  • map()会根据提供的函数 对指定序列做映射 。 reduce()函数会对参数序列中元素进行累积。

在reduce函数定义时,它的initializer 参数表示固定的初始值。()

https://i-blog.csdnimg.cn/blog_migrate/7f05d94c5efeb9b21a626758b4e49981.png

装饰器函数至少要接收一个参数

参考答案:√

装饰器自身不能带参数,只能装饰带参数的函数。( )

参考答案:错

map、filter、reduce都是Python提供的 用于序列 的内置函数。()

参考答案:错

【判断题】装饰器要添加参数,就需要增加一层封装,先传递参数,再传递函数名。( )

参考答案:正确

【多选题】关于闭包,下列说法正确的是():

A. 内部函数引用了外部函数的变量(自由变量)

B. 外部函数会把内部函数的函数名称返回

C. 一个内部函数里对在外部作用域的变量进行引用,则内部函数就被认为是闭包

D. 存在于两个嵌套关系的函数中,并且闭包是内部函数

参考答案:

内部函数引用了外部函数的变量(自由变量);

外部函数会把内部函数的函数名称返回;

存在于两个嵌套关系的函数中,并且闭包是内部函数

  • 如果在一个函数的内部定义了另一个函数,外部的函数叫它外函数,内部的函数叫它内函数。

    https://i-blog.csdnimg.cn/blog_migrate/20fd8188b64a783db15932d7e682a390.png

???

https://i-blog.csdnimg.cn/blog_migrate/51cf3e9aff3363e4e4128697b669fba0.png

goodluck

【单选题】下列函数中,用于使用函数对指定序列进行过滤的是

A. map函数 B. select函数 C. filter函数 D. reduce函数

参考答案:filter函数

关于内置函数的描述中,错误的是

参考答案: reduce函数 会根据提供的函数对指定的序列做映射,是用于序列的内置函数

  • map()函数会根据传入的函数对指定的序列做映射。

说明闭包与装饰器的关系

参考答案:

答:

闭包是函数式编程的重要的语法结构。

闭包也是一种组织代码的结构,它同样提高了代码的可重复使用性。

如果在一个内嵌函数里,对在外部函数内(但不是在全局作用域)的变量进行引用,那么内嵌函数就被认为是闭包。

装饰器就是一种闭包的应用,只不过其传递的是函数。

Python中内置函数的运用。

以当前列表rlist中的每个元素作为圆的半径,计算出它们的面积。 rlist=[2,4,6,7,10,11]

参考答案:代码如下:

rlist = [2,4,6,7,10,11]
print(list(map(lambda x:3.14*x*x,rlist)))

当前小组名单为name,现在需要将列表中姓名不是“吴可”的元素筛选出来。name=[“李明”,“刘军”,“王洪”,“张轶”,“吴可”,“郑峰”,“高涵”]

???


https://i-blog.csdnimg.cn/blog_migrate/1aa0ecad54cfdca6621f9a4a61471f95.jpeg#pic_center

第9章 Python文件和文件夹操作

【填空题】按文件中数据的组织形式,可以把文件分为() 和 ()两大类。

参考答案:[“文本文件”,“二进制文件”]

https://i-blog.csdnimg.cn/blog_migrate/808d4b620164e85c22c379d453cca88d.png

操作完文件需要关闭 ,关闭文件的方式是()

参考答案:close()

【填空题】读取文件的三种方式包括 。

参考答案:read()、readline()、readlines()

【填空题】在Python中要正确地读写二进制文件,常用的序列化模块有 。

参考答案:pickle、struct、shelve、marshal

【单选题】用于判定文件是否可读的函数为

A. is_readable() B. filectime() C. fileatime() D. filesize()

参考答案:is_readable()

【判断题】文件的读写,无非是将数据写入文件或者从文件中读取数据。

参考答案:正确

【判断题】os模块中的rename()方法可以完成对文件的 重命名 操作。( )

答案:正确

使用 readlines 方法把整个文件中的内容进行一次性读取,返回的是一个()。

参考答案:列表

【判断题】当向文件写入数据时,如果文件不存在,系统会报错;如果文件存在,则会 清空 原有数据,重新写入新数据。()

参考答案:错误

【判断题】文件读写操作相关的函数都会自动改变文件指针位置。()

参考答案:正确

【单选题】用open()打开一个不存在的文件,以( )权限打开会报错。

A. r B. w C. a D. ab

参考答案:r

https://i-blog.csdnimg.cn/blog_migrate/ad5a1e61e1c13542cce0ffb5bd4b70ff.png

参考答案:C

【单选题】在文件操作时,可以通过( )操作来 获得当前读写的位置

A. read( ) B. open( ) C. seek( ) D. tell( )

参考答案:tell( )

os模块中,返回path目录下的文件和目录列表的方法是?

参考答案:listdir()

请简述open语句中三个参数分别具有哪些作用:open(f_name,‘r’, encoding=”utf—8”)。

文件名+只读方式+编码格式

https://i-blog.csdnimg.cn/blog_migrate/fc03efd7d0429fe93a1d4706ada97938.png


https://i-blog.csdnimg.cn/blog_migrate/1aa0ecad54cfdca6621f9a4a61471f95.jpeg#pic_center

第10章 python异常处理

在Python中,异常是指程序运行时引发的错误,引发错误的原因有很多,如等

参考答案:除零、下标越界、文件不存在

在Python中,所有的异常类都是( )的子类。所有异常都是基类Exception成员,它们都定义在 ( )模块中,不必导入即可直接使用

参考答案:Exception

【填空题】要想在Python程序中主动抛出异常,可以使用____和____语句。

参考答案:raise,assert

【多选题】当异常对象没有进行处理和捕捉,程序就使用回溯来终止执行,以下哪项是常见的错误信息?()

A. NameError B. TypeError C. IndexError D. SyncErro

参考答案:

NameError;

TypeError;

IndexError

无论是否发生异常,只要提供 语句,程序执行的最后一步总会执行它对应的代码块。

参考答案:finally

【判断题】完整语句中,try/except A/except/else/finally出现的顺序须按照格式中的先后来。()

参考答案:正确

【判断题】 assert 语句常用在程序的某个位置确认必须满足指定条件,常和异常处理结构一起使用。()

参考答案:正确

【判断题】如果异常对象已经被处理或捕捉,程序就会使用冋溯终止执行。()

参考答案:错误

  • 异常信息的获取对于程序的调试非常重要,可以有助于快速定位有错误程序语句的位置并进行调试。python用异常对象(exception object)来表示异常。遇到错误后会引发异常**,如果异常未被处理或捕捉,程序就会用所谓的回溯(traceback)终止执行**

【判断题】异常是指程序运行时引发的错误,引发错误的原因有很多,如除零.下标越界、文件不存在等。()

参考答案:正确

Python中所有异常的父类是()。

A.Error B.Throwable C.RuntimeException D.Exception

参考答案:D

  • Throwable 类是 Java 语言中所有错误或异常的超类。

【单选题】finally 语句块中的代码()。

A. 总是被执行

B. try 语句块后没有catch时,finally语句块才会执行

C. 异常发生时才执行

D. 异常没有发生时才被执行

参考答案:总是被执行

抛出异常应该使用的关键字是

https://i-blog.csdnimg.cn/blog_migrate/b30c4337845a95bc2a81e064086e2ff5.png

参考答案:throws

对于已经被定义过可能抛出异常的语句,在编程时:必须使用try/catch语句处理异常,或用throws将其抛出()

参考答案:√

自定义异常类时,可以继承的类是( )

参考答案:Exception及其子类

自定义异常时,可以通过对下列哪一项进行继承?( )

参考答案:Exception类及其子类

【单选题】使用catch(Exception e)的好处是

A. 只会捕获个别类型的异常

B. 捕获try语句块中产生的所有类型的异常

C. 忽略一些异常

D. 执行一些程序

参考答案:捕获try语句块中产生的所有类型的异常

https://i-blog.csdnimg.cn/blog_migrate/9d32227b6421f71b2e324fdb94c3c577.png

编写一个计算减法的方法,当第一个数小于第二个数时,抛出“被减数不能大于减数”的异常。

https://i-blog.csdnimg.cn/blog_migrate/d02ee98447547c1ea8a0c33aaeb43857.png

https://i-blog.csdnimg.cn/blog_migrate/e2b7ad3e6cb6b6b18276de449031cba2.png

https://i-blog.csdnimg.cn/blog_migrate/97cc1276fa922b8cf08ef321e96bde1d.png


https://i-blog.csdnimg.cn/blog_migrate/1aa0ecad54cfdca6621f9a4a61471f95.jpeg#pic_center

第11章 Python模块

在Python中,想要引用一个模块,需要用关键字 ( )引用

参考答案:import

在导入math这个模块后,可以使用该模块下的 函数来求100的平方根。

参考答案:math.sqrt( )

print(math.sqrt(100))

如果想引用datetime模块下面的date函数来转换成时间对象,那么应该怎么去引

用模块下面的这个函数?

参考答案:from datetime import date

https://i-blog.csdnimg.cn/blog_migrate/8776985f4d0512e6f69641b0b3cff566.png

from datetime import date,datetime,time;

https://i-blog.csdnimg.cn/blog_migrate/b05f79c8c89a5f93f129396b758f613a.png *

【判断题】导入from random import randint模块输出一个0到10随机数的代码为:print(random. randint(0,10)) 。()

参考答案:正确

当引用from datetime import time时,会生成一个时分秒对象time_a=time(11,11,11)。

???

【判断题】在实际开发中,可以引用现成模块下面的函数以达到需求,但是需要突岀一点也可以用户自定义一个函数来完成需求。( )

参考答案:正确

在导入模块时此模块下函数个数未知,可以使用from flask import*实现全部引

参考答案:正确

【判断题】当程序需要一些外部模块时,可以从外部下载并安装。这些外部模块均提供了自动安装文件,直接双击安装就可以。( )

参考答案:错误

:在当前目录下的shu.py程序里定义一个名为dit可比较两个数大小的函数,想在当前目录下的另一个程序中引用,下面做法正确的是()

参考答案:from shu import dit

在程序中引用random模块中的randint函数,下列引用错误的是

参考答案:import random.randint

【多选题】需要导入datetime模块下面的多个函数,应该选择( )。

A. from datetime import time, datetime B. from datetime import *

参考答案:

from datetime import time, datetime;

from datetime import *

https://i-blog.csdnimg.cn/blog_migrate/6ebc0a85cce91ef1de2f391cb7c561a4.png

https://i-blog.csdnimg.cn/blog_migrate/fb7aadcc76cae9461e4b760c980c040a.png


https://i-blog.csdnimg.cn/blog_migrate/1aa0ecad54cfdca6621f9a4a61471f95.jpeg#pic_center

第12章 Python面向对象设计

【填空题】在Python中提供 () 方法使子类访问父类中的成员。

参考答案:Super()

https://i-blog.csdnimg.cn/blog_migrate/af25ade3024611ebcefc564a8b7e777d.png

【填空题】在创建类时,用变量形式表示对象特征的成员,称为() ,用函数形式表示对象行为的成员称为() ,两者统称为类的成员。

参考答案:数据成员;方法

【填空题】Python类中定义的方法分为 、 、 、 。

参考答案:

公有方法;

私有方法;

静态方法;

类方法

在Python中称之为析构方法的是 () 。

参考答案:del

【判断题】定义类的成员时,私有成员名以两个下划线开头。( )

参考答案:正确

【判断题】类方法可以访问实例属性,也可以访问类属性。( )

参考答案:错误

【判断题】将对象的属性设置为只读模式,则不允许删除对象属性。( )

参考答案:正确

Python pass 是空语句,是为了保持程序结构的完整性

参考答案:√

【判断题】 init ()方法,当创建对象时Python解释器默认会调用此方法。( )

参考答案:正确

【判断题】父类的私有属性和方法是不能被子类继承的,更不能被子类访问。

参考答案:正确

多态是指基类的同一个方法在不同派生类对象中具有不同的表现和行为。

参考答案:对

【单选题】如果一个子类有多个父类,这种继承称为( )。

A. 单继承 B. 多继承 C. 既是单继承,也是多继承 D. 都不是

参考答案:多继承

【单选题】Python类拥有大量的特殊方法,其中初始化对象的属性是( )

A. __del__() B. _del_() C. __init__() D. _int_()

参考答案: __init__()

【填空题】重载【】方法可以定义对象转换为字符串的形式,在使用str和print函数时可以调用这个方法进行转换。

参考答案: ["__str__"]

https://i-blog.csdnimg.cn/blog_migrate/d56665c5000040b7a31f974825700cf9.png

https://i-blog.csdnimg.cn/blog_migrate/414e0dd5f6f7512a9e07237e28376132.png

https://i-blog.csdnimg.cn/blog_migrate/80ff40bcc637ea304bef1e41d42d36d2.png

https://i-blog.csdnimg.cn/blog_migrate/4c024e26b6cb1bc4f5ccb840cb4da879.png#pic_center

题库:


本特利