Python 面试复习笔记,只有那些你最有可能错过的话题

2022/12/30 23:23:58

本文主要是介绍Python 面试复习笔记,只有那些你最有可能错过的话题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

最近接受了一个 python 开发人员的面试,大部分情况下,比方说 60%,一切顺利。但是随着面试的进行越来越深入,我开始收到一些我修改不够、求职期间不需要的问题。

 

尽管如此,我对这些主题还是有一些想法,所以我设法做到了。而且,我得到了这份工作。

我正在写这篇文章,但将其视为修订说明或指南,在您尝试基于 Python 的面试之前,您应该复习哪些主题。

序列化和反序列化

  • 序列化:在 pickle 模块中,使用 pickle.dump() 获取文件名和对象(从类实例化)。
  • 反序列化:从 pickle 中,使用 pickle.load() 获取文件并返回对象

文件处理

open() 以 (w(用于写入)、w+(用于写入和读取)、r(用于读取)、r+、a(用于追加)、a+ 等模式打开文件

close() 当你不需要文件时。

寻找(获取光标位置并将光标移动到该位置)

file.tell() 告诉当前光标位置。

异常处理

try : 块包含可能导致错误的代码

except:包含处理异常的代码

else : 如果没有遇到异常则运行的代码

最后:关闭连接(数据库、文件等)

assert condition, error message — 导致 AssertionError 异常,用于检查某些条件

raise用于引发异常

抽象和接口

如何在python中制作抽象类和接口

要创建抽象类,请从abc {抽象基类} 模块导入

使类抽象,使其扩展 ABC 并使用 @abstractmethod 装饰抽象方法

from abc import abstractmethod, ABC 
class  CAR ( ABC ): 
  def  __init__ ( self ): 
    #do something 
    pass 

  # 抽象方法
  @abstractmethod 
  def  drive ( self ): 
    pass 

  def  horn ( self ): 
    print ( "making sound!" )

界面

使类的所有方法抽象化,使类成为接口

from abc import abstractmethod, ABC 

# interface (make all the methods, abstract) 
class  CAR ( ABC ): 
  def  __init__ ( self ): 
    #do something 
    pass 

  # 抽象方法
  @abstractmethod 
  def  drive ( self ): 
    pass 

  @abstractmethod 
  def  horn ( self ) ):
    通过

发电机

用于创建自定义数据序列的方法使用yield返回一个值,该值可以保存它们的状态并从它们停止的地方恢复。

简单的例子

def  generateUpto5 (): 
	i = 1 
	while i<= 5 : 
		yield (i) 
		i+= 1
# 多次调用该函数

generateUpto5() //返回1
 generateUpto5() //返回2

装饰器

用于修饰方法,用于向函数的输出添加一些额外信息

# 定义一个装饰器
def  decorAdd5 ( func ): 
 def  inner (): 
  result = func() 
  result += 5 
  return result 
 return inner 


# 装饰一个函数
@decorAdd5 
def  returns1 (): 
 return  1

可以应用多个装饰器。

@decorator1 
@decorator2 
def  returns1 ():
  返回 1

参数

*args:将可选参数传递给函数

**kwargs:传递关键字可选参数

任意数量的额外参数

GLOBAL 访问全局变量

globals() 返回全局变量的字典

命令行参数

导入系统

sys.argv 是一个列表,其中包含传递给程序的所有参数

拉姆达斯

具有一个返回语句的简单函数

函数 = λ x: x+1

使用过滤器、地图、减少

常用表达

import re [代表正则表达式]

match,返回匹配的字符串对象。结果需要调用result.group ()

调用result.group()时搜索返回匹配的字符串结果

findall返回所有匹配字符串的列表,

split采用正则表达式作为分隔符来拆分字符串,

sub代表替代品: ,

\d 代表任何数字 [单个字符]

\D 代表任何非数字

\s 用于任何空白

\S 代表任何非空白

\w 对于任何字母数字字符

\W 表示任何非字母数字字符

\b 单词周围的空格

\字符串的开头

\Z 字符串结尾

{} 字符出现

特殊字符

\ 转义字符用于转义

任何一个角色

^ 字符串的开头

$ 字符串结尾

[…] 值范围

[^…] 匹配提供范围以外的所有字符

() 传递正则表达式

(R|S) 给出两个正则表达式,匹配两者中的任何一个。

标签:Python,编辑,管理,代码,数据,面试,icode9 来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。



这篇关于Python 面试复习笔记,只有那些你最有可能错过的话题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程