上海python什么时候考试_上海python14期第二次阶段性考试

上海python14期第二次阶段考

1 介绍

满分80分

考试范围:

基础题

机试题

考试时间:

周日:

上午8:30点-12:00点

下午2:00点-6:00点

2 基础题(60分)

1.写代码是要避免循环导入,什么是循环导入?

答:a导入了b模块,b又导入了a模块

用的时候可以在局部导入,不在全局中使用,避免循环导入

2.模块的搜索顺序

答: 1、使用纯python代码编写的Py文件

2、包含一系列模块的名

3、使用C编写并链接到python解释器中的内置模块

4、使用C或C++编译的扩展模块

3.以下代码什么时候使用

```python

if __name__ == "__main__":

print("test")

```

答:运行文件时用

4.什么是面向过程编程思想?

答:解决问题的步骤,即先干什么再干什么,基于面向过程开发程序就好比在设计一条流水线,是一种机械式的思维方式。

5.有如下变量 请使用hashlib 为其加密 并 加盐

答:import hashlib

Str = ‘hello word’

Md5 = hashlib.md5()

Md5.update(password.encode(‘utf-8’))

Salt = ‘一二三四五‘

Md5.update(salt.encode(‘utf-8))

6.判断一个对象是否属于str类型,判断一个类是否是另外一个类的子类?

答:用__dict__

7.定义一个老师类,定制打印对象的格式为‘’

class Teacher:

def __init__(self,name,age,sex):

self.name = name

self.age = age

self.sex = sex

def __call__(self, *args, **kwargs):

print(''%(self.name,self.age,self.sex))

teacher = Teacher('egon',18,'mela')

teacher()

8.定义一个自己的open类,控制文件的读或写,在对象被删除时自动回收系统资源

答:

9.什么是反射?反射的4个方法分别是什么?分别的作用是什么?

答:在程序运行过程中可以’动态‘获取对象信息

四种方法:hasatter 判断有无属性

getattr

得到获取属性

setattr

修改

delattr

删除

10.property的作用是什么,简述内部实现原理

答:伪装成对象的数据属性,对象在访问该属性时会触发功能执行,保证了属性访问的一致性。

11.__str__的作用是什么?

答:在打印对象时会自动触发,然后将返回值(必须是字符串类型)当做本次打印的结果。

12.学生类与,教师类同时拥有,姓名,性别,年龄三个属性,老师类比学生类多一个工资属性,请编写代码以减少重复代码!

答:class Base: #定义一个父类,下面继承父类

def __init__(self,name,age,sex):

self.name

= name

self.age

= age

self.sex

= sex

class

Student(Base):

pass

class

Teacher(Base):

def

__init__(self,salary):

self.salary

= salary

13.封装就等于隐藏这种说法是否正确,为什么?

答:仅仅只是一种变形操作,在类外部无法直接访问,但知道了类名和属性就可以拼出名字访问了!

14.类中的

__getattr__ 方法什么时候被执行?

答:获取属性时运行

15.什么是抽象类?

答:不能正常实例化

16.OSI七层网路协议分别是哪些 ?

物理层,数据链路层,网络层,传输层,会话层,表示层,应用层

17.以太协议,IP协议,TCP/UDP协议,分别工作在哪些层

答:IP工作在网络层,TCP/UDP工作在传输层

18.端口号用于标识什么?

答:标识全世界范围内独一无二的一个基于肉络通信的应用程序

19.简述三次握手与四次挥手的经历

答:三次握手:第一次:客户端发请求给服务端,第二次:服务端听到请求,然后发个确认给客户端,第三次,客户端确认传输。

四次挥手:第一次:客户端请求断开连接,第二次:服务端确认请求并准备断开连接,第三次:服务端关闭连接并通知客户端,第四次,客户端确认关闭。

20.什么是面向对象编程思想?

答:核心是‘整合‘二字,就是把数据与功能整合到一起的产物。

21.什么是面向对象三大特性?分别的作用是什么?

答:封装:把数据与功能都整合到一起

继承:是一种创建新类的方式,新建的类可以继承一个或多个父类

多态:指的是一类事物有多种形态

22.__getattr__在什么时候触发?

答:调用时触发

23.__getattrubite__在什么时候触发?

答:

24.__call__在什么时候触发?

答:如果想让一个对象可以加括号调用,需要在该对象类中添加__call__方法!

25.什么是元类?

答:就是用来实例化产生类的类

26.如何用元类控制类的创建,请写代码?

答:class People;

def __init__(self,name,age):

self.name = name

self.age = age

def say(self):

print(‘%s;%s’%(self.name,self.name))

print(People.__dict__)

obj=调用类()

obj=People(‘egon’,18)

print(type(obj))

27.对象的绑定方法、类的绑定方法与静态方法的区别是什么?

答:@classmethod后该函数就绑定到了类,绑定到类的方法就是专门给类用的,对象也可以调用,只不过自动传入的第一个参数仍然是类

@staticmdthod 为非绑定方法,也称为静态方法,是一个普通函数,因而没有自己传值那么一说

28.对象的属性查找顺序是什么?

答:对象-à类—>父类

29.什么是新式类?什么是经典类?

答:经典类是:深度优先

新式类是:广度优先

30.Python面向对象中的多继承的继承关系如何查找?

答:1、子类会先于父类被栓查

2、多个父类会根据它们在列表中的顺序被检查

3、如果对下一个类存在两个合法的选择,选择第一个父类

3机试题(60分)

- 选课系统

1、管理员功能

- 登录(2分)

- 注册(2分)

- 创建学校(5分)

- 创建课程(5分)

- 创建老师(5分)

2、学生功能

-

登录(2分)

- 注册(2分)

- 选择学校(5分)

- 选择课程(5分)

- 查看分数(5分)

3、老师功能

- 登录(2分)

- 查看教授课程(5分)

- 选择教授课程(5分)

- 查看课程下学生(5分)

- 修改分数(5分)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值