mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)

pythonmooc-python语言基础与应用-期末客观题(附带分析讲解)

  1. 单选(2分)

以下代码的输出结果是(D)。

def fun(num):
    num *= 2
x = 20
fun(x)
print(x)

A.10
B.报错
C.40
D.20

  • 分析:python中内存分配机制:对于不可变的对象,其id和内存是不可变的,调用函数只是将num 指向20,x本身也是指向20的,并没有改变x的指向,也改变不了20的地址,只是将num重新指向了一个地址
    实验样例:
x = 10
print("最初的id",id(x),'x的值',x)
def test(x):
    print('传入的形参的id',id(x),'x的值',x)
    x = x * 19
    print('修改过后的x的id',id(x),'x的值',x)
test(x)
print('函数执行完毕的x的id',id(x),'x的值',x)

结果:
mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第1张图片

  1. . 单选(2分)

Python中以只读形式打开文件的模式是(D)。
A.x
B.w
C.b
D.r

  • 分析:
    mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第2张图片
  1. 单选(2分)

以下代码的输出结果是(A)。

alist=[‘a’,‘b’,‘c’]
blist=alist[:1:-1]
print(blist)
A.[‘c’]
B.[‘b’, ‘c’]
C.[‘a’]
D.[‘c’, ‘b’]

  • 分析:
    • slice[startstep],左闭右开,最后一个是取不到的元素返回一个字符串
    • start缺省,看step怎么取值
      • start缺省,step为负数,默认是从最后一个逆序向前取值
      • start缺省,step为正数,默认是从第一个正序向前取值
      • start>end,step为正数,默认无输出,直接跳出循环
      • start 代码:
a = 'abcdefg'
print('原来的字符串',a)
print('a[:3:-1]',a[:3:-1])
print('a[:3:1]',a[:3:1])
print('a[0:4:-1]',a[0:4:-1])
print('a[4:2:1]',a[4:2:1])

结果:
mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第3张图片

  1. 单选(2分)

以下代码的输出结果是(B)。

L1 =[‘abc’, [‘123’,‘456’]]
L2 = [‘1’,‘2’,‘3’]
print(L1 > L2)
A.False
B.True
C.1
D.TypeError: ‘>’ not supported between instances of ‘list’ and ‘str’

  • 分析:
  • 比较规则: 从第一个元素顺序开始比较,如果相等,则继续,返回第一个不相等元素比较的结果。如果所有元素比较均相等,则长的列表大,一样长则两列表相等
    这里是借鉴的
    mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第4张图片
  • 试过之后,所有的容器对象无论里面有没有值,都比不变的int变量打,扫描到非int型的变量就自动返回,非列表元素的比较大
  • mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第5张图片
  1. 单选(2分)

以下关于容器类型说法错误的是(B)。

A.字典的 pop 函数可以返回一个键对应的值,并删除该键值对。

B.创建一个空集合aset,可以用花括号:

aset = { }
C.嵌套的字典数据类型可以用来表达高维数据。

D.元组中的元素可以是列表。

  • 分析:
  • mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第6张图片
  • 创建空的集合只能使用aset = set(),花括号是字典,圆括号是元组,方括号是列表

mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第7张图片

  1. 单选(2分)

以下代码的输出结果是(A)。

data=[1, 0, 2, 0, 0]
data.remove(0)
print(data)
A.[1, 2, 0, 0]
B.[0, 2, 0, 0]
C.[1, 0, 2, 0]
D.[1, 2]

  • 分析:
    mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第8张图片
  • 题目列表里面的都是int型的数字,我给了一个字符串型的,发现识别不了,还是数据类型一致才可以
  • 不是按照索引删除的,是按照匹配是否有相同元素
    mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第9张图片
  1. 单选(2分)

Python中可以用来解析HTML和XML的第三方库是(A)。

A.beautiful soup
B.requests
C.numpy
D.jieba8

  • 分析:
  • requests是相服务器发送请求获取相应
  • beautiful soup是 解析HTML和XML第三方库的,属于网络爬虫那章
  • numpy是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
  • jieba8:是python的一个中文分词库
  1. 以下关于Python的循环结构说法错误的是(D)。

A.for循环中被遍历的部分可以是字符串、文件、组合数据类型和range()函数等。
B.break语句用来跳出当前层次的for或者while循环。
C.以下代码的输出包含3个不同的数。

n=4
while n >=0:
    n=n-1
    if n<1:
        break
    print(n)

D.continue语句用来跳出当前层次的的for或者while循环。

  • 分析
  • mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第10张图片
    mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第11张图片
  1. 单选(2分)

以下代码的输出结果是(A)。

print([i**i for i in range(5) if i%2!=0])

A.[1, 27]
B.[1, 9]
C.会报错
D.[1, 27, 3125]

  • 分析:
  • 这是推导式,翻译成正常的语言就是如下,你别算错就行了
 alist = list()
for i in range(5):
    if i % 2 == 0:
        alist.append(i ** i)
print(alist)
  1. 单选(2分)

关于Python中的面向对象说法错误的是(A)。

A.__str__方法和__repr__方法作用完全一样,都可以用来返回一个表示对象的字符串。
B.__init__方法根据类的定义创建实例对象,第一个参数一定是self。
C.创建对象后使用点(.)操作符来调用对象里的方法。
D.Python中利用class语句来定义新的类。

  • 分析:
  • __str()__是返回对对象的描述信息,返回的是一个字符串,是对这个对象的描写。类似java中的tostring方法
  • __repr()__是返回类的自我描述信息,直接打印类的实例化对象时,系统会输出对象的自我描述信息
    mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第12张图片
