Python面试经典问题50问及答案

答:浅拷贝在创建新实例类型时会用到,并保留在新实例中复制的值。浅拷贝用于复制引用指针,就像复制值一样。这些引用指向原始对象,并且在类的任何成员中所做的更改也将影响它的原始副本。浅拷贝允许更快地执行程序,它取决于所使用的数据的大小。

深拷贝用于存储已复制的值。深层复制不会将引用指针复制到对象。它引用一个对象,并存储一些其他对象指向的新对象。原始副本中所做的更改不会影响使用该对象的任何其他副本。由于为每个被调用的对象创建了某些副本,因此深层复制会使程序的执行速度变慢。

答:

答:三元运算符是用于显示条件语句的运算符。这包含用于评估为true或false值的语句。

句法:

三元操作符语法如下,[on_true]if[expression]else[on_false]

例:

x,y=25,50

big=xifx

如果x

答:继承允许一个类获得另一个类的所有成员(比如属性和方法)。继承提供代码可重用性,使创建和维护应用程序变得更容易。我们继承的类称为super-class,继承的类称为派生/子类。

以下是Python支持的不同类型的继承:

答:Flask是基于“Werkzeug,Jinja2和良好意图”BSD许可证的Python网络微框架。Werkzeug和Jinja2是它的两个依赖项。这意味着它对外部库几乎没有依赖性。它使框架变得轻盈,只是少量依赖于更新和更少的安全性错误。

会话基本上允许您记住从一个请求到另一个请求的信息。在flask中,会话使用签名的cookie,以便用户可以查看会话内容并进行修改。当且仅当有密钥Flask.secret_key,用户可以修改会话。

答:Help()和dir()这两个函数都可以从Python解释器访问,并用于查看内置函数的合并转储。

答:Python中的内置数据类型称为字典。它定义了键和值之间的one-to-one关系。字典包含一对键及其对应的值。字典由键来索引。

我们来举个例子:

以下示例包含一些键,Country,Capital&PM,它们的相应值分别是印度,德里和莫迪。

dict={'Country':'India','Capital':'Delhi','PM':'Modi'}printdict[Country]Indiaprintdict[Capital]Delhiprintdict[PM]ModiQ12。什么是Pythonmonkey补丁?答:在Python中,术语monkey补丁仅指run-time上的类或模块的动态修改。

考虑以下示例:

#m.pyclassMyClass:deff(self):print"f()"然后我们可以像这样运行monkey-patch测试:

importmdefmonkey_f(self):print"monkey_f()"m.MyClass.f=monkey_fobj=m.MyClass()obj.f()输出如下:

monkey_f()我们可以看到,在模块之外,我们确实对函数f()的行为做了一些改变,实际执行的是函数monkey_f(),。

答:我们用*args当我们不确定将多少个参数传递给函数时,或者我们是否要将存储的列表或参数元组传递给函数时。**kwargs当我们不知道将多少关键字参数传递给函数时,或者它可以用于将字典的值作为关键字参数传递时使用。标识符args和kwargs是一个约定,你也可以使用*bob和**billy,但这不是明智之举。

答:我们先写一个多行解决方案,然后将其转换为一个班轮代码。

withopen(SOME_LARGE_FILE)asfh:count=0text=fh.read()forcharacterintext:ifcharacter.isupper():count+=1我们现在尝试将其转换为单行。

答:考虑下面显示的示例:

fromrandomimportshufflex=['Keep','The','Blue','Flag','Flying','High']shuffle(x)print(x)以下代码的输出如下。

['Flying','Keep','Blue','High','The','Flag']Q17。在python中编译和链接的过程是什么?答:编译和链接允许正确编译新扩展而不会出现任何错误,并且只有在通过编译过程时才能进行链接。如果使用动态加载,则它取决于系统提供的样式。python解释器可用于提供配置设置文件的动态加载,并将重建解释器。

这需要的步骤如下:

答:以下代码可用于在Python中对列表进行排序:

A0={'a':1,'c':3,'b':2,'e':5,'d':4}#theordermayvaryA1=range(0,10)A2=[]A3=[1,2,3,4,5]A4=[1,2,3,4,5]A5={0:0,1:1,2:4,3:9,4:16,5:25,6:36,7:49,8:64,9:81}A6=[[0,0],[1,1],[2,4],[3,9],[4,16],[5,25],[6,36],[7,49],[8,64],[9,81]]Q20。Python解释“re”模块的split(),sub(),subn()方法。答:要修改字符串,Python的“re”模块提供了3种方法。他们是:

答:随机模块是用于生成随机数的标准模块。该方法定义为:

importrandomrandom.random语句random.random()方法返回[0,1]范围内的浮点数。该函数生成随机浮点数。随机类使用的方法是隐藏实例的绑定方法。可以使用Random的实例来显示创建不同单个线程实例的multi-threading程序。其中使用的其他随机生成器是:

