原标题:Python 程序员面试须知须会的5个问题

作为一个程序员,可能或多或少经历过一些技术面试,有些是编程语言本身的问题,有些是跟工程相关的问题。今天我们来总结关于Python程序员面试的时候经常被问到的5个问题。供大家参考收藏。

0

1

浅谈你对Python编码规范的认识,并写出你知道的编码规范。

Python的规范主要基于以下几个原因:

大多数程序员的代码可读性差。

不同的程序员之间的协作很重要,代码可读性必须要好。

在进行版本升级时,要基于源码升级。

不友好的代码会影响Python的执行效率,影响项目的整体进度。

目前都使用PEP 8的Python的编码风格。Python的编码规范主要有以下几点:

1.代码编排

缩进:4个空格实现缩进,尽量不使用Tab,禁止混用Tab和空格。

行:每行最大长度不超过79,换行可以使用反斜杠。最好使用圆括号将换行内容括起来,不建议使用“;”。

空行:类和top-level函数定义之间空两行;类中的方法定义之间空一行;函数内逻辑无关段落之间空一行;其他地方尽量不要再空行。

空格:括号内的第一个位置,不要空格。紧靠右括号的位置也不要空格。冒号(:)、逗号(,)和分号(;)之前不要加空格。

括号:对于单元素tuple一定要加“,”和括号。

2.命名规范

module_name。

package_name。

ClassName。

method_name。

ExceptionName。

function_name。

GLOBAL_CONSTANT_NAME。

global_var_name。

instance_var_name。

function_parameter_name。

local_var_name。

3.注释规范

块注释,在一段代码前增加的注释。在“#”后加一空格。段落之间以只有“#”的行间隔。

行注释,在一句代码后加注释。

避免无谓的注释。

4.编程建议

字符串拼接,尽量使用join。

单例对象,尽量使用is、is not,不要使用= =。

使用is not而不是not is。

使用def来定义函数,而不是将匿名函数赋给某个变量。

尽量使代码整齐,简洁。

使用isinstance来判断instance的类型。

0

2

Python 如何定义一个函数?

用户自定义函数需要遵循以下规则:

函数代码块以def 关键词开头,后接函数标识符名称和圆括号。

任何传入参数和自变量必须放在圆括号中间,圆括号中间可以用于定义参数。

函数的第一行语句可以选择性地使用文档字符串,用于存放函数说明。

函数内容以冒号起始,并且缩进。

“return [表达式]”用于结束函数,选择性地返回一个值给调用者。不带表达式的return 相当于返回None。

默认情况下,参数值和参数名称是按函数声明中定义的顺序来匹配的。

Python 定义函数使用def 关键字,一般格式如下:

def 函数名(参数列表):

函数体

示例:

def hello:

print("Hello World!")

hello

运行结果:

Hello World!

0

3

什么是模块?它有什么好处?

在Python中,一个.py文件就被称之为一个模块(Module)。模块提高了代码的可维护性,同时模块还可以被其他地方引用。一个包含许多Python代码的文件夹是一个包。一个包可以包含模块和子文件夹。在Python中,模块是搭建程序的一种方式。模块一般分为以下几种:

① 内置模块:例如os、random、time和sys模块。

② 第三方模块:别人写好的模块,可以拿来使用,但是使用第三方模块前,需要首先使用pip命令(第三方包管理工具)安装。

③自定义模块:程序员自己写的模块。

0

4

谈一下Python的内存管理机制

Python内建了垃圾回收处理机制,引用计数是这个机制的一部分。

在Pyhton源码中,实际上是用 Py_INCREF(op) 和 Py_DECREF(op) 这两个宏来增加和减少引用计数。

当一个对象被创建、被赋值、被参数传递,函数返回之前的时候,它的引用计数值(ob_refcnt)都可能会被加1(INC),一直进行累加。

当对象变量失去作用域的时候,引用计数的值会减1(DEC)。

当一个对象的引用计数减少到0之后(ob_refcnt为0),Py_DECREF(op)会调用该对象 " 析构函数"(__del__) 将其从内存中释放。