def __str__(self):
        """返回一个对象的描述信息"""
        # print(num)
        return "名字是:%s , 年龄是:%d" % (self.name, self.age)
  1. 多选(3分)

以下关于Python中程序流程结构说法正确的是(ABD)。

A.可以用if…elif…else语句实现多个分支的结构。
B.程序流程包括顺序、条件分支和循环三种基本结构。
C.可以利用switch…case语句实现多个分支的结构。
D.else语句可以出现在if、while和for语句中。

  • 分析:
  • python中没有switch—case语句
  • else语句
    • while语句

mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第13张图片

  • for语句
    mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第14张图片
  1. 多选(3分)

以下关于Python中数值类型说法正确的是(ACD)。

A.以下代码的输出结果是2。

a=2.9
print(int(a))

B.Python语言要求所有浮点数必须带有小数部分,且小数部分不能为0。

C.在IDLE Shell里输入0.1+0.2==0.3返回False。

D.Python中复数类型的实部和虚部都是浮点数。

  • 分析:
    • python中浮点数,精度是时53位,小数可以为零,精确表达为什么不能为0,正数部分也可以为零
      在这里插入图片描述

    • python中复数

      • 虚部不会单独存在
      • 实数部分和虚数部分必须得是浮点数
      • 虚数部分必须加上j或者J
    • int()函数,是直接舍弃小数部分
      mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第15张图片

  1. 多选(3分)

关于以下代码说法正确的是(CD)。

class Student:
    def language(self):
        print ("All the students like Python")
class Mary(Student):
    def work(self):
        print("Mary is programming")
class Tom(Student):
    def language(self):
        print("Tom likes JAVA")
mary = Mary()
tom = Tom()

A.tom.work()会打印出Tom is programming

B.tom.language()会打印出All the students like Python

C.tom.language()会打印出Tom likes JAVA

D.mary.language()会打印出All the students like Python

  • Tom继承Student类,但是已经重写了的language方法
  • Mary继承Student类,并没有重写language方法,但是可以调用父类的方法。同时自己丰富了子类的方法,可以自己单独调用
  1. 多选(3分)

关于Python中的函数,下列说法正确的是(ABCD)。

A.函数可以赋值给一个变量。

B.函数可以作为参数值传递给其他函数。

C.函数可以作为函数的返回值。

D.函数可以作为对象添加到集合对象中。

  • 分析:
    • 函数本身就有返回值,为什么不可以
  1. 多选(3分)

给变量a赋值如下:

a = (0, 1, 2, 3)

下列后续操作合法的是(ABD)。

A.b = a[1:-1]

B a = a * 3

C.a[2] = 4

D.b = list(a)

  • 分析:
    • 元组的相关操作

    • mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第16张图片

    • mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第17张图片

  1. 多选(3分)下面代码中输出结果为0、1、2三个数字的有(AD)。

A

for i in range(3):
    print(i)

B.

i=1
while i<3:
    print(i)
    i+=1
 

C.

i=3
while i>1:
    i=i-1
    print(3-i)
 

D.

for i in range(3,0,-1):
    print(3-i)
  • 分析
    • range(start,end,step),左闭右开区间,右边是取不到的
  1. 多选(3分)

以下关于Python高级特性说法正确的是(CD)。

A.Python中可以用异常处理捕获程序中的所有错误。

B.try语句中有except子句就不能有finally子句。

C.生成器函数与普通函数相同,只是将return换成了yield。

D.生成器是用来创建Python序列的一个对象,通常用来为迭代器产生数据。

  • 分析
    • 错误分为两类,语义错误和语法错误,最多只能检查出语法错误,常见的可查出的错误类型
      mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第18张图片
    • finally是一定会执行的语句,都可以用finally,
    • else时没有出错才会执行的语句
  • 生成器函数
    • mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第19张图片
      mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第20张图片
  1. 多选(3分)

以下关于Python中模块的说法正确的是(CD)。

A.datetime模块中strptime方法将struct_time对象格式化成字符串。

B.可以利用matplotlib中的hist()方法来绘制散点图。

C.文件操作中readline函数表示读取文件的下一行,返回一个字符串。

D.PIL图像库可以实现对图像的模糊处理。

  • 分析:
    • strptime是将固定格式的字符串变为struct_time对象
    • hist是绘制直方图的,scatter是绘制散点图的
      mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第21张图片
      mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第22张图片
  1. 多选(3分)

以下关于Python中random模块的说法正确的是(BCD)。

A.uniform(0,1)与uniform(0.0,1.0)的输出结果不同,前者输出随机整数,后者输出随机小数。

B.通过from random import *引入random库的全部函数。

C.randint(a,b)是生成一个[a,b]之间的整数,可能包括a和b。

D.设定相同的随机种子,每次调用随机函数生成的随机数相同。

  • 分析
    • uniform(x,y)是随机生成[x,y]之间的实数,通过random的静态对象调用该方法,是生成相关的小数
      mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第23张图片
      mooc-python语言基础与应用-期末客观题(老哥!附带分析讲解!应该都讲到了吗)_第24张图片
  1. 多选(3分)

以下关于Python中内置函数的说法正确的是(ABD)。

A.len()返回对象包含元素的个数,参数可以是字符串,元组,列表和字典。

B.type()返回一个对象的类型。

C.sorted(alist)可以对列表alist进行排序,并将排序后的结果写回到列表alist中。

D.print(int(abs(-3 + 4j)))的结果为5。

  • 分析:
    • sroted()不修改原来的数据对象,返回一个新的数据对象

博客有上传python的笔记

你可能感兴趣的:(python)