答:在大多数情况下,xrange和range在功能方面完全相同,它们都提供了一种生成整数列表供您使用的方法。唯一的区别是range返回一个Python列表对象,xrange返回一个xrange对象。

这意味着xrange实际上并不像run-time那样生成静态列表。它使用称为yielding的特殊技术根据需要创建值。该技术与一种称为生成器的对象一起使用。这意味着,如果你有一个非常巨大的范围,你想生成一个列表,比如10亿,xrange就是要使用的功能。

如果你有一个真正的内存敏感系统,例如你正在使用的手机,尤其如此,因为range将使用尽可能多的内存来创建整数数组,这可能导致内存错误并导致崩溃程序。

答:Pickle模块接受任何Python对象并将其转换为字符串表示形式,并使用dump函数将其转储到文件中,此过程称为pickling。从存储的字符串表示中检索原始Python对象的过程称为unpickling。

答:DjangoMVT模式:

开发人员提供模型,视图和模板,然后将其映射到URL,Django可以为用户提供服务。

答:您可以使用命令editmysite/setting.py,它是一个普通的python模块,模块级别代表Django设置。

我们将添加以下代码行文件:

DATABASES={'default':{'ENGINE':'django.db.backends.sqlite3','NAME':os.path.join(BASE_DIR,'db.sqlite3'),}}

答:在Django中编写视图:

答:模板是一个简单的文本文件。它可以创建任何text-based格式,如XML,CSV,HTML等。模板包含在评估模板时替换为值的变量和控制模板逻辑的标记(%tag%)。

所以数据本身并不存储在客户端。从安全角度来看,这很好。

答:在Django中,有三种可能的继承样式:

答:我们将使用以下代码从URL地址本地保存图像

importurllib.requesturllib.request.urlretrieve("URL","local-filename.jpg")Q32。如何获取任何网址或网页的Google缓存时限?答:使用以下URL格式:

答:我们将使用以下代码行:

答:Map函数执行作为第一个参数给出的函数,该函数遍历第二个参数给出的迭代的所有元素的。如果给定的函数包含多于1个参数,则给出了许多迭代。

答:我们可以使用以下代码获取NumPy数组中N个最大值的索引:

importnumpyasnparr=np.array([1,3,2,4,5])print(arr.argsort()[-3:][::-1])输出

[431]Q36。你如何用Python/NumPy计算百分位数?答:我们可以使用以下代码计算百分位数

importnumpyasnpa=np.array([1,2,3,4,5])p=np.percentile(a,50)#Returns50thpercentile,e.g.medianprint(p)输出

3Q37。NumPy阵列(arrays)相对(嵌套)Python列表(lists)有哪些优势?答:

答:Python中的装饰器用于修改或注入函数或类中的代码。使用装饰器,您可以包装类或函数方法调用,以便在执行原始代码之前或之后执行一段代码。装饰器可用于检查权限,修改或跟踪传递给方法的参数,将调用记录到特定方法等。

答:与2D绘图一样,3D图形超出了NumPy和SciPy的范围,但就像2D情况一样,存在与NumPy集成的包。Matplotlib在mplot3d子包中提供基本的3D绘图,而Mayavi使用功能强大的VTK引擎提供各种high-quality3D可视化功能。

回答:b,c,d。

通过指定键和值来创建字典。

回答:b)//

例如,5.0/2=2.5,5.0//2=2

回答:d)以上都不是

标识符可以是任意长度。

回答:a)它们用于表示类的私有变量

由于Python没有私有变量的概念,因此前导下划线用于表示不能从类外部访问的变量。

回答:b)abc=100020003000

变量名称中不允许使用空格。

try:if'1'!=1:raise"someError"else:print("someErrorhasnotoccured")except"someError":print("someErrorhasoccured")a)发生了someErrorb)没有发生someErrorc)无效代码d)以上都不是回答:c)无效代码

新的异常类必须从BaseException继承。这里没有这样的继承。

回答:c)25

索引-1对应于列表中的最后一个索引。

回答:b)该位置包含双斜杠(\\),w用于指示正在写入文件。

f=Noneforiinrange(5):withopen("data.txt","w")asf:ifi>2:breakprintf.closeda)Trueb)Falsec)Noned)Error回答:a)True

与open文件一起使用时,WITH语句可确保在with块退出时关闭文件对象。

