python面试代码题_python面试基础篇80题

1.为什么学习python?

1354843-20181003205121560-366216330.png

3.Python和Java、PHP、C、C#、C++等其他语言的对比?

C语言由于其底层操作特性和历史的积累,在嵌入式领域是当之无愧的王者。

PHP跨平台,性能优越,跟linux/unix结合比跟windows结合性能强45%,开发成本低,php5已经有

成熟的面向对象体系,适合开发大型项目淘宝网,Yahoo,163,sina等等大型门户,很多选用

PHP来作为他们的开发语言。

JAVA的优点:1.简单性 2.面向对象性(面向对象的程度可以达到95%)3.健壮性4.跨平台性

5.高性能(自动垃圾回收机制) 6.多线程 7.动态性 8.安全性

========================================================================

4.简述解释型和编译型编程语言

1354843-20181003205432483-1527411591.png

5.python解释器种类及其特点

cpython:这个解释器是用C语言开发的,所以叫cpython,在命名行下运行python,就是启动cpython

解释器,cpython是使用最广的python解释器。

jython:jython是运行在java平台上的python解释器,可以直接把python代码编译成java字节码执行。

Ipython:Ipython是基于cpython智商的一个交互式解释器,也就是说,Ipython只是在交互方式上

有所增强,但是执行python代码的功能和cpython是完全一样的,好比很多国产浏览器虽然外观

不同,但内核其实调用了IE。

6.位和字节的关系

1354843-20181004122444692-1788627174.png

7.b、B、KB、MB、GB 的关系?

1354843-20181004122454033-1743192628.png

8.请至少列举5个 PEP8 规范(越多越好)。

1354843-20181003210417195-1381242469.png

9.通过代码实现如下转换:

上课补充的代码转换

print(bin(3)) #十进制转成二进制,0b11

print(oct(8)) #十进制转成八进制,0o10

print(10) #10

print(hex(16)) #十进制转成十六进制,0x10

二进制转换成十进制:v = “0b1111011”

#先将其转换为字符串,再使用int函数,指定进制转换为十进制。

print(int("0b1111011",2))

#值为123

十进制转换成二进制:v = 18

print("转换为二进制为:", bin(18))

#转换为二进制为: 0b10010

八进制转换成十进制:v = “011”

print(int("011",8))

十进制转换成八进制:v = 30

print("转换为八进制为:", oct(30))

#转换为八进制为: 0o36

十六进制转换成十进制:v = “0x12”

print(int("0x12",16))

#18

十进制转换成十六进制:v = 87

print("转换为十六进制为:", hex(87))

转换为十六进制为: 0x57

10.请编写一个函数实现将IP地址转换成一个整数。

如 10.3.9.12 转换规则为:

10 00001010

3 00000011

9 00001001

12 00001100

再将以上二进制拼接起来计算十进制结果:00001010 00000011 00001001 00001100 = ?

11.python递归的最大层数?

1354843-20181003210029762-1728050027.png

12.求结果:

v1 = 1 or 3

v2 = 1 and 3

v3 = 0 and 2 and 1
v4 = 0 and 2 or 1v5 = 0 and 2 or 1 or 4
v6 = 0 or Flase and 1

这题不会

13.ascii、unicode、utf-8、gbk 区别?

1354843-20181003210843709-1267799954.png

1354843-20181003210904572-1294312495.png

14.字节码和机器码的区别?

字节码

字节码是一种中间码

字节码通常指的是已经经过编译,但与特定机器码无关,需要直译器转译后才能成为机器码的中间代码。字节码通常不像源码一样可以让人阅读,而是编码后的数值常量、引用、指令等构成的序列。

字节码主要为了实现特定软件运行和软件环境、硬件环境无关。字节码的实现方式是通过编译器和虚拟机器。编译器将源码编译成字节码,特定平台上的虚拟机器将字节码转译为可以直接执行的指令。字节码的典型应用为Java语言。

