一、单选题
Python语言正式诞生于________年.
A. 1991
B. 1990
C. 1989
正确答案:A
称为ClassicPython的最常用Python版本是?
A. Cpython;
B. PyPy;
C. Jython;
D. Ipython
正确答案: A
Python的内置集成开发工具是?
A. PythonWin;
B. Pydev;
C. IDE;
D. IDLE
正确答案: D
Python官方的允许所有人下载和上传第三方库的扩展索引库是?
A. PyPI
B. PyPy
C. Pydev
D. pip
正确答案: A
关于Python语言的特点,以下选项中描述错误的是( )。
A. Python语言是脚本语言
B. Python语言是跨平台语言
C. Python语言是非开源语言
D. Python语言是高级语言
正确答案: C
下面可以用来作为变量名的有( )。
A. 3m
B. stu
C. a,b
正确答案: B
如下变量声明语句不正确的是______.
A. int a
B. a=1;
C. a=1.1
D. a=abs(-1)
正确答案: A
以下选项中, 不是 Python 语言保留字的是( )。
A. while
B. pass
C. no
D. except
正确答案: C
关于Python赋值语句,以下选项中不合法的是______。
A. x=(y=1)
B. x=y=1
C. x,y=y,x
D. x=1;y=2
正确答案: A
Python复合语句错误的是_____.
A. 头部语句一般由相应的关键字开始;
B. 头部语句以:结束;
C. 缩进一般是相对头部语句缩进4个空格;
D. 复合语句不能写同一行
正确答案: D
10分
下列选项中不符合Python语言变量命名规则的是( )。
A. abc
B. 2abc
C. _abc
D. abc2
正确答案: B
Python中标识符是否区分大小写?
A. 是
B. 否
正确答案: A
Python的基本输入语句是:()。
A. input()
B. cin
C. scanf()
正确答案: A
Python中对象本质上是一个_______块,拥有特定的值,支持特定类型的运算符。
A. 内存
B. 缓存
C. 代码
正确答案: A
Python_________定义为一个值的集合及其上的一组运算。
A. 代码块
B. 数据类型
C. 语句
正确答案: B
“ab”+“c”*2 结果是( )。
A. abc2
B. abcc
C. abcabc
D. ababcc
正确答案: B
print(‘a\tb\tc\td’)输出结果是:()。
A. a\tb\tc\td
B. a b c\td
C. a b c\td
正确答案: B
Python中’123’+456对应的结果是:()。
A. 579
B. 运行错误
C. ’123456‘
正确答案: B
在下列数据类型中,Python不支持的是( )。
A. char
B. int
C. float
D. list
正确答案: A
Python中print(type(1//2))结果为:()。
A. class ‘int’
B. class ‘float’
C. class ‘double’
D. class ‘number’
正确答案: A
print(True and 3)结果是:()。
A. 3
B. True
C. 错误
D. 1
正确答案: A
Python中print(8.0/2**3)结果为:()。
A. 64
B. 1.0
C. 64.0
D. 1
正确答案: B
Pyhton语句print(type((1,2,3,4)))()
A.
B.
C.
D.
我的答案: A
假设list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9],以下哪条说法是正确的?()
A. list1[1:2]的返回值为1,2
B. list1[1:2]的返回值为[1,2]
C. list1[1:2]的返回值为2
D. list1[1:2]的返回值为[2]
我的答案: D
下面的语句不能够创建元组的是哪个选项?( )
A. t=(1,2,3)
B. t=1,2,3
C. t=1,
D. t=(1)
我的答案: C
Pyhton语句print(type([1,2,3,4]))()。
A.
B.
C.
D.
我的答案: C
假设list1 = [30,1,2,1,0], list2=[1,21,13],下面哪条语句的返回值是[30,1,2,1,0,1,21,13]()
A. list1+list2
B. 3list
C. list13
D. list1
我的答案: A
Python语句“a=(1,2,3,None,(),[]);print(len(a))”的运行结果为( )
A. 4
B. 5
C. 6
D. 7
我的答案:C
以下不能创建字典的Python语句是()
A. dict1={}
B. dict2={2:6}
C. dict3={[1,2,3]:“users”}
D. dict4={(1,2,3):“users”}
正确答案: C
假设numbers={1,4,5,6,4}以下说法不正确的是()
A. sum(numbers)的返回值为16
B. len(numbers)的返回值为5
C. max(numbers)的返回值为6
D. min(numbers)的返回值为1
正确答案: B
Pyhton语句print(type({}))()
A.
B.
C.
D.
正确答案: B
假设字典 student = {“张三”:2001, “李四”:2001, “王五”:2001},以下哪个选项的作用是为这个字典添加一个()
A. student[“张三”]=2002
B. student[“Heny”]=2001
C. student[“李四”]+=1
D. del student[“李四”]
正确答案: B
执行以下语句
s=set(“中国”)
s.add(“中”)
print(s)
返回值为( )
A. {‘中’, ‘国’}
B. (‘中’, ‘国’)
C. {‘中’, ‘国’,‘中’}
D. {‘中’,‘中’, ‘国’}
正确答案: A
A. A、B、C都不正确
B. [4,5,3]
C. [4,3,6]]
D. [4,5,6]
正确答案: B
以下选项中,不是具体的python序列类型的是()
A. 列表类型
B. 字符串类型
C. 元组类型
D. 数组类型
正确答案: D
关于Python的元组类型, 以下选项中描述错误的是( )。
A. 元组中元素不可以是不同类型
B. 元组一旦创建就不能被修改
C. Python中元组采用逗号和圆括号来表示
D. 一个元组可以作为另一个元组的元素,可以采用多级索引获取信息
我的答案: A正确答案: A
对于序列S,能够返回序列s中第i到j以k为步长的元素子序列的表达式是()。
A. s[i:j:k]
B. s[i;j;k]
C. s(i,j:,k)
D. s[i,j,k]
正确答案: A
下面代码的输出结果是( )。
a= [1,3]
b= [2,4,5]
a.extend(b)
print(a)
A. [1 ,2 ,3 ,4,5]
B. [5,4 ,2 ,3 ,1]
C. [1, 3, 2, 4,5]
D. [5,4 ,3 ,2 ,1]
正确答案: C
Python中布尔类型是内置的数值类型?
A. 正确
B. 错误
正确答案: A
Python中模块、类、对象、函数都属于某种数据类型。
A. 正确
B. 错误
正确答案: A
下面代码的输出结果是( )。 x=10 y=3 print(x%y,x**y)
A. 3 1000
B. 3 30
C. 1 1000
D. 1 30
正确答案: C
Python中任意表达式都可以被评价为布尔逻辑值,均可以参加逻辑运算。
A. 正确
B. 错误
正确答案: A
Python中print(type(121+1.21))结果为:()。
A. class ‘int’
B. class ‘float’
C. class ‘double’
D. class ‘long’
正确答案: B
Python中print(‘abc’+2)结果为:()。
A. 语法错误
B. 2
C. car2’
D. carcar’
正确答案: A
表达式 ‘a’ + ‘b’ 的值为______。
A. 出错
B. ab
C. a+b
正确答案: B
表达式1+(2>1)的值是:____
A. 1
B. 2
C. 0
正确答案: B
print(232)
A. 64
B. 256
C. 512
D. 1024
正确答案: C
Python中print(10+5//3-True-False)结果为:()。
A. 3
B. 5
C. 10
D. Y
正确答案: C
下列选项中不能使用下标运算的是( )
A. 列表
B. 字符串
C. 集合
D. 元组
正确答案: C
下面关于集合的描述,错误的是( )。
A. 集合中的元素必须不可变
B. 集合中的每个元素都是唯一的
C. 集合支持下标
D. 集合中的元素是无序的
正确答案: C
以下不能创建字典的Python语句是()。
A. dict1={}
B. dict2={1:8}
C. dict3=dict([2,4],[3,6])
D. dict4=dict(([2,4],[3,6]))
正确答案: C
S和T是两个集合,对于S&T的描述正确的是()
A. S和T的差运算,包括在集合S但不在集合T的元素
B. S和T的交运算,同时包括在集合S和集合T的元素
C. S和T的补运算,包括在集合S和集合T的非相同元素
D. S和T的并运算,包括在集合S和T的所有元素
正确答案: B
字典d={‘abc’:123,‘def’:456,‘ghi’:789},len(d)的结果是()。
A. 6
B. 12
C. 9
D. 3
正确答案: D
给定字典d,以下选项中对d.items()的描述正确的是( )。
A. 返回一个集合类型,每个元素是一个二元元组,包括字典d中所有键值对
B. 返回一个列表类型,每个元素是一个二元元组,包括字典d中所有键值对
C. 返回一个元组类型,每个元素是一个二元元组,包括字典d中所有键值对
D. 返回一种dict_items类型,包括字典d中所有键值对
正确答案: D
下列程序共输出( )个值。
age = 5
start = 2
if age % 2 != 0:
start = 1
for x in range(start, age + 2, 2):
print(x)
A. 4
B. 1
C. 3
D. 2
正确答案: C
2.
以下程序的输出结果是( )。
a = 30
b = 1
if a >=10:
a = 20
elif a>=20:
a = 30
elif a>=30:
b = a
else:
b = 0
print(‘a={}, b={}’.format(a,b))
A. B. a=30, b=30
B. C. a=20, b=20
C. D. a=20, b=1
D. A. a=30, b=1
正确答案: C
下列代码的输出结果是()。
a = [[1, 1], [1, 1], [1, 1]]
sum = 0
for i in a:
for j in range(2):
sum += i[j]
print(sum)
A. 6
B. 4
C. 以上答案都不对
D. 2
正确答案: A
4.
以下程序的输出结果是( )。
j = ‘’
for i in “12345”:
j += i + ‘,’
print(j)
A. 12345
B. 1,2,3,4,5,
C. 1,2,3,4,5
D. ‘1,2,3,4,5,’
正确答案: B
以下程序的输出结果是( )?
i = 1
while i<5:
print(“循环内,i的值是{}”.format(i))
if i == 2:
break
i += 1
else:
print(“循环外,i的值是{}”.format(i))
A.
循环内,i的值是1
循环内,i的值是2
循环内,i的值是3
循环内,i的值是4
循环内,i的值是5
B.
循环内,i的值是1
循环内,i的值是2
循环外,i的值是2
C.
循环内,i的值是1
循环内,i的值是2
D.
循环内,i的值是1
循环内,i的值是2
循环内,i的值是3
循环内,i的值是4
正确答案: C
7.
下述程序的输出结果是( )。
for i in range(3):
print (i,end=“”)
for i in range(1,3,2):
print (i,end=“”)
for i in range(1,3):
print (i,end=“”)
A. 012112
B. 012302123
C. 01202012
D. 1231312
正确答案: A
以下哪个不是函数的作用?
A. 提高代码执行速度
B. 复用代码
C. 增强代码可读性
D. 降低编程复杂度
正确答案: A
5. ()函数是指直接或间接调用函数本身的函数
A. 递归
B. 匿名
C. lambda
D. 闭包
正确答案: A
C. 任何一个普通的xx.py文件可以作为模块导入
D.
运行时会从指定的目录搜索导入的模块,如果没有,会报错异常
正确答案: A
3. ()程序随Python安装,可以用来安装、升级以及删除包
A. def
B. install
C. import
D. pip
正确答案: D
4. 计算圆的周长使用()模块
A. sklearn
B. math
C. random
D. time
正确答案: B
函数如下
def chanageInt(number2):
number2 = number2+1
print("changeInt: number2= ",number2)
#调用
number1 = 2
chanageInt(number1)
print(“number:”,number1)
A. changeInt: number2= 3 number: 2
B. number: 2 changeInt: number2= 3
C. number: 2 changeInt: number2= 2
D. changeInt: number2= 3 number: 3
正确答案: A
2.
下面是一个Python函数,哪个说法不正确?
def func(a, b):
c = a**2 + b
b = a
return c
a = 10
b = 100
c = func(a, b) + a
A. 该函数执行后,变量a的值为10
B. 该函数执行后,变量b的值为100
C. 该函数执行后,变量c的值为200
D. 该函数名称为func
正确答案: C
3.
下列程序的输出结果是:
def test(a, b, c=33, *args, **kwargs):
print(a, b, c, args, kwargs)
test(1, 2, 3, 4, e=5)
A.1 2 33 (4) {5}
B.1 2 33 (4,) {‘e’: 5}
C.1 2 3 (4,) {‘e’: 5}
D.1 2 33 (4) {‘e’: 5}
如果我们需要从 math 模块中输出 pi 常量,以下代码正确的是?
A.
from math import pi
print(pi)
B.
print(math.pi)
C.
from math import pi
print(math.pi)
D. print(pi)
正确答案: A
2.
执行下列代码,
说法错误的是:( )
A.可能会显示‘多云’
B.可能会报错
C.可能会显示‘下雨’
D. 可能会显示‘晴’
正确答案: B
3. 关于time模块说法正确的是( )
A.time.sleep()表示时间暂停
B.使用time模块之前要先用import关键字导入
C. time.time()用于获取当前计算机的毫秒值
D. time.time()获取的计算机时间为整数值
模块的搜索路径被存储在sys模块中的path变量里。
A. 对
B. 错
正确答案: 对
包目录下的_init_.py文件可以为空。
A. 对
B. 错
正确答案: 对
导入模块时,解释器现在当前包中查找模块,若找不到则在内置的bulid-in模块中查找。再次找不到则按照sys.path给定的路径找对应的模块文件。
A. 对
B. 错
正确答案: 对
如果我们只需要使用math模块的sin函数,则from math import sin的效率比from math import *的效率高。
A. 对
B. 错
下列不属于面向对象程序设计的三要素的是( )。
A. 继承
B. 派生
C. 多态
D. 封装
正确答案: B
定义类时,习惯用什么作为实例方法的第一个参数表示对象自身( )
A. cls
B. me
C. self
D. this
正确答案: C
构造方法的作用是( )。
A. 类的初始化
B. 对象的建立
C. 一般成员方法
D. 对象的初始化
正确答案: D
关于python的类,说法错误的是( )。
A. 类的静态属性可以用类名和对象来调用
B. 类的实例方法必须创建对象后才可以调用
C. 类的类方法可以用对象和类名来调用
D. 对象的方法可以用类名和对象名调用
正确答案: D
关于类和对象的关系,下列描述正确的是( )。
A. 类是面向对象的核心
B. 类是现实中事物的个体
C. 对象是根据类创建的,并且一个类只能对应一个对象
D. 对象描述的是现实的个体,它是类的实例
正确答案: D
在 Python 中定义类时,如果某个成员名称前有 2 个下划线则表示是私有成员。
A. 对
B. 错
正确答案: 对
在类定义的外部没有任何办法可以访问对象的私有成员。
A. 对
B. 错
正确答案: 错
Python 中一切内容都可以称为对象。
A. 对
B. 错
正确答案: 对
在一个软件的设计与开发中,所有类名、函数名、变量名都应该遵循统一的风格和规范。
A. 对
B. 错
正确答案: 对
定义类时所有实例方法的第一个参数用来表示对象本身,在类的外部通过对象名来调用实例方法时不需要为该参数传值。
A. 对
B. 错
以下C类继承A类和B类的格式中,正确的是()。
A. class C A,B:
B. class C(A:B)
C. class C A and B:
D. class C(A,B)
正确答案: D
下列选项中,与class Person等价的是()。
A. class Person(Object)
B. class Person(Animal)
C. class Person(object)
D. class Person: object
正确答案: C
Python中定义私有属性的方法是()。
A. 使用__XX定义属性名
B. 使用__XX__定义属性名
C. 使用private关键字
D. 使用public关键字
正确答案: A
下列选项中,不属于面向对象程序设计的三个特征的是()。
A. 多态
B. 抽象
C. 继承
D. 封装
正确答案: B
子类通过重写继承的方法,覆盖掉跟父类同名的方法。
A. 对
B. 错
正确答案: 对
子类能继承父类的一切属性和方法。
A. 对
B. 错
正确答案: 错
继承会在原有类的基础上产生新的类,这个新类就是父类。
A. 对
B. 错
正确答案: 错
Python中没有严格意义上的私有成员。
A. 对
B. 错
定义类如下
class Hello():
def __init__(self,name)
self.name=name
def showInfo(self)
print(self.name)
下面代码能正常执行的 ( )。
A.
h = Hello()
h.showInfo(‘张三’)
B.
h = Hello(‘张三’)
h.showInfo()
C.
h = Hello
h.showInfo()
D.
h = Hello(‘admin’)
showInfo
正确答案: B
2.
下列python语句的程序运行结果是( )。
class parent:
def __init__(self,param):
self.v1=param
class child(parent):
def __init__(self,param):
parent.__init__(self,param)
self.v2=param
obj=child(100)
print(‘%d %d’ % (obj.v1,obj.v2))
A. 100 0
B. 0 100
C. 执行会报错
D. 100 100
正确答案: D
3. 下面哪个属性的命名是私有属性的正确命名( )。
A. value
B. value_
C. value
D. __value
正确答案: D
4.
定义类如下:
class A():
def a():
print(“a”)
class B ():
def b():
print(“b”)
class C():
def c():
print(c)
class D(A,C):
def d():
print(“d”)
d = D()
d.a()
d.b()
d.d()
以下程序能执行的结果是( )
A. a,b,d
B. 执行会报错
C. d,a
D. a,d
正确答案: B
对于Python类中的私有成员,可以通过“对象名._类名__私有成员名”的方式来访问。
A. 对
B. 错
正确答案: 对
Python支持多继承,如果父类中有相同的方法名,而在子类中调用时没有指定父类名,则Python解释器将从左向右按顺序进行搜索。
A. 对
B. 错
正确答案: 对
在面向对象程序设计中,函数和方法是完全一样的,都必须为所有参数进行传值。
A. 对
B. 错
正确答案: 错
在派生类中可以通过“基类名.方法名()”的方式来调用基类中的方法。
A. 对
B. 错
python操作文件的追加模式是_______。
A. a
B. +
C. r
D. w
正确答案: A
用写的方式打开一个文件,如果文件存在会被覆盖。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。以上说法是否正确?
A. 错误
B. 正确
正确答案: B
当对文件内容操作完以后,一定要关闭文件对象,这中论述是否正确。
A. 错误
B. 正确
正确答案: B
下列选项不能从文件中读取数据的是____。
A. seek
B. readlines
C.readline
D. read
___________类是所有异常类的父类
A. Throwable
B. Exception
C. Error
D. BaseException
正确答案: D
python中用来抛出异常的关键字是______
A. except
B. try
C. raise
D. finally
正确答案: C
当try语句中没有任何错误信息时,一定不会执行_____语句
A. try
B. else
C. finally
D. except
表单登录需要使用的请求方法是()
A. DELETE
B. PUT
C. POST
D. GET
正确答案: C
HTTP状态码类型描述错误的是()
A. 4XX表示客户端可能发生错误
B. 1XX表示请求已被服务器接收,无需后续处理
C. 5XX表示服务器可能发生错误
D. 3XX表示客户端的请求需采取进一步操作
正确答案: B
下列不属于HTTP请求过程的是()
A. 请求重定向
B. 超时设置
C. 生成请求
D. 搜索文档
正确答案: D
正确的爬虫开发流程是( )
A. 发送请求-解析网页内容-获取响应-保存数据
B. 发送请求-获取响应-保存数据-解析网页内容
C. 发送请求-获取响应-解析网页内容-保存数据
D. 获取响应-发送请求-解析网页内容-保存数据
正确答案: C
下列不属于HTTP头部类型的是()
A. 通用头
B. 回复头
C. 响应头
D. 请求头
正确答案: B
在Python程序中运行表达式123+‘xyz’,解释器将抛出_________错误信息。
A. NameError
B. SyntaxError
C. FileNotFoundError
D. TypeError
正确答案: D
在Python中假设字典d = {‘1’:’ male’, ‘2’:’ female’}, 如果语句中使用d[3],则解释器抛出______错误信息。
A. KeyError
B. SyntaxError
C. FileNotFoundError
D. TypeError
正确答案: A
以下关于程序异常的处理描述中,错误的是______.
A. 在try-except-else-finally结构中,不管是否会发生异常,都会执行finally子句中的代码
B. 一般不建议在try中放太多代码,而建议只放入可能会引发异常的代码
C. 在try-except-else结构中,如果try子句的语句引发了异常,则会执行else子句中的代码
D. 带有else子句的异常处理结构,如果不发生异常则执行else子句中的代码
正确答案: C
在异常处理中,如释放资源、关闭文件、关闭数据库等一般放在_____________来完成。
A. finally子句
B. except子句
C. try子句
D. raise子句
以下文件操作模式,哪一个模式不会创建新文件_______。
A. w
B. r
C. x
D. a
正确答案: B
变量从内存中变成可存储或传输的过程称之为_______。
A. 反序列化
B. 格式转换
C. 序列化
正确答案: C
获取当前目录的命令是哪一个?
A. listdir(path)
B. chdir(path)
C. getcwd()
二. 多选题
Python程序可以分解为
A. 模块
B. 语句
C. 表达式
D. 对象
正确答案: ABCD
标识符可以是下面哪些对象的名称:____.
A. 变量
B. 函数
C. 类
D. 模块
正确答案: ABCD
Python的注释语句有______和________.
A. #
B. ‘’‘’‘’
正确答案: AB
Python表达式是可以计算的代码片段,可以由______构成。
A. 操作数
B. 运算符
C. 小括号
D. 大括号
正确答案: ABC
Python语句的书写规则正确的是:_____.
A. 使用换行符分割;
B. 单独语句前面不能有空格;
C. \用于代码跨行的表示;
D. ;用于一行书写多条语句;
正确答案: ABCD
以下是Python内置序列类型的是:___.
A. 字符串
B. 元组
C. 字节序列
D. 列表
正确答案: ABCD
布尔值字面量包括:()。
A. True
B. False
C. TRUE
D. FALSE
正确答案: AB
整型字面量常见的进制表示有:()。
A. 十进制
B. 0x
C. 0o
D. ob
正确答案: ABCD
针对以下的函数,正确的函数调用有哪些?
def foo(arg1, arg2=‘test’, arg3=100):
print arg1, arg2, arg3
A.foo(arg1 = ‘where’, arg2 = ‘what’)
B. foo(‘where’,‘what’)
C. foo(arg = ‘where’)
D. foo(‘where’)
Python语句序列“s1=[1,2,3];s2=(‘a’,‘b’,‘c’,‘def’,);print(len(s1),len(s2))”是==(3,4) ==。
Python语句“print(tuple([1,2,3]),list([1,2,3]))”的运行结果为 (1, 2, 3) [1, 2, 3]。
序列数据类型包括字符串、字节数组、列表和 == 元组==。
Python语句序列“fruits={‘apple’:3,‘banana’:4,‘pear’:5};fruits[‘banana’]=7;print(sum(fruits.values()))”的运行结果是15 。
Python语句“print(set([1,2,1,2,3]))”的运行结果为=={1,2,3}==。
(填空题, 20分)Python语句print(len({}))的输出结果为0。
假设列表对象aList的值为[3, 4, 5, 6, 7, 9, 11, 13, 15, 17],那么切片aList[2:6]得到的值是== [5,6,7,9]==。
Python语句list(range(1,10,3))执行结果为== [1,4,7]==。
Python语句序列"s1=[1,2,3,4]; s2=[5,6,7];print(len(s1+s2))"
7
使用字典对象的== values( )==方法可以返回字典的“值”列表。
(1) print(type(names))
(2) print(names-s1)
(3) print(names | s1)
(4) names.remove(‘Daling’)
(5) s1.add(‘apple’)
Python语句print(set([1,2,1,2,3]))的结果是=={1, 2, 3}==。
使用字典对象的==items( )==方法可以返回字典的“键-值对”。
a = {1: “a”, 2: “b”, 3: “c”}
print(list(a)) 输出结果是==[1, 2, 3]==.
Python 语句nums = set([1,2,2,3,3,3,4]);print(len(nums))的输出结果是4。
程序如下:
d={‘a’:1,‘b’:2,‘c’:3}
print(d)
输出结果:
2
{‘a’: 1, ‘b’: 8, ‘c’: ‘3’}
(1) print(d[‘b’])
(2) d[‘b’]=8;d.update({‘b’:8})
1.
下列程序的输出结果是为
def gcd(m, n):
r = m % n
if r == 0:
return n
else:
r = m % n
return gcd(n, r)
print(gcd(15, 36))
3
2. 已知有函数定义 def demo(*p):return sum§,那么表达式 demo(1, 2, 3) 的值为______
我的答案:
15.0分
(1) 6
正确答案:
(1) 6
3. (填空题,15.0分)
已知 g = lambda x, y=3, z=5: x+y+z,那么表达式 g(2) 的值为________
(1) 10
(1) sys.path
3. (填空题,10.0分)在Python模块中定义的所有成员,包括变量、函数和类等,可以通过内置函数 进行查询
(1) dir()
(1) super().init();父类名.init();父类.init();基类名.init();基类.init()
3. ____是空语句,不具有任何意义,仅为了保持程序结构的完整性。
(1) pass
4. 在一个对象销毁的时候,可以____函数释放资源。
(1) del
5. 类由____、____、____三部分组成。
(1) 类名
(2) 属性
(3) 方法
6. ____代表类的实例对象。
(1) self
7. 要想将一个属性私有化,可以在属性名前面加上____________。
(1) 两个下划线;__
(1) a._A__value=10;a._A__value = 10
(1) assert
(1) with
2. 文件对象的______方法可以把文件指针移动到新的字节位置。
(1) seek
(1) import re;import re
(1) robots;ROBOTS;Robots
答案解析:
3. 如果网站需要提交数据,在向网站发送请求时应采用____请求方式。
(1) post;POST;Post
# 1. 定义一个学校人员类SchoolPerson,
#其中,属性:姓名name、性别sex、年龄age;
#方法:设置人员的各个属性的set_info方法;
#获取各属性值的get_info方法。
#定义好类以后,再定义2个人员进行测试。
class SchoolPerson(object):
def __init__(self , name , sex , age):
self.name = name
self.sex = sex
self.age = age
def get_info(self):
print("%s是%d的%s性"%(self.name,self.age,self.sex))
yufu = SchoolPerson("yufu","男",18)
yufu.get_info()
wufu = SchoolPerson("wufu","男",18)
wufu.get_info()
print(yufu)
#2.在第1个题的基础上添加两个方法:
#其中,init()方法,完成属性的初始化;
#del()方法,完成输出“__del__方法调用”这一句话(作用是用来销毁对象)。
class SchoolPerson(object):
def __init__(self, name, sex, age):
self.name = name
self.sex = sex
self.age = age
def get_info(self):
print("%s是%d的%s性" % (self.name, self.age, self.sex))
def __del__(self):
print("__del__方法调用")
yufu = SchoolPerson("yufu", "男", 18)
yufu.get_info()
wufu = SchoolPerson("wufu", "男", 18)
wufu.get_info()
#3、创建类MyMath,计算圆的周长、面积和球的表面积、体积,结果保留两位小数。若输入的是非数字,则输出:请输入数字!提示:要引入math包。
#例如,请输入半径:5
#圆的周长:31.42
#圆的面积:78.54
#球的表面积:314.16
import math as m
class MyMath(object):
x = 0.00
def __init__(self,r):
self.r = r
def getPerimeter(self):
print("%.2f"% (2*r*m.pi))
def getArea(self):
print("%.2f"% (m.pow(r,2)*m.pi))
def getSuperficialArea(self):
print("%.2f"% (4*m.pow(r,2)*m.pi))
def getVolume(self):
print("%.2f"% (4/3*m.pow(r,3)*m.pi))
while(True):
try:
r = float(input())
break
except:
print("请输入数字!")
one = MyMath(r)
#4.自定义类模拟三维向量及其运算。包括向量的加法、减法以及向量与标量的乘法和除法,并使用@property查看向量长度。
#例如,a=(x1,y1,z1),b=(x2,y2,z2)
#a+b=(x1+x2,y1+y2,z1+z2),a-b=(x1-x2,y1-y2,z1-z2)
#n=10,an=(x1n,y1n,z1n),a/n=(x1/n,y1/n,z1/n)
#a.length=(x12+y12+z12)0.5
c = []
class Vector(object):
x = 0
def __init__(self,a,b):
self.a = a
self.b = b
def add(self):
for i in range(3):
x = self.a[i]+self.b[i]
c.append(x)
print(c)
def subtraction(self):
for i in range(3):
x = self.a[i]-self.b[i]
c.append(x)
print(c)
def multiplication(self,n):
for i in range(3):
self.a[i] = self.a[i] * n
self.b[i] = self.b[i] * n
print(a)
print(b)
def division(self,n):
for i in range(3):
self.a[i] = self.a[i] / n
self.b[i] = self.b[i] / n
print(a)
print(b)
@property
def length_a(self):
l = 0
return self.x
@length_a.getter
def length_a(self):
for i in range(3):
l = self.a[i]**2+x
l = l**0.5
print("%d" % l)
@property
def length_b(self):
l = 0
return self.x
@length_b.getter
def length_b(self):
for i in range(3):
l = self.b[i] ** 2 + x
l = l ** 0.5
print("%d" % l)
a = []
b = []
for i in range(3):
x = int(input("请输入a"))
a.append(x)
for i in range(3):
y = int(input("请输入b"))
b.append(y)
ad = Vector(a,b)
ad.length_a
ad.add()
#5.设计一个摆放家具实例,要求
#1)房子(House) 有户型、总面积和家具名称列表(新房子没有任何的家具)
#2)家具(HouseItem)有名字和占地面积,其中席梦思(bed) 占地4平米、衣柜(chest) 占地2平米、餐桌(table) 占地1.5平米
#3)将以上三件家具添加到房子中
#4)打印房子时,要求输出:户型、总面积、剩余面积、家具名称列表
# 家具类
class HouseItem(object):
def __init__(self,name,area):
self.name = name
self.area = area
def __str__(self):
return "[%s] 占地 %.2f" % (self.name,self.area)
# 房子类
class House(object):
def __init__(self,house_type,area):
self.house_type = house_type
self.area = area
# 剩余面积
self.freeArea = area
# 家具名称列表
self.item_list = []
def __str__(self):
return ("户型: %s\n总面积: %.2f\n[剩余: %.2f]\n家具: %s" % (self.house_type,self.area,self.freeArea,self.item_list))
def add_item(self,item):
print("要添加 %s" % item)
if item.area > self.freeArea:
print("%s 的面积太大了,无法添加" %item.name)
return
self.item_list.append(item.name)
self.freeArea -= item.area
# 3创建家具
bed = HouseItem("席梦思",4)
chest = HouseItem("衣柜",2)
table = HouseItem("餐桌",1.5)
my_house = House("三室一厅",110)
my_house.add_item(bed)
print(my_house)
#6、设计一个三维向量类,并实现向量的加法、减法以及向量与标量的乘法和除法运算(要求重载__add__、sub、__mul__等方法)。
class Vecter3(object):
def __init__(self, x=0, y=0, z=0):
self.X = x
self.Y = y
self.Z = z
a = 0
b = 0
c = 0
def _add_(self, n):
a = self.X + n.X
b = self.Y + n.Y
c = self.Z + n.Z
print("向量和为(%d,%d,%d)"%(a,b,c))
def _sub_(self, n):
a = self.X - n.X
b = self.Y - n.Y
c = self.Z - n.Z
print("向量差为(%d,%d,%d)" % (a, b, c))
def _mul_(self, n):
a = self.X * n
b = self.Y * n
c = self.Z * n
print("向量积为(%d,%d,%d)" % (a, b, c))
def _truediv_(self, n):
a = self.X / n
b = self.Y / n
c = self.Z / n
print("向量除后为(%d,%d,%d)" % (a, b, c))
def show(self):
print(self.X, self.Y, self.Z)
a, b, c = map(int, input("请输入一个向量坐标:").split())
d, e, f = map(int, input("请输入另一个向量坐标:").split())
i = Vecter3(a, b, c)
j = Vecter3(d, e, f)
i._add_(j)
#7、 创建SchoolMem类,该类中包含三个数据成员:姓名、性别、年龄;创建Student类,继承自SchoolMem类,
#添加额外三个数据成员:班级、学号和数量统计;创建Teacher类,继承自SchoolMem类,
#添加额外三个数据成员:学院、工号和数量统计。要求给每个类适当添加属性、成员方法和特殊方法(如构造方法),实现学生和教师信息的输出,实现并测试这个类。
class SchoolMem(object):
def __init__(self,name,sex,age):
self.name = name
self.sex = sex
self.age = age
def get(self):
self.name = input("请输入名字")
self.age = int(input("请输入年龄"))
self.sex = input("请输入性别")
def __str__(self):
return ("%s是%d岁的%s性"% (self.name,self.age,self.sex))
class Teacher(SchoolMem):
def __init__(self):
self.college = None
self.jn = None
self.qs = 0
def get(self):
super().get()
self.college = input("请输入学院")
self.jn = input("请输入工号")
self.qs += 1
def __str__(self):
return ("%s老师是一位%d岁的%s性,在%s工作,工号是%s,这是第%d位老师") % (self.name,self.age,self.sex,self.college,self.jn,self.qs)
class Student(SchoolMem):
def __init__(self):
self.cag = None
self.sn = None
self.qs = 0
def get(self):
super().get()
self.cag = input("请输入班级")
self.sn = input("请输入学号")
self.qs += 1
def __str__(self):
return ("%s是一位%d岁的%s性,在%s,学号是%s,这是第%d位学生") % (self.name,self.age,self.sex,self.cag,self.sn,self.qs)
yufu = Student()
yufu.get()
print(yufu)
#8、设计一个车类,属性:车的类型、车的速度,分别再建立两个子类:小汽车类、电动汽车类去继承车类,为了实现汽车增加能源的方式,
#在父类中添加 一个增加能源方法 increased_energy() ,通过汽车对象不同分别实现小汽车类加 油、电动汽车充电的实现。
class Vehicle:
def __init__(self, v_type, speed):
self.type = v_type
self.speed = speed
self.energy = None
def increased_energy(self):
self.energy = input("补充能源的方式:")
class Car(Vehicle):
def __str__(self):
return "类型:%s\n速度:%s千米每小时\n补充能源方式:%s" % (self.type, self.speed, self.energy)
class Tram(Vehicle):
def __str__(self):
return "类型:%s\n速度:%s千米每小时\n补充能源方式:%s" % (self.type, self.speed, self.energy)
car = Car("小汽车", 120)
print("小汽车", end='')
car.increased_energy()
print(car)
tram = Tram("电动汽车", 70)
print("电动汽车", end='')
tram.increased_energy()
print(tram)
#编写程序,创建文件data.txt,共100行,第n行存放[100(n-1), 100*n)之间的素数。*
import random
f = open(“D:\实验\Python实验\实验五\data.txt”, “w+”)
str1 = “”
str2 = “”
for i in range(100):
for j in range(100*(i-1), 100*i):
if j < 2:
pass
else:
for k in range(2, j):
if j % k == 0:
break
else:
str2 = str(j) + " "
str1 = str1 + str2
str2 = “”
f.write(str1 + “\n”)
str1 = “”
f.seek(0, 0)
print(f.read())
f.close()
#1 自己定义一个异常类,继承Exception类, 捕获下面的过程:判断input()输入的字符串长度是否小于5,
#如果小于5,比如输入长度为3则输出:"The input is of length 3, expecting at least 5“,大于5则输出"success”。
class StrLenException(Exception)
def __init__(self, length):
self.length = length
def __str__(self):
if self.length > 5:
return "success"
try:
string = input()
if len(string) > 5:
exc = StrLenException(len(string))
print(exc)
else:
raise StrLenException(len(string))
except StrLenException:
print("The input is of length " + str(len(string)) + ", expecting at least 5")
#编写程序,要求从键盘输入三个数字(整形或者浮点型),判断这三个数字是否能构成一个三角形。如果可以构成一个三角形,则计算三角形的周长
#1)自定义异常类IllegalArgumentException,对应异常信息为:“a,b,c不能构成三角形”
#2)自定义异常类IllegalArgLenException,对应异常信息为:“参数个数不正确”
#3)确保键盘输入的是三个值,如果输入值不为3,则抛出IllegalArgLenException异常。
#4)确保输入是数字类型,否则抛出类型错误异常。
#5)如果输入的三个数不能构成三角形则抛出IllegalArgumentException异常.如果可以构成则显示三角形三个边长,并计算并打印它的周长。
#6)不管是否发生异常,程序都会在处理完毕后显示"程序运行结束"。
class IllegalArgumentException(Exception):
def __init__(self):
pass
def __str__(self):
return "a,b,c不能构成三角形"
class IllegalArgLenException(Exception):
def __init__(self):
pass
def __str__(self):
return "参数个数不正确"
class TypeError(Exception):
def __init__(self):
pass
def __str__(self):
return "你输入的不是数字类型"
def triangle(a, b, c):
if a <= 0 or b <= 0 or c <= 0:
print("三角形的边必须大于0")
raise IllegalArgumentException
elif a+b <= c or b+c <= a or c+a <= b:
print('两边之和应该大于第三边')
raise IllegalArgumentException
else:
print("输入的三条边符合三角形的规则")
print("%.2f %.2f %.2f" % (a, b, c))
print("%.2f" % (a+b+c))
try:
a = input("请输入边长a:")
b = input("请输入边长b:")
c = input("请输入边长c:")
if a == None or b ==None or c == None:
raise IllegalArgLenException
if not a.isdigit() or not b.isdigit() or not c.isdigit():
raise TypeError
else:
triangle(float(a), float(b), float(c))
except IllegalArgumentException as l:
print(l)
except IllegalArgLenException as a:
print(a)
finally:
print("程序运行结束")