凭记忆记得 不全 -_-

笔试题部分:

1 python是如何定义函数的:

首先回答什么是函数:即 把具有独立功能的代码块组织为一个小模块 这就是函数
定义函数的格式如下:
def 函数名():
代码

demo:

# 定义一个函数 能够完成打印信息的功能
def printInfo():print ('----------------------')
# 调用函数
printInfo()

注意:

  • 每次调用函数时,函数都会从头开始执行,当这个函数中的代码执行完毕后,意味着调用结束
  • 函数中执行到return 也会结束函数
2 输出下面的代码结果是什么?
class Parent(object):x = 1
class Child1(Parent):pass
class Child2(Parent):pass
print Parent.x ,Child1.x,Child2.x
Child1.x=2
print Parent.x ,Child1.x,Child2.x
Child2.x=3
print Parent.x ,Child1.x,Child2.x

答案为:

1 1 1 # 继承自父类的属性x,所以都一样,指向的视同一块内存地址
1 2 1 # 更改Child1 Child1 指向新的内存地址
3 2 3 # 更改Parent, Parent 的x 指向的是新的内存地址
3 装饰器的功能是什么?请举例

装饰器 本身是一个函数 作用是为现有存在的函数 在不改变函数的基础上去增加一些功能进行装饰
装饰器实际是一个函数 这个函数以闭包的形式定义
在使用装饰器函数的时候 在被装饰的函数第一行 使用**@装饰器函数名**形式来装饰
实例应用:
例如: 现在一个项目中有很多函数,由于项目越来越大 功能越来越多 导致程序越来越慢 其中一个功能函数功能 实现一百万次的累加

def my_count():s = 0 for i in range(1000001):s += 1 print('sum:',s)

现在计算一下函数的运行时间,如何解决?如何能应用到所有函数上?

解决方法1

start = time.time()
my_count()
end = time.time()
print('共执行:%s 秒'%(end-start)) # 使用%d显示,取整后是0秒 因为不到一秒

这种方式实现起来比较简单 只在一个函数中没问题 但是有1000个函数的话,异常恐怖 多出三千行

解决方法2

