中航国信面试题之总结
凭记忆记得 不全 -_-
笔试题部分:
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 定义全局变量
中航国信面试题之总结相关推荐
- 2013年10月15日到 2013年11月15日就业明细花名册
源文出处:http://www.sinojava.com/webRoot/jyxb/20131128110946.htm 姓名 工丶作丶单丶位 王×× SAP(北京)公司 马×× 北京百游汇通网络技术 ...
- 循环n阶三角形 国信蓝点试题
#include<stdio.h> #include<string.h> #include<malloc.h> int p[15][15]; int temp=0; ...
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题8
package four; import java.util.Scanner; /* * 在实际的开发工作中,对字符串的处理是最常见的编程任务.本题目即是要求程序对用户输入的串进行处理.具体规则如下 ...
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题3
package four; /* * 反转的串 解决同一个问题往往有许多方法.小刚很喜欢别出心裁.一天他在纸上草草写了一段程序,实现了把串s中的内容反转后放入s2的功能.也就是说,s2最后的内容变成 ...
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题6
package four; import java.util.Scanner; /* * 猜数字 很多人都玩过这个游戏:甲在心中想好一个数字,乙来猜.每猜一个数字,甲必须告诉他是猜大了,猜小了,还是 ...
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题7
package four; import java.util.ArrayList; import java.util.List; /* * 基因牛 张教授采用基因干预技术成功培养出一头母牛,三年后, ...
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题4
package four; import java.util.ArrayList; import java.util.List; /* * 最近距离 已知平面上的若干点的位置,存入一个List中.现 ...
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题1
package four; /* * 计算蔬菜总价 为了丰富群众菜篮子,平抑菜价,相关部分组织了蔬菜的调运.今某箱中有多个品种的蔬菜.蔬菜的单价(元/公斤)存放在price数组中,蔬菜的重量(公斤 ...
- 第二届2011年国信蓝点杯软件设计大赛预赛的试题2
package four; /* * 计算行程 低碳生活,有氧运动.骑自行车出行是个好主意.小明为自己的自行车装了个计数器,可以计算出轮子转动的圈数.在一次骑车旅行中,出发时计算器的示数为begin ...
最新文章
- codeforces 拼手速题2
- Sql Server2005性能
- php可以更改html后缀名嘛,请问你们怎么将html的文件的内容改变为php
- 20150430 调试分析之 根据内核报错信息栈信息分析错误
- 计算机三级学科及代码,《学科分类及代码》.doc
- 主成分分析法的SPSS操作
- IE Tab Plus 安装设置说明
- 无线AP与无线路由的区别
- 采样准则(时间采样与采样频率)的选取
- WinForm自定义分页控件实现Datagridview分页效果附引用Demo
- TikZ绘图示例——尺规作图:过直线外一点作给定直线的平行线
- 修改.srt格式字幕文件
- android远程控制(三)----通过后台服务实现系统点击事件模拟
- 积分域为椭球的三重积分的求解方式----广义的极坐标变换
- JavaScript 测试题 (2021-6-21)
- 基于howler.js开发的音乐播放器
- 网心科技获得深圳市“专精特新”中小企业认定
- java计算机毕业设计驾校管理系统MyBatis+系统+LW文档+源码+调试部署
- python蒙特卡洛方法圆周率_python实现蒙特卡罗方法教程
- 高考数学题目:导数及其简单应用
热门文章
- 【AD封装】VGA视频座子,RJ11座子(带3D)
- z390能装2012服务器系统,z390主板能装win7吗?主流z390主板装win7系统bios设置方法...
- python最小二乘法拟合直线
- 中科院计算机学院王宏,王宏安-中国科学院大学-UCAS
- 基于物联网的自动灌溉系统的设计与实现
- Web3中文|零知识证明正在改变以太坊的游戏规则
- 车辆违章查询系统-基于Python-Django后端渲染项目
- CAD中如何将默认保存格式为dxf格式?
- 阿里云国际代理商:阿里云AI城市大脑项目在九江启动运行
- 这群猪,QQ群一共就15人,14个管理员,然后我被禁言了