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

张家界官方网站2023年1月热点新闻事件

张家界官方网站,2023年1月热点新闻事件,洛阳最新消息,常青藤网站建设文章目录前言应试者需知#xff08;一#xff09;Python 语言基础能力评估1、理解问题并完成代码#xff1a;2、阅读理解代码#xff0c;并在空白处补充完整代码#xff1a;3、编写一个装饰器#xff1a;exposer4、阅读代码并在空白处补充完整代码#xff1a;5、自行用P… 文章目录前言应试者需知一Python 语言基础能力评估1、理解问题并完成代码2、阅读理解代码并在空白处补充完整代码3、编写一个装饰器exposer4、阅读代码并在空白处补充完整代码5、自行用Python代码实现一个简单的.ini配置文件解析类结语前言 大家好我是writer桑。这是自己整理的 Python 真实的面试题分享出来一起学习。本章内容展示的是试题的第一部分 Python 语言基础能力评估。未经作者允许禁止转载。附上笔者的代码并非标准答案仅供参考如有不同的见解欢迎私信评论区讨论。 应试者需知 1、本能力评估试题旨在全面评估Python软件工程师的知识结构和技能水平试题会涵盖Python语言的基础知识、Linux操作系统常识、Linux Shell命令、计算机网络知识、Web前/后端开发相关的知识等多个维度。 一些试题因应试者的知识/经验没有涵盖到而无法作答属于正常现象作答时请不要困扰于自己能力范围之外的问题而影响其它试题作答、进而影响能力评估结果和影响自己的信心。无法作答的问题应直接跳过不要勉强【能答对30% - 50%的试题属于正常水平】 2、认真阅读试题所提出的问题、仔细分析试题所描述的上下文内容包括代码上下文、代码内的注释提示尽自己的能力去理解和分析不会有考官对问题进行另行解释。 3、作答时间60分钟请恪守诚信、不要舞弊本考试仅作为一种能力评估手段每个试题/填空没有定量评分请不要主观猜测试题的分值比重及其对考核成绩的占比。 一Python 语言基础能力评估 1、理解问题并完成代码 代码示例 def roution(arg1, *args, **kwargs):print(arg1)print(args)print(kwargs)# 以主进程的方式运行 if __name__ __main__:roution(value1, value2,3,extra_args hello,world)运行结果 补充说明 直接使用 print 输出函数进行输出即可。 2、阅读理解代码并在空白处补充完整代码 代码示例 import inspect import typing from typing import Callable, List def parse_func_args(func: Callable): # 判断参数func是否为可调用对象 result {} # 判断函数是否为异步调用if inspect.isasyncgenfunction(func):result[async_call] True else: result[async_call] False result[func] func result[doc] inspect.getdoc(func) # 获取可调用对象的文档字符串 sign inspect.signature(func) # signature 函数获取函数的签名对象包括参数信息。pos_args [] kw_args [] result[pos_args] pos_argsresult[kw_args] kw_args for param in sign.parameters.values():if param.name check_list or param.name result_list: continue # 开始判断每个param参数的属性item {name: param.name} if param.default is not inspect._empty:item[optional] True else: item[optional] Falseif param.annotation is inspect._empty:item[type] str # 补充代码检查参数是否为str, int, float, bool 类型 elif param.annotation is str:item[type] strelif param.annotation is int:item[type] intelif param.annotation is float:item[type] floatelif param.annotation is bool:item[type] boolelif param.annotation is list or param.annotation is typing.List[str]:item[type] listelse:item[type] str # defaultif param.kind inspect.Parameter.POSITIONAL_ONLY or \param.kind inspect.Parameter.POSITIONAL_OR_KEYWORD:result[pos_args].append(item)else:result[kw_args].append(item)return result def func(num1: str, num2: int):return num1 * num2 # 以主进程的方式运行 if __name__ __main__:func(123,11)result parse_func_args(func)print(result)运行结果 补充说明 原题中关于位置参数、关键字参数的描述不是很合理麻烦大家自行甄别。上例中笔者写的代码也不是很好仅作参考。 3、编写一个装饰器exposer 代码示例 def exposer(a_func):def write_key(self, key):global_table[key] selfreturn a_func(self)return write_key# 假设有一个全局的Dict对象 “global_table” global_table {} #编写的装饰器可用于任何自定义类的__init__方法装饰如下 class AnyType: exposerdef __init__(self):pass#被装饰过的类在构造时用户可指定一个名为 “key” 的参数 #此时新建的对象将以该key为索引记录在全局Dict对象“global_table”中。 object1 AnyType(key id001) object2 AnyType(key id002)print(global_table) # 此时global_table的内容将记录为 # { “id001”: object1, “id002”: object2 } 运行结果 补充说明 装饰器的写法有很多不止上例的一种。若有更好的写法欢迎评论区或者私信讨论。 4、阅读代码并在空白处补充完整代码 代码示例 import asyncio msg_queue []msg_lock asyncio.Lock() # 定义消息队列的锁 signal_event asyncio.Event() # 定义信号事件async def backend_task():try:for counter in range(0,1000):async with msg_lock: # 在访问msg_queue之前先获得锁msg_queue.append(fmsg{counter})signal_event.set() # 设置信号事件通知main函数可以取出消息了await asyncio.sleep(0.5)except asyncio.CancelledError: # 处理任务被取消的异常print(后台任务被取消!)returnexcept Exception as e: # 处理其他未知异常print(未知异常!)returnasync def main():task asyncio.create_task(backend_task())try:await signal_event.wait() # 等待信号事件async with msg_lock: # 在访问msg_queue之前先获得锁msg msg_queue.pop()print(f获取到后台任务的通知消息 {msg})except Exception: # 处理异常print(异常正在停止后台任务…)task.cancel() # 取消后台任务await task # 等待后台任务结束loop asyncio.get_event_loop()try:loop.run_until_complete(main()) finally:loop.close() # 关闭事件循环 运行结果 补充说明 此题考查的是 python 中的 asyncio 模块需要对 asyncio 模块中的锁和事件的应用有一定的掌握程度。 5、自行用Python代码实现一个简单的.ini配置文件解析类 代码示例 import configparser# 一个简单的.ini配置文件解析类 class IniClass:def analysis_method():# 实例化一个 ConfigParser 实例 config configparser.ConfigParser() # 打开 ini 文件 config.read(./cfg.ini, encoding utf-8)# 获取所有的 section print(config.sections())# [SectionName, Section2]# 指定section的所有parameter print(config[Section2])# 指定section输出value值print(config[Section2].values())# 指定section以item的形式输出print(config[Section2].items())# 以主进程的方式运行 if __name__ __main__: IniClass.analysis_method()ini 文件的内容文件名为 cfg 运行结果 补充说明 解析 .ini 文件可以使用 python 中的 configparser 库这个库用法很多并不局限于上例。 结语 以上就是 Python 语言基础能力评估的展示啦希望能够帮到大家感谢大家的支持。再次声明笔者的代码仅作参考。
http://www.w-s-a.com/news/57912/