总结:字节码是一种中间状态(中间码)的二进制代码(文件)。需要直译器转译后才能成为机器码。

15.三元运算规则以及应用场景?

1354843-20181004094716262-1691452279.png

16.列举 Python2和Python3的区别?

pass

17.用一行代码实现数值交换:

a = 1

b = 2

a,b=b,a

print(a,b) #a=2,b=1

18.Python3和Python2中 int 和 long的区别?

long整数类型呗python3废弃,统一使用int

19.xrange和range的区别?

20.文件操作时:xreadlines和readlines的区别?

二者使用时相同,但返回类型不同,xreadlines返回的是一个生成器,readlines返回的是list

21.列举布尔值为False的常见值?

0 空 none

22.字符串、列表、元组、字典每个常用的5个方法?

1354843-20181004095124561-1088394634.png

23.lambda表达式格式以及应用场景?

1354843-20181004095317040-229167258.png

24.pass的作用?

1354843-20181004095610508-666307887.png

25.*arg和**kwarg作用

1354843-20181004095710480-1071378682.png

26.is和==的区别

is对比的是值,==对比的是内存地址

未完待续

27.简述Python的深浅拷贝以及应用场景?

待整理

28.python垃圾回收机制

1354843-20181004100732188-518055138.png

29.Python的可变类型和不可变类型?

python的每个对象分为可变和不可变

可变:列表,字典

不可变:数字,字符串,元祖

对不可变类型的变量重新赋值,实际上是重新创建一个不可变类型的对象,并将原来的变量重新指向新创

建的对象(如果没有其他变量引用原有对象的话(即引用计数为0),原有对象就会被回收)。

不可变类型

30.求结果

未完待续

31.

未完待续

32.列举常见的内置函数

33.filter、map、reduce的作用?

34.一行代码实现9*9乘法表

35.如何安装第三方模块?以及用过哪些第三方模块?

36.至少列举8个常用模块都有那些?

37.re的match和search区别?

1354843-20181004121001437-222119876.png

38.什么是正则的贪婪匹配?

39.求结果:
 a. [ i % 2 for i in range(10) ]
 b. ( i % 2 for i in range(10) )

40.求结果:
 a. 1 or 2
 b. 1 and 2
 c. 1 < (2==2)
 d. 1 < 2 == 2

41.def func(a,b=[]) 这种写法有什么坑?

42.如何实现 “1,2,3” 变成 [‘1’,’2’,’3’] ?

1354843-20181004120851517-1067383699.png

43.如何实现[‘1’,’2’,’3’]变成[1,2,3] ?

1354843-20181004120901575-761363455.png

44.比较: a = [1,2,3] 和 b = [(1),(2),(3) ] 以及 b = [(1,),(2,),(3,) ] 的区别?

45.如何用一行代码生成[1,4,9,16,25,36,49,64,81,100] ?

1354843-20181004120720272-2002732074.png

46.一行代码实现删除列表中重复的值 ?

1354843-20181004120737511-1856010212.png

47.如何在函数中设置一个全局变量 ?

48.logging模块的作用?以及应用场景?

通过log的分析,可以方便用户了解系统或软件、应用的运行情况;如果你的应用log足够丰富,

也可以分析以往用户的操作行为、类型喜好、地域分布或其他更多信息;如果一个应用的log同

时也分了多个级别,那么可以很轻易地分析得到该应用的健康状况,及时发现问题并快速定位、

解决问题,补救损失。简单来讲就是,我们通过记录和分析日志可以了解一个系统或软件程序

运行情况是否正常,也可以在应用程序出现故障时快速定位问题。比如,做运维的同学,在接

收到报警或各种问题反馈后,进行问题排查时通常都会先去看各种日志,大部分问题都可以在

日志中找到答案。再比如,做开发的同学,可以通过IDE控制台上输出的各种日志进行程序调

试。对于运维老司机或者有经验的开发人员,可以快速的通过日志定位到问题的根源。可见,

