1.下列哪个语句在Python中是非法的?( B )p41
A、x = y = z = 1 B、x = (y = z + 1)
C、x, y = y, x D、x += y
2.关于Python内存管理,下列说法错误的是(B )
A、变量不必事先声明 B、变量无须先创建和赋值而直接使用
C、变量无须指定类型 D、可以使用del释放资源
3、下面哪个不是Python合法的标识符(B )p11
A、int32 B、40XL C、self D、__name__
合法的标识符应该是以字母或下划线开头,剩下的部分由字母,下划线,数字组成
4、下列哪种说法是错误的 ( A )
A、除字典类型外,所有标准对象均可以用于布尔测试
B、空字符串的布尔值是False
C、空列表对象的布尔值是False
D、值为0的任何数字对象的布尔值是False
字典类型也可用于布尔测试
- d1={}
- d2={'a':1}
- print(bool(d1))
- print(bool(d2))
5、Python不支持的数据类型有 ( A)
A、char B、int C、float D、list
6、关于Python中的复数,下列说法错误的是(C )
A、表示复数的语法是real + image j
B、实部和虚部都是浮点数
C、虚部必须后缀j,且必须是小写 大小写都行
D、方法conjugate返回复数的共轭复数
A.
- x=2+3j
- print(x)
- print(x.real)
- print(x.imag)
D.
- x=2+3j
- print(x)
- print(x.conjugate())
7、关于字符串下列说法错误的是 ( B)
A、字符应该视为长度为1的字符串
B、字符串以\0标志字符串的结束
C、既可以用单引号,也可以用双引号创建字符串
D、在三引号字符串中可以包含换行回车等特殊字符
python字符串不是通过NUL或者'\0'来结束的
C语言中字符串使用'\0'作为结束符,以防止越界。但是在python中,不是,你完全不需要为是否已经添加终止符而担心。字符串值包含你所定义的东西,没别的。
8、以下不能创建一个字典的语句是 ( C )p131
A、dict1 = {}
B、dict2 = { 3 : 5 }
C、dict3 = {[1,2,3]: “uestc”}
D、dict4 = {(1,2,3): “uestc”}
- dict1 = {}
-
- dict2 = { 3 : 5 }
-
- dict3 = {[1,2,3]: "uestc"}
-
- dict4 = {(1,2,3): "uestc"}
关键字只能是不可变类型,比如整数,字符串,只包含字符串或整数的元组,不能是列表。
9、下列Python语句正确的是 ( D )
A、min = x if x < y else y
B、max = x > y ? x : y 这是c语言的写法
C、if (x > y) print x if语句可以加括号,但是if语句必须有冒号;而且print函数没有括号
D、while True : pass
我觉得A也对。。。
10 计算机中信息处理和信息储存用(A)
A 二进制代码
B 十进制代码
C 十六进制代码
D ASCII代码
11 python源程序执行的方式(B)
A 编译执行 B 解析执行 C 直接执行 D边编译边执行
12 Python语言语句块的标记是( C )
A 分号 B 逗号 C 缩进 D /
13 以下是字符转换成字节的方法是(B)
A decode() B encode() C upper() D rstrip()
python的encode()和decode()的用法及实例
14 以下是正确的字符串(BD)
A ‘abc”ab” B ‘abc”ab’ C “abc”ab” D “abc\”ab”
15 “ab”+”c”*2 结果是:(C)
A abc2 B abcabc C abcc D ababcc
16 以下会出现错误的是(B)
A ‘北京’.encode()
B ‘北京’.decode()
C ‘北京’.encode().decode()
D 以上都不会错误
17 如下:
- str1 = "Runoob example....wow!!!"
-
- str2 = "exam";
-
- print(str1.find(str2, 5))
打印的结果是(B) p95
A 6 B 7 C 8 D -1
18 下面对count(),index(), find()方法描述错误的是(BC)p95
A count() 方法用于统计字符串里某个字符出现的次数
B find() 方法检测字符串中是否包含子字符串 str 如果包含子字符串返回开始的索引值,否则会报一个异常
C index() 方法检测字符串中是否包含子字符串 str, 如果str不在 返回-1
D 以上都错误
19 有下面的程序段
- k=int(input())
- if k<=10 and k>0:
- if k>5:
- if k>8:
- x=0
- else:
- x=1
- else:
- if k>2:
- x=3
- else:
- x=4
- print(x)
其中k取那组值时 x =3 ( A)
A 3,4,5 B 3,4 C 5,6,7 D 4,5
20 以下不是python中的关键字(D)
A raise B with C import D final
21 调用以下函数返回的值(D) p147
- def myfun():
- pass
-
- print(myfun())
A 0 B 出错不能运行 C 空字符串 D None
不带参数的return语句或函数体内没有return语句,函数返回None
22 函数如下:
- def showNnumber(numbers):
- for n in numbers:
- print(n)
下面那些在调用函数时会报错( C)
A showNumer([2,4,5]) B showNnumber(‘abcesf’)
C showNnumber(3.4) D showNumber((12,4,5))
numbers必须是可迭代对象
23 函数如下
- def chanageInt(number2):
-
- number2 = number2+1
-
- print("changeInt: number2= ",number2)
-
- #调用
-
- number1 = 2
-
- chanageInt(number1)
-
- print("number:",number1)
打印结果哪项是正确的( B )
A changeInt: number2= 3
number: 3
B changeInt: number2= 3
number: 2
C number: 2
changeInt: number2= 2
D number: 2
changeInt: number2= 3
24 函数如下
- def chanageList(list):
-
- list.append(" end")
-
- print("list",list)
-
-
-
- #调用
-
- strs =['1','2']
-
- chanageList(strs)
-
- print("strs",strs)
下面对 strs 和 list 的值输出正确的是( C D )
A strs ['1','2'] B list ['1','2']
C list ['1','2',’end’] D strs ['1','2',’end’]
25 定义类如下:
- class Hello():
- pass
下面说明错误的是( C D )
A 该类实例中包含__dir__()方法
B 该类实例中包含__hash__()方法
C 该类实例中只包含__dir__(),不包含__hash__()
D 该类没有定义任何方法,所以该实例中没有包含任何方法
Python中的常见特殊方法或属性—— dir方法和dict属性
【Python面向对象编程】第13篇 特殊方法之__hash__
对象的__dir__()方法的作用是列出对象内部所有的属性名和方法名,该方法将会返回包含所有属性或方法名的序列。
如果程序对某个对象执行dir(obj)函数,实际上就是将该对象的__dir__()方法返回值进行排序,然后包装成列表。
- class Item():
- def __init__(self,name,price):
- self.name=name
- self.price=price
- def info(self):
- pass
- #创建一个Item对象,将之赋值给it变量
- it = Item('鼠标',29.8)
- #打印所有属性(包含方法)组成的列表
- print(it.__dir__())
- #打印所有属性(包含方法)组成的列表,已排序
- print(dir(it))
截取了一部分:
26.定义类如下:
- class hello():
-
- def showInfo(sef):
-
- print(self.x)
下面描述正确的是(AC)
A该类不可以实例化
B 该类可以实例化
C 在pycharm 工具中会出现语法错误,说self没有定义
D 该类可以实例化,并且能正常通过对象调用showInfo()
27 关于python类 说法错误的是(B)
A 类的实例方法必须创建对象后才可以调用
B 类的实例方法必须创建对象前才可以调用
C 类的类方法可以用对象和类名来调用
D 类的静态属性可以用类名和对象来调用
28 定义类如下
- class Hello():
- def __init__(self,name):
- self.name=name
- def showInfo(self):
- print(self.name)
下面代码能正常执行的 ( C )
A h = Hello
h.showInfo()
B h = Hello()
h.showInfo(‘张三’)
C h = Hello(‘张三’)
h.showInfo()
D h = Hello(‘admin’)
showInfo
29 定义类如下:
- class A():
- def a(self):
- print("a")
-
- class B ():
- def b(self):
- print("b")
-
- class C():
- def c(self):
- print("c")
-
- class D(A,C):
- def d(self):
- print("d")
-
- d = D()
- d.a()
- d.b()
- d.d()
以下程序能执行的结果是(D)
A a,b,d B a,d
C d,a D 执行会报错
30 以下哪项python能正常启动(D)
A 拼写错误 B 错误表达式
C 缩进错误 D 手动抛出异常
31 有关异常说法正确的是(B)
A 程序中抛出异常终止程序
B 程序中抛出异常不一定终止程序
C 拼写错误会导致程序终止
D 缩进错误会导致程序终止
32 对以下程序描述错误的是(A)
- try:
- #语句块1
-
- except IndexError as i:
- # 语句块2
A 该程序对异常处理了,因此一定不会终止程序
B 该程序对异常处理了,不一定不会因异常引发终止
C 语句块1,如果抛出IndexError 异常,不会因为异常终止程序
D 语句块2 不一定会执行
33 程序如下:
- try:
- number = int(input("请输入数字:"))
- print("number:",number)
- print("=======hello======")
- except Exception as e:
- # 报错错误日志
- print("打印异常详情信息: ",e)
- else:
- print("没有异常")
- finally:#关闭资源
- print("finally")
- print("end")
输入的是 1a 结果是:( B )
A
- number: 1
-
- 打印异常详情信息: invalid literal for int() with base 10:
-
- finally
-
- end
B
- 打印异常详情信息: invalid literal for int() with base 10: '1a'
- finally
- end
C
- ========hello===========
-
- 打印异常详情信息: invalid literal for int() with base 10:
-
- finally
-
- End
D 以上都正确
34 导入模块的方式错误的是(D)
A import mo B from mo import *
C import mo as m D import m from mo
35 以下关于模块说法错误的是(C)
A 一个xx.py就是一个模块
B 任何一个普通的xx.py文件可以作为模块导入
C 模块文件的扩展名不一定是 .py
D 运行时会从制定的目录搜索导入的模块,如果没有,会报错异常
二 解答题 (每题2分 ,共 12分)
1 请描述列表和元组之间的区别,以及分别在他们之间转型?
List 和tuple 区别
不同点:
1 定义的方式
list[] tuple()
2 是否可变
list可变 tuple() 不可变
3 list中有 append(),insert() 函数,tuple中没有
相同点:
都是有序的集合(容器)
List转为tuple:
temp_list = [1,2,3,4,5]
将temp_list进行强制转换:tuple(temp_list)
tuple 转为list:
temp_tuple = (1,2,3)
方法类似,也是进行强制转换即可:list(temp_tuple)
2 定义函数的规则?
1函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
2任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
3函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
4函数内容以冒号起始,并且缩进。
5 return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
3 __new__和__init__的区别?
__new__是一个静态方法,而__init__是一个实例方法.
__new__方法会返回一个创建的实例,而__init__什么都不返回.
只有在__new__返回一个cls的实例时后面的__init__才能被调用.
当创建一个新实例时调用__new__,初始化一个实例时用__init__.
4 read,readline和readlines之间的区别?
read 读取整个文件
readline 读取下一行,使用生成器方法
readlines 读取整个文件到一个迭代器以供我们遍历
5 去掉old_list = [1,1,1,3,4 ] 中的重复元素
new_list = list(set(old_list))
6 用两个元素之间有对应关系的list构造一个dict
names = ['jianpx', 'yue']
ages = [23, 40]
m = dict(zip(names,ages))
三 编程题(每题6分 共18分)
1 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示
- s = int(input('请输入成绩:'))
-
- if s>=90:
-
- grade = 'A'
-
- elif s>=60:
-
- grade = 'B'
-
- else:
-
- grade = 'C'
-
- print(grade)
2 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
- import re
- str1 = input("请输入一行字符串:")
- alpha = 0 #英文字母
- space = 0 #空格
- digit = 0 #数字
- other = 0 #其他
- for i in str1:
- # print(i)
- if re.findall(r"[A-Za-z]",i):
- alpha += 1
- elif re.findall(r"\s", i):
- space += 1
- elif re.findall(r"\d",i):
- digit += 1
- else:
- other += 1
- print(f"{str1}中的英文字母个数为:{alpha}")
- print(f"{str1}中的空格个数为:{ space}")
- print(f"{str1}中的数字个数为:{digit}")
- print(f"{str1}中的其他字符个数为:{other}")
3 对10个数进行排序
- # -*- coding:utf-8 -*-
- list = []
- for i in range(5):
- a = input('请输入整数:')
- list.append(a)
- print list
- list.sort()#利用现有的函数方法
- print list