相关文章:

  • 高校网站建设方案网站推广软件下载安装免费
  • 重庆没建网站的企业网站开发软件 连接SQL数据库
  • 百度申诉网站沉默是金
  • 如何自己建网站wordpress图片延时加载
  • 甘肃省住房和城乡建设厅注册中心网站千博企业网站管理系统2013
  • 西餐厅网站模板seo搜索引擎优化ppt
  • 什么做的网站吗wordpress注册可见插件
  • 献县做网站价格可以提升自己的网站
  • 如何修改网站title建设网站只能是公司
  • 网站推广效果怎么样建设工程公司组织架构图
  • 成都制作网站价格表网站安全证书过期怎么办
  • 高校图书馆网站的建设方案湖南常德市
  • 房地产怎么做网站推广wordpress插件汉化下载
  • 一般pr做视频过程那个网站有无锡网络公司平台
  • 安徽网站推广系统网站根目录权限设置
  • 班级网站建设需求智慧校园登录入口
  • asp.net网站发布到虚拟主机电商设计网站哪个好
  • 做的网站怎么转成网址链接企业为什么要找会计
  • 关于建设网站的情况说明书文化建设方面的建议
  • 订票网站开发公司大通证券手机版下载官方网站下载
  • 网店美工的意义与发展佛山推广seo排名
  • 网站在建设中模板自助云商城
  • 珠海网站设计建建建设网站公司网站
  • 广州高端网站制作公司哪家好网页制作公司 软件
  • 最快做网站的语言百度站长反馈
  • 简单网站设计价格手机网站技巧
  • 什么颜色做网站显的大气网站建设的含盖哪方面
  • 没网站怎么做二维码扫描连接济南做网站推广哪家好
  • 台州建设规划局网站搞外贸一般是干什么的
  • 怎么提高自己网站的知名度电子商务是建网站