日志的重要性不可小觑。日志的作用可以简单总结为以下3点:

程序调试

了解软件程序运行情况,是否正常

软件程序运行故障分析与问题定位

如果应用的日志信息足够详细和丰富,还可以用来做用户行为分析,如:分析用户的操作行为、

类型洗好、地域分布以及其它更多的信息,由此可以实现改进业务、提高商业利益。

logging模块默认定义了以下几个日志等级,它允许开发人员自定义其他日志级别,但是这是不

被推荐的,尤其是在开发供别人使用的库时,因为这会导致日志级别的混乱。

1354843-20181006062658735-636895996.png

开发应用程序或部署开发环境时,可以使用DEBUG或INFO级别的日志获取尽可能详细的日志信息来进行开发或部署调试;

应用上线或部署生产环境时,应该使用WARNING或ERROR或CRITICAL级别的日志来降低机器的I/O压力和提高获取错误

日志信息的效率。日志级别的指定通常都是在应用程序的配置文件中进行指定的。

1354843-20181006062757660-2026825447.png

49.请用代码简答实现stack 。

50.常用字符串格式化哪几种?

51.简述 生成器、迭代器、可迭代对象 以及应用场景?

52.用Python实现一个二分查找的函数。

nums=[1,3,7,11,22,34,55,78,111,115,137,149,246,371]

def search(search_num,nums):

print(nums)

if len(nums) == 0:

print('not exists')

return

mid_index=len(nums) // 2

if search_num > nums[mid_index]:

# in the right

nums=nums[mid_index+1:]

search(search_num,nums)

elif search_num < nums[mid_index]:

# in the left

nums=nums[:mid_index]

search(search_num,nums)

else:

print('find it')

search(31,nums)

53.谈谈你对闭包的理解?

54.os和sys模块的作用?

1354843-20181004120204404-1518289498.png

55.如何生成一个随机数?

1354843-20181004120214255-2085586000.png

56.如何使用python删除一个文件?

1354843-20181004120224726-2063812532.png

57.谈谈你对面向对象的理解?

58.Python面向对象中的继承有什么特点?

59.面向对象深度优先和广度优先是什么?

60.面向对象中super的作用?

1354843-20181004121203528-456437132.png

61.是否使用过functools中的函数?其作用是什么?

62.列举面向对象中带爽下划线的特殊方法,如:__new__、__init__

63.如何判断是函数还是方法?

函数:函数是封装了一些独立的功能,可以直接调用,python内置了许多函数,同时可以自建函数

来使用。

方法:方法和函数类似,同样封装了独立的功能,但是方法是需要通过对象来调用的,表示针对

这个对象要做的操作,使用时采用点方法。

64.静态方法和类方法区别?

1354843-20181004121303495-444097685.png

65.列举面向对象中的特殊成员以及应用场景

1354843-20181004121422436-633887991.png

66.1、2、3、4、5 能组成多少个互不相同且无重复的三位数

67.什么是反射?以及应用场景?

1354843-20181004121500207-832230453.png

68.metaclass作用?以及应用场景?

69用尽量多的方法实现单例模式。

70.装饰器的写法以及应用场景。

装饰器的写法待补充

1354843-20181004121647050-1735044548.png

71.异常处理写法以及如何主动跑出异常(应用场景)

72.什么是面向对象的mro

73.isinstance作用以及应用场景?

74.写代码并实现:

Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would

have exactly one solution, and you may not use the same element twice.

Example:

Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,

return [0, 1]

75.json序列化时,可以处理的数据类型有哪些?如何定制支持datetime类型?

76.json序列化时,默认遇到中文会转换成unicode,如果想要保留中文怎么办?

不理解

1354843-20181004122151576-1118019120.png

77.什么是断言?应用场景?

78.有用过with statement吗?它的好处是什么?

79.使用代码实现查看列举目录下的所有文件。

80.简述 yield和yield from关键字。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/457920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javascript 变量作用域

