前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python面试可能会问到的问题,你会几个?

Python面试可能会问到的问题,你会几个?

作者头像
我被狗咬了
发布2019-09-24 15:42:47
5670
发布2019-09-24 15:42:47
举报
文章被收录于专栏:Python乱炖

随着Python时代的到来(AI会用到Python,区块链会用到Python,大数据会用到Python,自动化会用到Python.......Python好像无所不能了

我们现在的Python职位越来越多,Python工程师也越来越多了,大家都争先恐后的去搞Python,搞什么人工智能了,就包括一些其他行业小白也想进军人工智能市场了

,AI这么火真的是谁都可以做吗?小编当初毕业的时候做的是Java,后来换到做了Python,当时就觉得做Python一是简单,二是需求量大,还有就是项目结束的时候用它编写自动化脚本来的更方便些。

对于那些培训班说,学了Python就能懂AI的就纯属瞎扯淡,花哥两万块去某内做个培训Python你就是AI工程师了?你就会深度学习了?你就会在AI界有立足之地了?

哦哦,那你学的不是AI,应该是API。

不是所有人都有天赋有能力来做这个行业的,大学高数线代离散都没及格的就想从Java进军人工智能市场,那你就省省吧,毕竟如果连最基本的线代离散都不会,这样的AI我看不是AI,是BI(悲哀)!

真的,如果你不像小编线代离散绩点都逼近4.0的,那你就好好做Java吧,机器学习什么的真的不是你该玩的,尤其是培训班,就更不要去了。当然如果你是做开发转测试,那这个还好,这个一般培训培训(或者自己学学)就能掌握了,应该没什么太大的难度。

总而言之就是不要看到什么火就去做什么,盲目跟风只会毁了自己,尤其是花高价钱去某内培训,然后出来发现自己和原来并没有什么两样,只不过会调api了,会看Python代码了,然后就没有然后了。。。。

出于自己对自己负责的心态,如果真的想学AI,你可以去coursera上看看吴恩达的教程(开始是免费的,应该够你学了),如果能看得懂,做的会,那恭喜你,你可以考虑进军AI市场了,当然,这只是开始,后面调参,量化,剪枝,防拟合会有你受的,总而言之,这并不是一条简单的道路,任何光鲜的背后都是枯燥无味的。

还有一点要说的是,Python只是一门语言,任何情况下语言都只是一门工具,你做的事情才是最后的结果,所以别听那些培训班胡说八道,学了Python就是学了AI,真正的AI是要从理论学起的,或者说AI的课程就是理论与计算,与Python无关,Python只是提供了相关的库,方便你调用而已,给你两行代码告诉你这是分类聚合,即使你看的懂API,可你真的懂吗?我想大家应该是心知肚明的,没有好的数学功底就好好当码农吧,其实挖代码也挺不错的,久而久之你挖的代码也能帮你找回你作为程序猿的自信呢!

废话说了那么多,下面来看看Python面试可能会遇到的知识点吧(纯Python知识点)

lambda函数是什么?

lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数

lambda函数:首要用途是指点短小的回调函数

lambda [arguments]:expression

Python中pass是干嘛的?

pass语句不会执行任何操作,一般作为占位符或者创建占位程序。

while False:

pass

(看到它就像没看到就行)

如何在一个函数里面设置一个全局的变量?

解决方法:在函数的开始插入一个global声明:

def foo()

global x

匹配HTML标签的时候,<.*>和<.*?>有什么区别?

没有问号是贪婪模式,有问号是懒惰模式,如果是没有问号,它可以连续匹配多个相同的目标标签,如果是加了?变成懒惰模式,它就会匹配到一个就停止匹配。

a=[1, 2, 3, 4, 5],列表a中的偶数位置的元素进行加3后求和?

sums = sum(map(lambda x: x + 3, a[1::2]))

列表的sort方法和 sorted的区别是什么?

sort 是list的方法,改变list对象的顺序,返回值为None sorted是Python的内置方法,适用iterable对象,返回值是新列表,不影响原来的iterable的顺序

有一篇英文文章保存在 a.txt 中,请用python实现统计这篇文章内每个单词的出现频率,并返回出现频率最高的前10个单词及其出现次数(只考虑空格,标点符号可忽略)

Python函数中经常有 *args,**kwargs 这两个参数,它们是什么意思,为什么要使用它们?

都是不定长参数,

*args返回的是tuple,

*kwargs返回的是dictionary。

Python中的变量作用域(变量查找顺序)

记住LEGB

local 局部变量--->enclosed 闭包作用域 ----> Global 全局---->built-in变量

如图,输出结果

1,1,1 1,2,1 3,2,3

1 1 1 继承自父类的类属性x,所以都一样,指向同一块内存地址

1 2 1 更改Child1,Child1的x指向了新的内存地址

3 2 3 更改Parent,Parent的x指向了新的内存地址

Python是怎样管理内存的?

Python的内存管理是由私有heap空间管理的。所有的Python对象和数据结构都在一个私有heap中。程序员没有访问该heap的权限,只有解释器才能对它进行操作。为Python的heap空间分配内存是由Python的内存管理模块进行的,其核心API会提供一些访问该模块的方法供程序员使用。Python有自带的垃圾回收系统,它回收并释放没有被使用的内存,让它们能够被其他程序使用。

数组和元组之间的区别是什么?

数组和元组之间的区别:数组内容是可以被修改的,而元组内容是只读的。另外,元组可以被哈希,比如作为字典的关键字。

参数按值传递和引用传递是怎样实现的?

Python中的一切都是类,所有的变量都是一个对象的引用。引用的值是由函数确定的,因此无法被改变。但是如果一个对象是可以被修改的,你可以改动对象。

Python中的unittest是什么?

在Python中,unittest是Python中的单元测试框架。它拥有支持共享搭建、自动测试、在测试中暂停代码、将不同测试迭代成一组,等等的功能。

Python中的模块和包是什么?

在Python中,模块是搭建程序的一种方式。每一个Python代码文件都是一个模块,并可以引用其他的模块,比如对象和属性。一个包含许多Python代码的文件夹是一个包。一个包可以包含模块和子文件夹。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-06-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python乱炖 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档