python3-开发面试题(python)6.23基础篇(2)
1、请至少列举5个 PEP8 规范(越多越好)。
一、代码编排
1、缩进。4个空格的缩进,不使用Tap,更不能混合使用Tap和空格
2、每行最大长度79,换行可以使用反斜杠,最好使用圆括号。换行点要在操作符的后边敲回车
二、文档编排
1、不要在一句import中多个库,比如import 欧式,sys
三、空格的使用
总体原则,避免不必要的空格
四、注释
1、总体原则,错误的注释不如没有注释,当一段代码发生变化时,第一件事就是要修改注释!
2、注释必须使用英文,最好是完整的句子,首字母要大写的。
3、避免无谓的注释
五、命名规范
类的方法第一个参数必须是self,而静态方法第一个参数必须是cls
遵循python的变量的命名规范。
六、编码建议
1、编码中考虑是他python实现的效率等问题,比如运算符‘+’在Jpython中效率却非常低,采用。join()的方式
2、字符串不要以空格收尾
3、使用startwith() and endswith() 代替切片进行序列前缀或后缀的检查
4、使用isinstance()比较对象的类型:
5、判断序列空与不空,if not 条件,优于if 条件
2、通过代码实现如下转换:
二进制转换成十进制:v = “0b1111011”
int(v,2)
十进制转换成二进制:v = 18
bin(v)
八进制转换成十进制:v = “011”
int(v,8)
十进制转换成八进制:v = 30
oct(v)
十六进制转换成十进制:v = “0x12”
int(v,16)
十进制转换成十六进制:v = 87
hex(v)
3、python递归的最大层数?
在pycharm中 递归的最大层数是1000次,无限制的递归调用自己是没有意义的
1、递归必须要有一个明确的结束条件
2、每次进入更深一层递归时,问题规模相比上次递归都有应有所减少
3、递归效率不高,递归层次过多会导致栈溢出
import sys
sys.setrecursionlimit(递归的最大次数)
4、求结果:
v1 = 1 or 3
1
v2 = 1 and 3
3
v3 = 0 and 2 and 1
0
v4 = 0 and 2 or 1
1
v5 = 0 and 2 or 1 or 4
1
v6 = 0 or Flase and 1
1
详细过程可以点击这里:https://www.cnblogs.com/ManyQian/p/9216815.html
5、ascii、unicode、utf-8、gbk 区别?
ascii : 8bit=1bytes,一个英文字符占用1个字节 范围基本只有英文字母、数字和一些特殊字符,只有256个字符
gbk 编码汉字的: 16bit=2bytes 2个字节表示一个中文字节,1个字节表示英文字节
unicode全世界的所有字节(内存中固定的编码):16bit=2bytes,2个字节表示一个字符,中文也是2个字节
utf-8万国码:1字节表示一个英文字符,3bytes表示一个中文字符
6、字节码和机器码的区别?
字节码是一种中间码和二进制代码(文件),需要直译器转译后成为机器码
字节码:字节码通常指的是已经经过编译的源码,字节码的实现方式是通过编译器和虚拟机器
机器码:机器语言是一种指令集的体系,这种指令集就是机器码,是电脑cpu可以直接解读的数据
计算机可以直接执行,并且执行速度最快的代码
解释性语言:程序---》字节码-----》机器码 根据具体系统在编译为机器语言
编译型语言:程序----》机器码
7、三元运算规则以及应用场景?
三元运算符的功能与‘if ...else’流程语句一致,它在一行中书写,代码非常精练,执行效率更高
嵌套使用的三元运算符可读性不太好,日后对代码的维护极可能存在问题
8、列举 Python2和Python3的区别?
1、print被视为一个语句而不是一个函数
2、整数的除法,2.7不直观
3、支持Unicode 2.7默认ASCII 3中默认Unicode
4、后续发展 2.7官方没有后续支持,3才是正统
python3-开发面试题(python)6.23基础篇(2)的更多相关文章
- python3 开发面试题(collections中的Counter)6.7
''' 编写Python脚本,分析xx.log文件,按域名统计访问次数 xx.log文件内容如下: https://www.sogo.com/ale.html https://www.qq.com/3 ...
- python3 开发面试题(面向对象)6.6
""" 封装.继承.多态 1. 谈谈你对面向对象的理解? 2. Python面向对象中的继承有什么特点? 3. 面向对象深度优先和广度优先是什么? 4. 面向对象中sup ...
- python3 开发面试题(常用模块以及第三方库)6.5
""" 1. os和sys都是干什么的? 2. 你工作中都用过哪些内置模块? 3. 有没有用过functools模块? """ #sys模块 ...
- python3 开发面试题(字典和拷贝)5.30
""" 问:执行完下面的代码后, l,m的内容分别是什么? """ def func(m): for k,v in m.items(): m ...
- python3 开发面试题(创建表结构)6.9
纯sql语句写出: '''设计 图书管理系统 表结构: - 书 - 书名 - 作者 - 姓名 - 出版社 - 出版社名称 - 地址 一本书只能由一家出版社出版 --> 多对一(书对出版社) 一本 ...
- python3 开发面试题(装饰器必须考)6.4
def f(): print("2018-06-04") # 每次调用f的时候 在打印"2018-06-04" 之前打印一句 开始, 之后再打印一句 结束 de ...
- python3 开发面试题(去重保持原来的顺序)6.2
""" l1 = [11, 2, 3, 22, 2, 4, 11, 3] 去重并保持原来的顺序 """ #方式一 for 循环方法 l1 = ...
- python3 开发面试题(%s和format的区别)5.31
在格式化字符串中有两种方法: 1.%s 2.format 大家常用的是哪一种方法?为什么要用你选的这种方法? 我们先看一个例子: 首先我们定义一个我军需要击杀的恐怖分子的地理坐标为 c=(128,12 ...
- python3 开发面试题(生成列表)6.1
话不多说直接上题: 生成如下列表: [[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8], [0, 3, 6, 9, 12]] # 方式一 list1 ...
- 前端开发面试题总结之——JAVASCRIPT(一)
___________________________________________________________________________________ 相关知识点 数据类型.运算.对象 ...
随机推荐
- [CVPR2017]Online Video Object Segmentation via Convolutional Trident Network
基于三端卷积网络的在线视频目标分割 针对半监督视频目标分割任务,作者采取了和MaskTrace类似的思路,以optical flow为主. 本文亮点在于: 1. 使用共享backbone,三输出的自编 ...
- ios上传图片显示方向错误问题
IOS 上传图片方向显示错误问题 问题描述 在使用苹果手机上传图片的时候,发现传完的图片显示出来方向是错误的,竖着的图片会变成横着显示(少部分安卓手机也存在这个问题) 产生原因 ios 相机加入了方向 ...
- codefoeces 671 problem D
D. Roads in Yusland standard output Mayor of Yusland just won the lottery and decided to spent money ...
- bzoj1503: [NOI2004]郁闷的出纳员 fhqtreap版
这道题写法和之前差不多 但是fhqtreap在加点的时候为了同时维护大根堆以及二叉排序树的性质所以插入时也要注意分裂 fhqteap需要判断指针是否为空 不然就会re 这个我调了很久 #include ...
- 游戏中的过程生成——元胞自动机 Celluar Automata 生成洞穴地形
最近在学习过程生成技术,在这里写一些心得. 对于元胞自动机,我们这里只讨论输入是一副二维bool数组的情况,即大多数游戏中的情况. 一个元胞自动机,对于一个输入,给出一个同样格式的输出.输出中的每个点 ...
- 【洛谷 P1653】 猴子 (并查集)
题目链接 没删除调试输出,原地炸裂,\(80\)->\(0\).如果你要问剩下的\(20\)呢?答:数组开小了. 这题正向删边判连通性是很不好做的,因为我们并不会并查集的逆操作.于是可以考虑把断 ...
- ZOJ 3598 Spherical Triangle球面几何公式应用
#include <map> #include <set> #include <list> #include <cmath> #include < ...
- selenium与360极速浏览器driver配置
1)下载浏览器对应的driver,浏览器版本与driver对应关系,网址:http://www.cnblogs.com/JHblogs/p/7699951.html:driver下载地址:http:/ ...
- 手机端图片插件可缩放 旋转 全屏查看photoswipe
官方介绍PhotoSwipe 是专为移动触摸设备设计的相册/画廊.兼容所有iPhone.iPad.黑莓6+,以及桌面浏览器.底层实现基于HTML/CSS/JavaScript,是一款免费开源的相册产品 ...
- nginx之旅:安装及简单部署
安装之前最好了解一下nginx,参考nginx百度百科吧,下面这一句话基本概括了nginx的基本功能 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 ...