0

5

什么是Python的装饰器。

装饰器本质上是一个 Python 函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外

功能,提高了代码的复用性。装饰器是一个函数,它接收一个函数返回另一个函数。装饰器主要有以下

功能:

引入日志。

函数执行时间统计。

执行函数前预备处理。

执行函数后的清理功能。

权限校验等场景。

缓存。

装饰器其实就是一个以函数作为参数并返回一个替换函数的可执行函数。在不改动原函数代码的情况下,为其增加新的功能。wrapper函数的参数定义是(*args, **kw),因此, wrapper函数可以接受任意参数的调用。在 wrapper函数内。例如下面的例子首先打印日志,再紧接着调用原始函数。

import time

import functools

def add:

print(' 调用(add) 函数时间: %s' % time.strftime('%Y-%m-%d%H:%M:%S'))

def log(func):

defwrapper:

#__name__ 可以获得函数名称

print(' 调用%s 函数时间: %s' % (func.__name__,time.strftime('%Y-%m-%d %H:%M:%S')))

func

returnwrapper

add_wrap = log(add)

add_wrap

运行结果:

调用add 函数时间: 2019-01-18 13:33:15

调用(add) 函数时间: 2019-01-18 13:33:15

受篇幅所限,关于这5个面试的问题就先讲到这,其实关于Python面试笔试过程中涉及到的问题是十分广泛和深入的。如果想了解更多关于Python的面试问题和技巧,小编建议大家关注我们本周四(7月2日)推出的程序员面试求职系列课程——Python程序员面试重点难点解析

程序员面试笔试求职系列丛书,自出版以来,受到广大程序员和计算机专业学生的青睐,目前已出版29种,畅销5年之久。为回报大家的支持,我们邀请该系列丛书的作者们,围绕求职热点,面试笔试难点,为大家开设系列免费直播课程——程序员面试求职系列课程。

Python程序员面试重点难点解析

开放时间:2020年7月4日(周四)20:00

主讲老师:辛晓婷

天猫读书新知图书专营店

机械工业出版社官方腾讯直播

主讲老师:辛晓婷

网名“小婷儿”,甘肃武威人,西北农林科技大学理学硕士,长期从事Python数据分析与数据挖掘工作,能在海量数据中寻找数据规律,发现数据异常,获取深入的,有价值的信息,保证数据分析结果的高质量和数据挖掘的高价值,并在机器学习领域有一定造诣,热衷技术分享。

★ Python语法

★ Python操作数据库

★ 数据分析

★ 机器学习

★ Python发展空间

观看方法

方法一:关注“IT有得聊”公众号,我们会于直播前放出各平台直播间二维码。

方法二(墙裂推荐):

“Python”注意,一定要发送“Python”

点击图片可进入直播回看链接文章返回搜狐,查看更多

责任编辑:

