网上搜集python面试题(更新中......)
武Sir博客拿的面试题,答案都是自己写的,多有不足,请多多指教。更新中。。。。。。
1.为什么学习Python?
a.写起来快,看起来明白。作为通用性的语言,除了一些对性能要求很高的场合,几乎什么都能干,常见领域:web服务器、计算科学、程序脚本、系统管理
2.通过什么途径学Python?
看各种教学视频,看博客。
3.Python和Java、PHP、C、C#、C++等其他语言的对比?
Python是一门面向对象的解释性语言,Python通过缩进来确定作用域,Python代码简洁易读。 Python拥有很多功能强大的模块可供使用。但是Python相比较于其他语言,运行效率低,不适合对运行效率要求搞的程序。
4.简述解释型和编译型编程语言?
计算机不能直接的理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言的编写的程序。翻译的方式有两种,一个是编译,一个是解释。两种方式只是翻译的时间不同。
解释性语言的程序不需要编译,解释性语言在程序运行的时候才需要翻译,可移植性好,只需要有解释环境,可在不同平台运行。缺点就是必须要有解释环境才能运行,需要占用更多的资源,代码效率低,解释器本身也需要占用资源,程序严重依赖于平台。
编译型就是直接把程序编译成机器可以执行的文件,编译和执行是分开的,但不能跨平台,编译型语言的程序执行效率高,编译后程序不可修改,保密性好。缺点代码需要经过编译方可运行,可移植性差,只能在兼容的操作系统上运行。
5.Python解释器种类以及特点?
CPython
使用C语言开发,使用最广泛的解释器。
IPython
基于CPython上的一个交互式解释器,IPython在交互方式上有所增强,但执行Python代码的功能和CPython是完全一样。
PyPy
PyPy采用JIT技术,对Python代码进行动态编译,可以显著提高Python代码的执行速度。
JPython
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
IronPython
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
6.位和字节的关系?
8位(bit) = 1字节(Byte)
7.b、B、KB、MB、GB 的关系?
1024b(Byet) = 1KB
1024KB(Byet) = 1MB
1024MB(Byet) = 1GB
1024GB(Byet) = 1TB
8.请至少列举5个 PEP8 规范(越多越好)
a.不要在行尾加分好,也不要用分号将两条命令放在同一行。
b.每行不超过80个字符(长的导入模块语句和注释里的URL除外)
c.不要使用反斜杠连接行。Python会将圆括号,中括号和花括号中的行隐式连接。
d.用四个空格来缩进代码,不要用tab,也不要tab和空格混用。对于行连接的情况,你应该要么垂直对齐换行的元素,或者使用四空格的悬挂式缩进。
e.顶级定义之间空两行,方法定义之间空一行。如函数或者类的定义空两行,方法定义与第一个方法之间,空一行。
f.不要在冒号,逗号,分号前面加空格,但应该在他们后面加。
9.通过代码实现如下转换:(未写)
二进制转换成十进制:v = “0b1111011”
十进制转换成二进制:v = 18
八进制转换成十进制:v = “011”
十进制转换成八进制:v = 30
十六进制转换成十进制:v = “0x12”
十进制转换成十六进制:v = 87
10.请编写一个函数实现将IP地址转换成一个整数。(未写)
如 10.3.9.12 转换规则为:
10 00001010
3 00000011
9 00001001
12 00001100
再将以上二进制拼接起来计算十进制结果:00001010 00000011 00001001 00001100 = ?
11.python递归的最大层数?
Python解释器为了避免内存一出和性能影响设置了最大递归深度为998,当调用栈超过998层就会报错。
12.求结果:
v1 = 1 or 3
--------------->v1 = 1
v2 = 1 and 3
-------------->v2 = 3
v3 = 0 and 2 and 1 -------->v3 = 0
v4 = 0 and 2 or 1 --------->v4 = 1
v5 = 0 and 2 or 1 or 4 ---->v5 = 1
v6 = 0 or False and 1 ----->v6 = False
13.ascii、unicode、utf-8、gbk 区别?
ascii:
在计算机内部,所有信息最终都是一个二进制。每一个二进制位(bit),有0和1两种状态,因此,8个二进制位可以组合出256种状态,这被称为字节。上个世纪六十年代,美国定制了一套字符编码,对英文字符与二进制之间做了联系,这个被称为ASCII
网上搜集python面试题(更新中......)的更多相关文章
- Python设计模式 - 总览(更新中...)
最近打算重构部分python项目,有道是"工欲善其事,必先利其器",所以有必要梳理一下相关设计模式.每次回顾基本概念或底层实现时都会有一些新的收获,希望这次也不例外. 本系列打算先 ...
- Python奇技淫巧 - 持续更新中....
Python奇技淫巧 人生苦短,我用Python: 编程界这绝对不是一句空话,尤其是对于使用过多个语言进行工作的同学们来说,用Python的时间越长,越有一种我早干嘛去了的想法,没事,啥时候用Pyth ...
- python总结(更新中)
1 python函数中的参数传递(注意可变和不可变传递) 可更改(mutable)与不可更改(immutable)对象 在 python 中,strings, tuples, 和 numbers 是不 ...
- Python面试题及答案汇总整理(2019版)
发现网上很多Python面试题都没有答案,所以博主花了很长时间搜集整理了这套Python面试题及答案,由于网上的Python相关面试题大多数都是2019年的,所以我这个也是2019版的,哈哈~ (文末 ...
- Python面试题整理-更新中
几个链接: 编程零基础应当如何开始学习 Python ? - 路人甲的回答 网易云课堂上有哪些值得推荐的 Python 教程? - 路人甲的回答 怎么用最短时间高效而踏实地学习 Python? - 路 ...
- 2020企业python真面试题持续更新中
目录 1.软件的生命周期 2.如何知道一个python对象的类型 3.简述Django的设计模式MVC,以及你对各层的理解和用途 4.什么是lambda函数,说明其使用场景 5.python是否支持函 ...
- 史上最全的spark面试题——持续更新中
史上最全的spark面试题——持续更新中 2018年09月09日 16:34:10 为了九亿少女的期待 阅读数 13696更多 分类专栏: Spark 面试题 版权声明:本文为博主原创文章,遵循C ...
- Android开发面试经——4.常见Android进阶笔试题(更新中...)
Android开发(29) 版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客:http:/ ...
- Python之路【第二十篇】:待更新中.....
Python之路[第二十篇]:待更新中.....
随机推荐
- orace如何创建函数并调用
我们来定义一个oracle的函数 create or replace function 方法名(参数名1 参数类型,参数名2 参数类型,参数名3 参数类型)return 返回类型 is num_C n ...
- css修改原生radio样式
日常工作中经常会用到单选框radio,而原生样式不好看无法满足项目要求,模拟写一个又比较麻烦,所以写了一个改变原生样式的demo. 原生样式: 改变后的样式: 以下为demo代码: <!DOCT ...
- [CentOS 7] TexLive2017中kpsewhich Bug的修复
使用TexLive有一段时间了,从2015到2017,一直运行如常. 最近,想把以前的文档重新编译,却发现不能正常运行,费了好大一番工夫,才终于修复了这个bug,记录如下. 问题描述:编译一个简单的 ...
- Linux中安装tomcat后,window中访问不到tomcat的欢迎界面问题
首先,可以通过xftp把下载的tomcat的tar.gz包传输到Linux中. 然后进行解压,tar -zxvf tomcat的压缩包名称(可以使用tab键快速补齐) 解压后,可以使用修改/con ...
- git 仓库原理
Git 版本控制原理 标签: git 版本控制 版本回退 2017年01月13日 21:07:202399人阅读 评论(0) 收藏 举报 分类: Git(4) 版权声明:本文为博主原创文章,未经博 ...
- maven生命周期和插件详解
生命周期 什么是生命周期? maven的生命周期就是对所有的构建过程进行抽象和统一.maven从大量项目和构建工具中总结了一套高度完善的.易扩展的生命周期.这个生命周期包含项目的清理.初始化.编译.测 ...
- DAY1 练习
要求:⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化), 如果三次用完了之后 问是否再试试 再给三次机会 如果不想试了说没有机会了. list = [{'usernam ...
- 简要log4j配置
若排版紊乱可查看我的个人博客原文地址 1. 配置效果 下面的log4j日志配置最终能达到的效果是对于全局日志可以根据级别输入到对应级别的日志文件中,注意低级别的日志文件会同时包含高级别的日志信息,例如 ...
- Java容器解析系列(7) ArrayDeque 详解
ArrayDeque,从名字上就可以看出来,其是通过数组实现的双端队列,我们先来看其源码: /** 有自动扩容机制; 不是线程安全的; 不允许添加null; 作为栈使用时比java.util.Stac ...
- struts2自定义转换器
Struts2自定义类型转换器分为局部类型转换器和全局类型转换器 (1)局部类型转换器 如果页面传来一个参数reg.action?birthday=2010-11-12到后台action,然后属性用d ...