THE END
1.首页公开公示项目申报在线服务监督评估伦理登记平台查看当前申报计划一览表。根据申报指南要求确定申报专项、技术方向等。 尚未在服务平台注册的单位,请进入“在线服务”页面点击“单位备案”完成注册。 注册信息通过审核后,以单位管理员账号登录系统,创建填报用户,进入“新项目申请”模块,授权该用户填报。 1、单位管理员创建项目 https://service.most.gov.cn/xmtj/?type=sbsm
2.基于JSP的高校科研项目信息管理系统设计与实现本系统相对于我查阅到的其他高校科研项目信息管理系统具有如下优点:其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好。 本系统在技术层面具有如下优点:第一,用java实现动态页面,使软件系统具备了很好的可维护性和可复用性。其次,在本系统的编写流程中使用的是Spring Boot框架,该框https://blog.csdn.net/yh1340327157/article/details/144395950
3.meta动态生成javamob649e8154b5bf的技术博客尽管示例相对简单,但它为更复杂的动态代码生成奠定了基础。你可以扩展这个概念,考虑生成更复杂的类,包括多个属性、方法以及遵循设计模式。 动态生成代码不仅可以提高开发效率,还能够满足不同行业的特定需求。希望这篇文章能够帮助你理解动态生成 Java 代码的基本过程和实现方法。祝你在编程的道路上越走越远!https://blog.51cto.com/u_16175435/12795711
4.关于2024年广西科技计划项目进展报告填写事项的通知通知公告各单位、部门: 根据广西科技计划项目管理的相关规定,为做好2024年广西科技计划项目(简称项目)进展报告有关填写事项,现将具体要求通知如下:一、填报要求 1.所有在研及到期项目(部分到期项目会要求补执行报告)的负责人,请登录广西科技管理信息平台(http://gkg.kjhttps://www.gxtcmu.edu.cn/kjc/tzgg/content_76701
5.杭州数跑科技申请预览视图生成方法专利,提高开发效率调用插件金融界2024年12月4日消息,国家知识产权局信息显示,杭州数跑科技有限公司申请一项名为“预览视图的生成方法、装置及电子设备”的专利,公开号 CN 119065667 A,申请日期为 2024 年 7 月。 专利摘要显示,本申请提出了一种预览视图的生成方法、装置及电子设备,涉及大数据技术领域,其中,方法包括:Android Studio 插件获取预https://www.163.com/dy/article/JIJBFIGN0519QIKK.html
6.软件测试面试必杀篇:2024软件测试面试八股文宝典72、 HTTP的超时有哪三种? 73、 在什么地方设置HTTP页面filter? 74、 如何设置可以让一个虚拟IP对应到一个Vuser? 75、 ≈什么是contentcheck?如何来用? 76、 network中的speed simulation是模拟的什么带宽? 77、 生成WEB性能图有什么意义?大概描述即可。 https://maimai.cn/article/detail?fid=1834543922&efid=hd_N8vt67RYeT16kXOYD4Q
7.财务会计总账EASCloudV8.62、生成的冲销凭证可以是提交状态,参数reverseSubmit=true。 3、冲销成功的话,结果会返回冲销凭证的id(key为reverseSubmit),冲销凭证的编码(key为reverseVoucherNumber)。 4、该修改回迁到了主干,88 提单号:无 功能点:基础资料查询接口 应用场景:查询核算项目类型 https://vip.kingdee.com/article/428504861009549056
8.topor日志topor的个人空间Offline 模式在类被加载前,加入字节码。 On the fly 模式比较方便,缺点也比较明显,如它不能为被 boot class loader 加载的类生成覆盖率报告,也不能为像 J2EE 容器那种自己有独特 class loader 的类生成覆盖率报告。这时,我们能求助于 Offline 模式。 http://www.51testing.com/html/62/115462-type-blog.html
9.国铁商城企业在商城上产生订单进入到结算阶段时,需要通过企业复审,才能进入到铁路财务结算系统,建议企业及时查看企业认证的初审和复审情况,确保通过。 随机码常见问题 1. 平台目前有几种登陆方式?有什么区别? 方式 权限 操作 手机登录 只能查看公告和进行变更操作 输入手机号、密码和短信验证码登录 随机码登录 可https://mall.95306.cn/mall-view/noticeRe?id=17
10.什么是WebStormWebStorm简介WebStorm的优势以及应用嘲WebStorm的调试器支持自定义调试配置,可以根据项目需要进行调试设置。 WebStorm的插件和扩展功能如何使用? 打开插件窗口 在WebStorm的菜单栏中选择File -> Settings,打开WebStorm的设置窗口。 选择插件 在设置窗口中选择Plugins,可以查看已安装的插件和可用的插件。 https://cloud.tencent.com/developer/techpedia/1852
11.数据挖掘实践(金融风控):金融风控之贷款违约预测挑战赛(上篇)[xg项目链接以及码源见文末 1.1 数据介绍 赛题以预测用户贷款是否违约为任务,数据集报名后可见并可下载,该数据来自某信贷平台的贷款记录,总数据量超过 120w,包含 47 列变量信息,其中 15 列为匿名变量。为了保证比赛的公平性,将会从中抽取 80 万条作为训练集,20 万条作为测试集 A,20 万条作为测试集 B,同时会对https://xie.infoq.cn/article/4d588ac3a87184aaf67ae0a2a
12.ARouter开源框架详解从而实现路由表的初始化注入的,但是这种方式的效率太低的,需要遍历项目中的所有类,并提取出路由表生成的相关类,但这个模块通过gradle-plugin插件技术(grovvy)和ASM字节码生成技术实现在打包生成apk时,在LogisticsCenter类的loadRouterMap()函数动态添加生成的路由类的注入的代码,从而实现项目路由表、拦截器等信息的初始化https://www.jianshu.com/p/0e5e3ed15e01
13.IntelliJIDEAUltimate2023中文破解JetBrainsInt对于刚接触IntelliJ IDEA和编码的用户,我们引入了打开包含示例代码与入门提示的新项目的选项。在New Project(新建项目)向导中,选中Generate code with onboarding tips(使用入门提示生成代码)获得基本沙盒项目,其中包含演示IDE基本功能的提示。遵循这个小指南,用户可以尝试Search Everywhere(随处搜索)功能、应用快速修复、运行http://www.sd173.com/soft/11969.html
14.php随机生成4位短信验证码短信API接口短信发送平台php随机生成4位短信验证码开发教程 1、免费注册短信账号 互亿无线短信平台会员免费注册(平台将自动免费向每位会员赠送测试短信) 2、短信发送逻辑 短信业务流程说明 3、查看短信API接口文档 登录互亿无线短信平台可以查看短信发送功能使用向导,查看API接口文档。 https://www.ihuyi.com/citiao/detail/5/phpsuijishengcheng4weiduanxinyanzhengma.html
15.若依ruoyi框架整合magicapi增删改查Demo{/*** 构建请求结果* @param requestEntity 请求相关信息* @param code 状态码* @param message 状态说明* @param data 数据内容,可以通过data的类型判断是否是分页结果进行区分普通结果集和分页结果集* @return*/@OverridepublicObjectbuildResult(RequestEntityrequestEntity,intcode,Stringmessage,Objectdata) {// https://developer.aliyun.com/article/972051
16.git和gerrit技巧大型项目实战总结&CR经验本文是站在别人的 commit 上去 merge 和 patch 我自己独具特色的理解,从而生成一个更好的 commit ,然后留给大家日后更好的 merge 和 patch ,技术在一次次 patch 中不断进步。 开门见山 在实际项目开发中,能灵活的使用 git 和 gerrit 是一个很重要的事情,一方面可以提高团队开发效率,另一方面可以把控项目的代码https://www.eet-china.com/mp/a312145.html
17.新华三在《新华三2023十大技术趋势白皮书》中,我们寻找到中国经济高质量发展的更多脉络,在客观的“必然性”和“随机性”中,以躬耕者与体验者双重身份,在数字中国增添属于自己的一笔,为人们的美好生活,注入确定性的力量。 了解更多 数字化领航 城市发展指数 十大技术趋势 https://www.h3c.com/
18.叮当科技码里云官网叮当科技为客户提供装饰项目全生命周期的数字化解决方案,是以装饰工程领域专业应用为核心支撑,提供产业大数据增值服务的数字装饰平台服务商。主要是提供工程项目成本管理系统、工程项目材料管理系统、工程项目进度管理系统、工地劳务管理系统、工地考勤管理系统、装修施工http://maliyun.cn/
19.接口测试1、断言响应状态码 名称: Status code: Code is 200 步骤: 1)在 Tests 标签中,选中 Status code: Code is 200,生成对应码 2)适当调整 test() 方法参数1,和 匿名函数中的预期结果 3)点击 send 按钮,发送请求,执行断言代码 4)查看断言结果 示例:断言响应状态码是否为200 https://www.go-soft.cn/news/cjwt/776.html
20.MyBatisGenerator使用过程中踩过的一个坑SpringBoot实战电商项目mall(20k+star)地址: 摘要 在使用MyBatis Generator生成代码的过程中,曾经遇到一个坑,每次生成mapper.xml的时候并不是直接覆盖原文件,而是在原文件中追加了新的内容,导致运行项目出错,本文主要讲解如何解决这个问题。 问题重现 示例代码 https://www.imooc.com/article/292348
21.ASP.NETCore适用于.NET的开源Web框架使用一个堆栈快速生成 Web 应用 ASP.NET Core 附带生成 Web 应用所需的一切内容,其中包括 Web UI 框架 Blazor,可用于快速创建在任何位置运行的快速、安全且可靠的 Web 应用。 详细了解 Blazor API 为一系列客户端(包括浏览器和移动设备)开发 REST API https://asp.net/