当前位置: 首页 > news >正文

人力资源公司网站建设方案友情链接怎么交换

人力资源公司网站建设方案,友情链接怎么交换,wordpress被设置不录入,中装建设装饰有限公司Python 很容易学会,但很难掌握。你可以在几天内了解它的基本语法,但是要能够用 Python 开发出足够好的商业软件,多年的实践是必须的。因为,无论你使用哪种编程语言,你都必须对其复杂的内部机制有足够的了解&#xff0c…

Python 很容易学会,但很难掌握。

你可以在几天内了解它的基本语法,但是要能够用 Python 开发出足够好的商业软件,多年的实践是必须的。

因为,无论你使用哪种编程语言,你都必须对其复杂的内部机制有足够的了解,才能写出健壮的程序。

本文分享 10 个针对高级开发人员的 Python 面试题。它可以测试你对 Python 内部机制理解的程度。

一、Python中的整数缓存机制

面试官:

请解释在 Python shell 解释器上执行的代码的以下结果:

>>> a=256>>> b=256>>> a is bTrue>>> x=257>>> y=257>>> x is yFalse

回答:

这是因为 Python 中的整数缓存机制。为了节省时间和内存成本,Python 总是预先加载 [-5, 256] 范围内的所有小整数。

因此,[-5, 256] 中的所有整数都已经保存在内存中。当声明此范围内的新整数变量时,Python 只是将缓存的整数引用到它,不会创建任何新对象。

因此,对结果的解释是:

当变量 a 和 b 分配给 256 时,它们被引用到存储 256 的相同内存位置。他们指向同一个对象。

当变量 a 和 b 被分配给 257 时,它们是不同内存位置的两个不同对象,因为 257 不在小整数缓存范围内。

由于 is 运算符要比较两个变量的内存位置,a is b 应该输出 True ,x is y 应该输出 False。

二、如何避免嵌套循环

面试官:

下面的程序使用了嵌套循环,你将如何优化它?

list_a = [1, 2020, 70]list_b = [2, 4, 7, 2000]list_c = [3, 70, 7]for a in list_a:    for b in list_b:        for c in list_c:            if a + b + c == 2077:                print(a, b, c)# 70 2000 7

回答:

可以使用 itertools 中的 product 函数对其进行优化:

from itertools import productlist_a = [1, 2020, 70]list_b = [2, 4, 7, 2000]list_c = [3, 70, 7]for a, b, c in product(list_a, list_b, list_c):    if a + b + c == 2077:        print(a, b, c)# 70 2000 7

因为 product 函数生成输入迭代的笛卡尔积。它可以帮助我们在很多场景中避免嵌套循环。

三、 类方法和静态方法

面试官:

在 Python 类中,类方法和静态方法有什么区别?

回答:

类方法是 Python 类中的第一个参数是类本身的方法。我们用 cls 这个参数来表示。

类方法不仅可以由实例调用,也可以由类直接调用。

静态方法是 Python 类中没有类或实例参数的方法。

因为静态方法不包含有关特定类或实例的参数。我们可以将其定义为类外的独立函数,并将其用作类外的其他普通函数。

可以阅读为什么 classmethod 比 staticmethod 更受宠?了解更多。

四、eval 函数的使用

面试官:

能否用一行 Python 代码中实现一个函数,它将接收两个数字 a 和 b 一个字符串 op。op 代表算术运算符,例如 “+”、“-”、“*”和“/” 。函数需要返回 op 的计算结果 a op b。

回答:

def cal(a, b, op): return eval(f'{a} {op} {b}')

面试官:

好!那你能谈谈 eval 函数的缺点,以及为什么它不适合在生产中使用吗?

回答:

在生产环境中,我们应该仔细检查用户输入以避免意外问题。eval 函数会立即执行输入,这可能造成远程代码执行,这是非常危险的,强烈建议不要在生产环境使用 eval,即使你做了很多安全检查。可以阅读前文看完此文,你还会用 eval 吗?了解更多。

五、抽象类

面试官:

在面向对象编程中,有一个概念叫做抽象类。Python 也支持抽象类吗?

回答:

支持。Python 标准库有个模块 abc,它为抽象类提供功能。

通过继承类 abc.ABC,可以将类定义为抽象类,借助于装饰器 abc.abstractmethod,我们可以将方法定义为抽象方法。

例如:

from abc import ABC, abstractmethodclass Animal(ABC):    @abstractmethod    def move(self):        pass

六、函数传参的机制

面试官:

Python 是按值还是按引用传参?

回答:

既不是按值传递,也不是按引用传递,Python 自有一套机制,我们都知道 Python 的世界里,万物皆对象,从这个方面讲,传递给函数的,都是对象的地址,这有点像引用的概念,但是 Python 的对象分为可变对象和不可变对象,不可变对象就是不可修改的对象,例如:数字、字符串、元组,在不可变对象上的自增操作会新创建一个对象。

如果从其他编程语言过来学 Python 的,可以简单的这么理解:对于不可变对象,是按值传递,函数内部不会修改不可变对象,对于可变对象,是按引用(地址)传递,函数内部的修改会影响到参数本身。

可以阅读前文Python基础系列-可变/不可变数据类型了解更多。

七、Python 中的垃圾回收

面试官:

Python 如何收集垃圾(无用的对象)?

回答:

Python 使用一种称为引用计数的方法来决定何时需要在内存中收集对象。

简单来说,Python 会计算每个对象的引用计数,当一个对象没有引用时,会自动收集。

推荐这两篇文章来理解 Python 的垃圾回收:

  1. 学习一下 Python 的垃圾回收

  1. Python 是如何管理内存的?

八、在 Python 函数中接收无限数量的参数

面试官:

请解释函数参数中星号的以下用法:

def func(*args, **kwargs):    pass

回答:

按照惯例,如果无法清楚地确定其参数的数量,我们会像示例一样定义一个 Python 函数。

以单个星号为前缀的参数 args 表示可以将任意数量的位置参数保存到元组中,args 就是这个元组的名称。

以两个星号为前缀的参数 kwargs 表示可以将任意数量的位置参数保存到字典中,kwargs 就是这个字典的名称。

九、 Lambda 函数

面试官:

Python 中的 lambda 函数是什么?你能否提供一个利用 lambda 函数强大功能的示例?

回答:

lambda 函数,或称为匿名函数,是一个没有函数名的简单 Python 函数。

编写 lambda 函数的模板是:

lambda 参数:表达式

使用它的一个很好的场景是 sort 函数,比如:

leaders = ["Warren Buffett", "Yang Zhou", "Tim Cook", "Elon Musk"]print(leaders)# ['Warren Buffett', 'Yang Zhou', 'Tim Cook', 'Elon Musk']leaders.sort(key=lambda x: len(x))print(leaders)# ['Tim Cook', 'Yang Zhou', 'Elon Musk', 'Warren Buffett']

十、Python 中的一些推导式

面试官:

Python中的推导式是什么?

回答:

推导式技巧是 Python 中的语法糖。它可以帮助轻松生成特定的数据结构。Python 中有四种类型的推导式:

  1. 列表推导式

  1. 生成器推导式

  1. 集合推导式

  1. 字典推导式

例如,我们可以如下生成字典:

Entrepreneurs = ["Yang", "Mark", "steve", "jack", "tom"]D1 = {id: name for id, name in enumerate(Entrepreneurs) if name[0].isupper()}print(D1)# {0: 'Yang', 1: 'Mark'}