为什么80%的码农都做不了架构师&#xff1f;>>> javascript中的变量的作用域不同于java/c的变量规则。 1、在java/c中&#xff0c;如果有一个全局变量与一个局部变量重名&#xff0c;那么在局部变量的作用域中&#xff0c;局部变量会覆盖掉全局变量的值。当离开局部…

七月算法--12月机器学习在线班-第五次课笔记—回归

七月算法--12月机器学习在线班-第五次课笔记—回归 七月算法&#xff08;julyedu.com&#xff09;12月机器学习在线班学习笔记 http://www.julyedu.com 转载于:https://www.cnblogs.com/sweet-dew/p/5491271.html

公司网络搭建及×××到公司配置

一、公司路由器及子网配置公司192.168.1.0/24子网用于服务器集群&#xff0c;192.168.0.0/24子网用于办公子网&#xff0c;两个子网物理上不在一块。公司开业时&#xff0c;申请了电信40Mbps专线光纤&#xff0c;5个IP地址&#xff0c;网关&#xff1a;*.168.112.9 255.255.25…

蓝鸥零基础学习HTML5第五讲 CSS的基础样式

蓝鸥零基础学习HTML5第五讲 CSS的基础样式1.border<!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><title>Document</title><style>div {width:0px;height:0px;/*background: url("img/1.jpg…

C# 使用Conditional特性而不是#if条件编译

概述 #if/#endif 语句常用来基于同一份源码生成不同的编译结果&#xff0c;其中最常见的就是debug版和release版。但是这些工具在实际应用中并不是非常友好&#xff0c;因为它们容易被滥用&#xff0c;其代码页进而难以理解或调试。C#设计中考虑到这个问题&#xff0c;并提供了…

python安装opencv出现错误_Python3安装OpenCV出错,如何解决?

$ sudo pip install opencv-python $ sudo pip install opencv-contrib-python 参考下&#xff1a;python作业毕设&#xff1a;安装人工智能图像处理工具OpenCV​zhuanlan.zhihu.compython版本安装 适合所有平台&#xff1a; $ sudo pip install opencv-python $ sudo pip inst…

ioread32函数有关知识

x86体系和ARM体系的寻址方式是有差别的&#xff1a; 在x86下&#xff0c;为了能够满足CPU高速地运行&#xff0c;内存与CPU之间通过北桥相连并通过地址方式访问&#xff0c;而外设通过南桥与CPU相连并通过端口访问。 在ARM下也实现了类似的操作&#xff0c;通过两条不同的总线…

FPGA开发全攻略—— 调试

原文链接&#xff1a; FPGA开发全攻略连载之十三&#xff1a;FPGA实战开发技巧&#xff08;12&#xff09; 5.6 大规模设计的调试经验 在大规模设计的调试应该按照和设计理念相反的顺序&#xff0c;从底层测试&#xff0c;主要依靠ChipScope Pro 工具。下面主要介绍ChipScope P…

oracle创建表空间和用户授权

确定数据文件的存储地址&#xff0c;有两种情况&#xff0c;一个是明确存储地址&#xff0c;一个是跟其他表空间存在一个地方&#xff0c;但是不知道地址&#xff0c;这时候可以根据如下SQL进行查找&#xff1a;select t.* from sys.dba_data_files t where t.tablespace_name…

linux驱动 cdev,inode结构体

前面我们学习了字符设备结构体cdev Linux 字符设备驱动开发 &#xff08;一&#xff09;—— 字符设备驱动结构&#xff08;上&#xff09; 下面继续学习字符设备另外几个重要的 数据结构。 先看下面这张图&#xff0c;这是Linux 中虚拟文件系统、一般的设备文件与设备驱动程…

如何在VS和CB中配置MySQL环境

这里&#xff0c;由于我的MySQL安装在D盘 MY SQL\MySQL Server 5.6该路径下&#xff0c;所以后面的路径均以D:\MY SQL\MySQL Server 5.6开头 在VS中配置MySQL环境 包含目录&#xff1a; D:\MY SQL\MySQL Server 5.6\include 库目录&#xff1a;D:\MY SQL\MySQL Server 5.…

点乘和叉乘的区别_关于延时和混响的区别与专用延时器与混响器的调控技巧

关于延时和混响的区别与专用延时器与混响器的调控技巧延时器与混响器是模拟室内声场声音信号特性的专用设备。在录音节目制作中&#xff0c;延时器和混响器可以在模拟的艺术声场中传递时间、空间、方位、距离等重要信息&#xff0c;并且可以制作某些特殊效果。延时器与混响器工…

rs232读取智能电表_三相电表怎么看度数 怎么计算总电量

现在的三相电表一般都是在屏幕上面直接看&#xff0c;屏幕上面是有文字提示显示的&#xff0c;三相电表的总度数&#xff0c;上面的文字提醒一般是“正向有功总电量”&#xff0c;三相电表一般屏幕旁边都会上翻键和下翻键&#xff0c;可以上下翻开电表里面的数据。如下图所示&a…

android 学习随笔十六(广播 )

1、广播接收者 BroadcastReceiver接收系统发出的广播现实中的广播&#xff1a;电台为了传达一些消息&#xff0c;而发送的广播&#xff0c;通过广播携带要传达的消息&#xff0c;群众只要买一个收音机&#xff0c;就可以收到广播了 Android中的广播&#xff1a;系统在运行过程中…

Azure运维系列 4:安装和使用Azure PowerShell管理云

前面讲到了很多的管理方式&#xff0c;包括Azure中国最近更新的预览版管理门户和Azure云助理&#xff0c;都是非常不错的管理Azure的方式&#xff0c;今天我们再来介绍一种更加高效的管理方式Azure PowerShell。熟悉命令行的朋友都知道&#xff0c;Linux之所以那么好用是因为其…

python2编码_Python2字符编码

我们通常见到的字符串编码主要是三种GB2312/GBK、Unicode、UTF-8。GB2312/GBK是多字节(multibytes)编码的一种&#xff0c;属于“ASCII的加强版”&#xff0c;与之平行的由Big5、ShiftJIS之类的编码各自为政&#xff0c;所有这些用两个字节表示汉字的多字节编码标准统称为ANSI编…

angularJs关于指令的一些冷门属性

我们使用ng的时候&#xff0c;经常会使用到指令&#xff0c;大家所熟知的属性我在这里就不介绍了&#xff0c;讲讲大家没怎么留意的属性 1.multiElement 这是指定指令作用区间的功能&#xff0c;最常用的就是ng-repeat-start和ng-repeat-end了。 2.priority 指令优先级&#xf…

设备模型2

前言 在上一篇中&#xff0c;我们大致描述了LINUX设备模型&#xff0c;我们先来总结一下三要素的关系。 从图中可以看出,Linux设备模型就是"总线、设备、驱动、类"这四个概念之前的相互关系;这也是Linux2.6内核抽象出来的用于管理系统中所有设备的模型图; 简单地描述…

angular自定义指令详解

指令&#xff08;directive&#xff09;是angular里面最核心也是最难懂的东西&#xff0c;在慕课网看了下大漠穷秋老湿的视频&#xff0c;自己百度半天做了一些小test&#xff0c;总算把一切都搞明白了。 先列出学习来源&#xff1a; 指令中controller和link的区别&#xff1a;…

delphi7aes加密解密与java互转_跨语言(java vs python vs nodejs)的RSA加解密问题探讨

多次被问到这样的问题&#xff1a;java服务端的rsa加密操作已经完成&#xff0c;返回一个16进制的字符串给python平台&#xff0c;但是在python进行私钥解密的时候发现行不通。。。。前端python加密&#xff0c;后端用java解密&#xff0c;解不出来还有诸如nodejs从理论上来说&…