def count_time(func):start = time,time()func()end = time.time()print('共执行:s%秒‘%(end-start))count_time(my_count)

这种方法是通过定义一个函数来实现计算时间的功能 通过传参 将需要计算的函数传递进去 进行计算 相对而言 好很多
但是 在使用的时候 还是需要将函数传入到时间的计算函数中

解决方法3

在不影响函数原来的使用方式,而又能实现计算的功能

def count_time(func):def wrapper():start = time.time()func()end = time.time()print('共计执行:%s 秒'%(end - start)) # 使用%d显示,取整后是0秒,因为不到一秒return warpper
my_count = count_time()
my_count()

此方法是通过闭包的形式来进行定义实现的需求

解决方法4

import time
def count_time(func):def warpper():start = time,time()func()end = time.time()print('共计执行:%s 秒'%(end - start)) # 使用%d显示,取整后是0秒,因为不到一秒return warpper
@count_time
def my_count():s = 0 for i in range(1000001):s += 1 print('sum:'s)my_count()
4 定义全局变量

中航国信面试题之总结相关推荐

  1. 2013年10月15日到 2013年11月15日就业明细花名册

    源文出处:http://www.sinojava.com/webRoot/jyxb/20131128110946.htm 姓名 工丶作丶单丶位 王×× SAP(北京)公司 马×× 北京百游汇通网络技术 ...

  2. 循环n阶三角形 国信蓝点试题

    #include<stdio.h> #include<string.h> #include<malloc.h> int p[15][15]; int temp=0; ...

  3. 第二届2011年国信蓝点杯软件设计大赛预赛的试题8

    package four; import java.util.Scanner; /*  * 在实际的开发工作中,对字符串的处理是最常见的编程任务.本题目即是要求程序对用户输入的串进行处理.具体规则如下 ...

  4. 第二届2011年国信蓝点杯软件设计大赛预赛的试题3

    package four; /*  * 反转的串 解决同一个问题往往有许多方法.小刚很喜欢别出心裁.一天他在纸上草草写了一段程序,实现了把串s中的内容反转后放入s2的功能.也就是说,s2最后的内容变成 ...

  5. 第二届2011年国信蓝点杯软件设计大赛预赛的试题6

    package four; import java.util.Scanner; /*  * 猜数字 很多人都玩过这个游戏:甲在心中想好一个数字,乙来猜.每猜一个数字,甲必须告诉他是猜大了,猜小了,还是 ...

  6. 第二届2011年国信蓝点杯软件设计大赛预赛的试题7

    package four; import java.util.ArrayList; import java.util.List; /*  * 基因牛 张教授采用基因干预技术成功培养出一头母牛,三年后, ...

  7. 第二届2011年国信蓝点杯软件设计大赛预赛的试题4

    package four; import java.util.ArrayList; import java.util.List; /*  * 最近距离 已知平面上的若干点的位置,存入一个List中.现 ...

  8. 第二届2011年国信蓝点杯软件设计大赛预赛的试题1

    package four; /*  * 计算蔬菜总价  为了丰富群众菜篮子,平抑菜价,相关部分组织了蔬菜的调运.今某箱中有多个品种的蔬菜.蔬菜的单价(元/公斤)存放在price数组中,蔬菜的重量(公斤 ...

  9. 第二届2011年国信蓝点杯软件设计大赛预赛的试题2

    package four; /*  * 计算行程 低碳生活,有氧运动.骑自行车出行是个好主意.小明为自己的自行车装了个计数器,可以计算出轮子转动的圈数.在一次骑车旅行中,出发时计算器的示数为begin ...

最新文章

  1. codeforces 拼手速题2
  2. Sql Server2005性能
  3. php可以更改html后缀名嘛,请问你们怎么将html的文件的内容改变为php
  4. 20150430 调试分析之 根据内核报错信息栈信息分析错误
  5. 计算机三级学科及代码,《学科分类及代码》.doc
  6. 主成分分析法的SPSS操作
  7. IE Tab Plus 安装设置说明
  8. 无线AP与无线路由的区别
  9. 采样准则(时间采样与采样频率)的选取
  10. WinForm自定义分页控件实现Datagridview分页效果附引用Demo
  11. TikZ绘图示例——尺规作图:过直线外一点作给定直线的平行线
  12. 修改.srt格式字幕文件
  13. android远程控制(三)----通过后台服务实现系统点击事件模拟
  14. 积分域为椭球的三重积分的求解方式----广义的极坐标变换
  15. JavaScript 测试题 (2021-6-21)
  16. 基于howler.js开发的音乐播放器
  17. 网心科技获得深圳市“专精特新”中小企业认定
  18. java计算机毕业设计驾校管理系统MyBatis+系统+LW文档+源码+调试部署
  19. python蒙特卡洛方法圆周率_python实现蒙特卡罗方法教程
  20. 高考数学题目:导数及其简单应用

热门文章

  1. 【AD封装】VGA视频座子,RJ11座子(带3D)
  2. z390能装2012服务器系统,z390主板能装win7吗?主流z390主板装win7系统bios设置方法...
  3. python最小二乘法拟合直线
  4. 中科院计算机学院王宏,王宏安-中国科学院大学-UCAS
  5. 基于物联网的自动灌溉系统的设计与实现
  6. Web3中文|零知识证明正在改变以太坊的游戏规则
  7. 车辆违章查询系统-基于Python-Django后端渲染项目
  8. CAD中如何将默认保存格式为dxf格式?
  9. 阿里云国际代理商:阿里云AI城市大脑项目在九江启动运行
  10. 这群猪,QQ群一共就15人,14个管理员,然后我被禁言了