单选题

1、关于Python内存管理,下列说法错误的是?

A.变量不必事先声明

B.变量无须先创建和赋值而直接使用

C.变量无须指定类型

D.可以使用del释放资源

正确选项 B

2、print 100 - 25 * 3 % 4 应该输出什么?

A.1

B.97

C.25

D.0

正确选项 B

3、下列哪种说法是错误的?

A. 除字典类型外,所有标准对象均可以用于布尔测试

B.空字符串的布尔值是False

C.空列表对象的布尔值是False

D. 值为0的任何数字对象的布尔值是False

正确选项 A

4、以下不能创建一个字典的语句是?

A. dict1 = {}

B. dict2 = { 3 : 5 }

C. dict3 = dict( [2 , 5] ,[ 3 , 4 ] )

D. dict4 = dict( ( [1,2],[3,4] ) )

正确选项 C

5、下面不能创建一个集合的语句是?

A. s1 = set ()

B. s2 = set (“abcd”)

C. s3 = (1, 2, 3, 4)

D.s4 = frozenset( (3,2,1) )

正确选项 C

6、现有 d = {},python3解释器执行d[(1,2)] = ({3,(4)})后d的结果是?

A. {(1, 2): {3, 4}}

B. {(1, 2): ({3, 4})}

C. 报错

D. 以上都不对

正确选项 A

7、Python中==运算符比较两个对象的值,下列选项中哪一个是is比较对象的因素?

A.  id()

B. sum()

C.  max()

D.  min()

正确选项 A

8、当知道条件为真,想要程序无限执行直到人为停止的话,可以需要下列哪个选项()

A. for

B. break

C. while

D.  if

正确选项 C

9、比10小且大于或等于0的偶数,例题如下:

x = 10
while x:
    x = x-1
    if x%2!=0:
        ____   
    print (x)

A. break

B. continue

C. yield

D.  flag

正确选项 B

10、python3解释器执行 not 1 and 1的结果为

A. TRUE

B. FALSE

C. 0 

D. 1

正确选项 B

多项选择题

1、下列实例变量a值为字符串"hello",b变量值为"mooc",下列选项属于正确字符串运算的是?

A. a+b

B. a*2

C. 'h' in a

D. print("Learn python in %s"%('mooc'))

正确选项 ABCD

2、在python中,数字类型共包括以下哪几种类型

A. int

B. float

C. complex

D. bool

正确选项 ABC

3、 Python的解释器本身也可以看作是个程序,并且有多种解释器版本,下列选项属于Python解释器的是?

A. Cpython

B.  Ipython

C. PyPy

D.  Jython

正确选项 ABCD

4、关于字符串的replace方法,你认为正确的选项是?

A. replace方法如果没有替换成功则报错

B. replace方法如果没有替换成功则将原字符串返回

C.  replace方法如果替换成功返回新的字符串

D.  replace方法如果替换成功,返回原字符串

正确选项 BC

5、在python中,关于copy模块的说法,你认为对的是?

A. copy模块为python的内置模块,用时无需导入

B. 我们可以通过变量复制操作代替copy

C.  copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象

D. copy.deepcopy 深拷贝 拷贝对象及其子对象

正确选项 CD

填空题

1、Python中可变数据类型有_和_,

答案是 list 和 dict

2、Python中不可变数据类型有_和_.

答案是 int 和 str

3、Python安装扩展库常用的是_工具。

pip

4、在Python中 " "表示空类型

None

5、Python运算符中用来计算整商的是_?

//

简答题

1、简述面向对向和面向过程的区别?

(1)从设计思路来看。
面向过程:程序设计的重点是分析解决问题的步骤,以及完成步骤的流程,是一种结构化自上而下的程序设计方法。面向对象:程序设计的重点是把构成问题的事物分解成对象,从局部着手,通过迭代的方式逐步构建出整个程序,是一种以数据为核心,以类设计为主的自下而上的程序设计方法。
(2)从适用范围来看。
面向过程:由于不涉及实例化对象等操作,程序性能更高,开销更少,因此像切入式等对资源要求较高的系统大多都采用面向过程开发。面向对象:由于其抽象、封装、继承、多态的特性,使得系统具有更好的扩展性、维护性、复用性,对于功能复杂且维护成本较高的系统采用面向对象的开发。
(3)从代码复用来看。
二者都可以实现代码复用,但是面向过程主要是函数,而面向对象主要是类。

2、python存在多种数据类型,请分别列出并且说一下它们各自的特点

数字(整型,长整型,浮点,布尔,复数)
  1.整数:根据字面的意思俩理解就没有小数点的数
  2.浮点型:就是带小数点的数字
  3.布尔型:True与False(1和0)
  4.复数: 复数有实数部分和虚数部分组成,一般形式为x+yj,其中x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数
字符串:用 " " 、' ' 、''' '''或者""" """。中间包含的部分称之为字符串,即使里面写入的是数字,那么他的数据类型也是字符串;字符串是不可改变的
列表:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素
元组:以'()'圆括号进行定义,与列表极其相似。也是序列类型 可以进行索引,切片,查询,也可以进行遍历
元组与列表的唯一区别则是不可改变
字典:字典占用的内存空间将会大于列表,在系统中要保存一个hash列表(用系统内存换取时间)
  字典属于key:value 结合(key值是不可变的,value值可以变)并且是无序的
集合:由不同的元素组成的集合,集合中是一组无序排列的可hash值,可作为字典的key,而且集合中的值不可重复。
特性:集合的目的就是将不同的值存放在一起,不同的集合间来做关系运算,无序纠结集合中单个值