python面试技巧和注意事项_Python 程序员面试须知须会的5个问题相关推荐

  1. python在哪里写代码比较适合-程序员面试被要求手写代码,你与顶级程序员的差别在哪?...

    原标题:程序员面试被要求手写代码,你与顶级程序员的差别在哪? 前言: Python现在非常火,语法简单而且功能强大,很多同学都想学Python! 所以小的给各位看官们准备了收藏已久的视频教程分享给大家 ...

  2. python程序员怎么面试_Python程序员面试,这些问题你必须提前准备!

    近些年随着Python语言越来越流行,越来越多的人选择Python语言作为自己的职业方向.如何在心仪公司的面试中获得好成绩,并最终成功获得offer是每一个Python开发者都要慎重对待的事情,如下是 ...

  3. python爬大学生就业信息报告_Python程序员招聘市场简要报告

    python部落原创,禁止转载,欢迎转发 近期,Python小助理整理了前程无忧上面Python程序员招聘的信息.搜集了150家公司的Python程序员招聘信息,整理成表格.今天,小编根据表格的数据绘 ...

  4. 面试者面试官,双向角度的程序员面试指南!

    作者 | Noj Vek  译者 | 弯月 出品 | 程序人生(ID:coder _life) 本文作者经历过 100 多场面试,而且也担任过 50 多场面试的面试官,我们一起来看一看他从面试者与面试 ...

  5. c++软件开发面试旋极面试题_c++开发程序员面试拼多多面试题整理(含答案)

    题很多,先上题后上答案,便于大家思考. 一.拼多多服务端实习岗位面试 1. 一个C++源文件从文本到可执行文件经历的过程 2.#include 的顺序以及尖叫括号和双引号的区别 3.进程和线程,为什么 ...

  6. python 三维画图 坐标值相等_python程序员的表白

    公众号:数学交点对应代码关键词:樱花 最近用python代码画了一棵樱花树,不得不觉得计算机语言的强大呀. 效果如下: 海龟绘图turtle 在1966年,Seymour Papert和Wally F ...

  7. python爬虫高级知识分子的风骨_Python程序员爬取《万物理论》10万影评,带你解读霍金的有趣故事...

    相信昨天的Breaking news(爆搜)是本世纪伟大的物理学家霍金辞世,享年76岁.小伙伴肯定知道霍金的故事肯定很励志,他是智商肯定不是常人能及的,因为他的引领,不断的拓宽了人类对宇宙的认识. 作 ...

  8. java面试问题答不上来_程序员面试的时候突然遇到答不上的问题怎么办?

    前言 今天给大家讲讲面试过程当中最长遇到的窘境,也是最能体现一个候选人临场应变能力的地方,那就是当我们在面试的过程当中,遇到的问题回答不上来的时候,该怎么办. 误区 在开始讲解之前,先纠正一个误区,那 ...

  9. java程序员面试能穿束脚裤吗_程序员面试,应该怎么穿?

    我面试过很多人,我也面试过好几次.对于穿着来讲,我个人觉得干净得体就好,没有什么特别的. 把自己收拾得干净些,不要听那个抖机灵的回答.一个人留给别人的第一映像非常重要,邋遢肯定是扣分项.我说的是自信, ...

最新文章

  1. phpcms的安装以及简单使用
  2. Redis 的持久化方案
  3. ARM 之八 Cortex-M/R 内核启动过程 / 程序启动流程(基于IAR)
  4. TypeScript 2 : 获取当前日期及前后范围日期【Array】
  5. 棋盘游戏(HDU-1281)
  6. word 编辑域中的汉字_Word中根号2、根号3怎么打?
  7. easy-excel导入导出excel(待完善)
  8. Http请求返回结果报UnsupportedCharsetException
  9. stella forum 知识库---一些错误的修补
  10. CSS文件在jsp 文件中应该放的位置
  11. 计算机软件图标不正常,桌面图标显示不正常,详细教您桌面图标显示不正常怎么解决...
  12. java sqlite sqlite_busy_sqlite3出现SQLITE_BUSY错误码的原因以及解决方法
  13. 00900网页设计与制作多选题
  14. 洛谷 P4704 太极剑【贪心】
  15. CryEngine 渲染流程
  16. 测试论坛和网站资源分享
  17. 关于OSPF 5类LSA中Forwarding Address
  18. 演讲稿丨史忠植:探寻大师足迹,一览马文•明斯基学术风采
  19. SSH远程访问与TCP Wrappers 访问控制(基础概述及配置操作)
  20. 双线机房双网卡双ip DNSpod智能DNS解析和路由设置

热门文章

  1. 水滴石穿C语言之声明的语法
  2. 谈新手对CString的使用
  3. 字节跳动28岁程序员退休:我只想做一个自由的“废物”
  4. 怎么用计算机算账单,电脑如何快速调出计算器
  5. STM32----TIM6和TIM7
  6. 45万例患者基因检测显示:NGS很难检测出七分之一的致病变异
  7. R统计绘图 - 热图简化
  8. mac基础操作:在Mac上怎么使用夜览
  9. 用python计算准确率_分词结果准确率、召回率计算-python(示例代码)
  10. 信息学奥赛一本通 1080:余数相同问题 2022.1.29 AC