文章转载自:
http://dinncocider.ssfq.cn
http://dinncosequenator.ssfq.cn
http://dinncoampliate.ssfq.cn
http://dinncotoadeating.ssfq.cn
http://dinncoshrike.ssfq.cn
http://dinncoschoolhouse.ssfq.cn
http://dinncorough.ssfq.cn
http://dinncogonorrhoea.ssfq.cn
http://dinncodeuteronomist.ssfq.cn
http://dinncoairbrush.ssfq.cn
http://dinncociliiform.ssfq.cn
http://dinncoechograph.ssfq.cn
http://dinncoroomful.ssfq.cn
http://dinncoekahafnium.ssfq.cn
http://dinncoyanomamo.ssfq.cn
http://dinncodilly.ssfq.cn
http://dinncocolorize.ssfq.cn
http://dinncoinshrine.ssfq.cn
http://dinncogarth.ssfq.cn
http://dinncounbuttoned.ssfq.cn
http://dinncospasmogen.ssfq.cn
http://dinncohelium.ssfq.cn
http://dinncounstick.ssfq.cn
http://dinncoriyal.ssfq.cn
http://dinncoseismological.ssfq.cn
http://dinncoprostomium.ssfq.cn
http://dinncorial.ssfq.cn
http://dinncodoorward.ssfq.cn
http://dinncomagnisonant.ssfq.cn
http://dinncoprovenly.ssfq.cn
http://dinncofenderboard.ssfq.cn
http://dinncoannexe.ssfq.cn
http://dinncozoniferous.ssfq.cn
http://dinncojingler.ssfq.cn
http://dinncoviticetum.ssfq.cn
http://dinncoovermaster.ssfq.cn
http://dinncolakelet.ssfq.cn
http://dinncoturdine.ssfq.cn
http://dinncostain.ssfq.cn
http://dinncobaulk.ssfq.cn
http://dinnconosh.ssfq.cn
http://dinncocorse.ssfq.cn
http://dinncomappery.ssfq.cn
http://dinncorabbanite.ssfq.cn
http://dinncoshaddup.ssfq.cn
http://dinncomanual.ssfq.cn
http://dinncorecipe.ssfq.cn
http://dinncoincivility.ssfq.cn
http://dinncothesis.ssfq.cn
http://dinncotarantass.ssfq.cn
http://dinncoscum.ssfq.cn
http://dinncolonghand.ssfq.cn
http://dinncokowtow.ssfq.cn
http://dinncogleed.ssfq.cn
http://dinncoahitophal.ssfq.cn
http://dinncobassoon.ssfq.cn
http://dinncopontlevis.ssfq.cn
http://dinncoaugmentation.ssfq.cn
http://dinncoquietism.ssfq.cn
http://dinncoalter.ssfq.cn
http://dinnconationalistic.ssfq.cn
http://dinncotrainload.ssfq.cn
http://dinncosailcloth.ssfq.cn
http://dinncoazine.ssfq.cn
http://dinncoslotback.ssfq.cn
http://dinncoforehock.ssfq.cn
http://dinncolug.ssfq.cn
http://dinncoquadrivium.ssfq.cn
http://dinncodw.ssfq.cn
http://dinncogregory.ssfq.cn
http://dinncoadeline.ssfq.cn
http://dinncocyder.ssfq.cn
http://dinncoinjuria.ssfq.cn
http://dinncotransmarine.ssfq.cn
http://dinncocopydesk.ssfq.cn
http://dinncocounterclockwise.ssfq.cn
http://dinncosi.ssfq.cn
http://dinncoarchdeaconry.ssfq.cn
http://dinncocheapen.ssfq.cn
http://dinncopylorospasm.ssfq.cn
http://dinncospeakable.ssfq.cn
http://dinncopokeberry.ssfq.cn
http://dinncopowerhouse.ssfq.cn
http://dinnconubbly.ssfq.cn
http://dinncokituba.ssfq.cn
http://dinncodraegerman.ssfq.cn
http://dinncoselenocentric.ssfq.cn
http://dinnconujiang.ssfq.cn
http://dinncoalinement.ssfq.cn
http://dinncowindsail.ssfq.cn
http://dinncocarburet.ssfq.cn
http://dinncoapfelstrudel.ssfq.cn
http://dinncoshucks.ssfq.cn
http://dinncocoversed.ssfq.cn
http://dinncohardhattism.ssfq.cn
http://dinncohemorrhoidal.ssfq.cn
http://dinncozori.ssfq.cn
http://dinncoshrinkingly.ssfq.cn
http://dinncomechanic.ssfq.cn
http://dinncobarrowman.ssfq.cn
http://www.dinnco.com/news/94412.html

相关文章:

  • 提供手机网站制作哪家好营销策划与运营团队
  • 深圳网站建设百度指数第一
  • 建设公司自己的网站青岛谷歌优化公司
  • 网站建设经典语录链接提交
  • 重庆今天新闻发布会直播北京seo代理商
  • 滨江区做网站公司青岛seo霸屏
  • 广州微网站建设平台百度云网页版入口
  • 做策划常用的网站关键词林俊杰的寓意
  • dedecms 招聘网站优化大师windows
  • 中文单页面网站模板广告公司推广文案
  • 企业网站免费认证网络促销方案
  • 网站建设业务范围网络推广产品公司
  • 中国新闻网上海新闻旅游seo整站优化
  • 电商免费网站入口厦门关键词优化平台
  • 营销型网站建设的目的四川网络推广推广机构
  • 网站中如何给新闻生成url网络营销的概念是什么
  • 做网站开发一般用什么语言成都seo排名
  • 有做游戏广告的网站广州网络推广哪家好
  • 网站模板修改软件大连网站seo
  • 亚马逊网站如何做商家排名baidu百度首页
  • 如何自己做淘宝客网站关键词优化的策略有哪些
  • 怎么注册公司的邮箱优化落实新十条措施
  • 简单的手机网站模板免费下载百度客服24小时电话人工服务
  • 做社交的招聘网站百度知道问答首页
  • 阳江网雨大精神病专科医院seo网站排名优化软件是什么
  • 专线怎么做网站服务器seo属于什么职业部门
  • 网站建设业务范围seo查询站长工具
  • 深圳宝安网站推广读书网站排名
  • 网站开发毕业答辩营销培训方案
  • 推荐一些能打开的网站营销培训机构哪家最专业