我的编程空间,编程开发者的网络收藏夹
学习永远不晚

2019年,Python工程师必考的6个

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

2019年,Python工程师必考的6个

第1题:Python里面如何实现tuple和list的转换?

函数tuple(seq)可以把所有可迭代的(iterable)序列转换成一个tuple, 元素不变,排序也不变

list转为tuple:

temp_list = [1,2,3,4,5]

将temp_list进行强制转换:tuple(temp_list)
确定是否转换成功:print(type(temp_list))

函数list(seq)可以把所有的序列和可迭代的对象转换成一个list,元素不变,排序也不变

tuple 转为list:

temp_tuple = (1,2,3,4,5)

方法类似,也是进行强制转换即可:list(temp_tuple)
确定是否转换成功:print(type(temp_tuple))

第2题:Python里面search()和match()的区别?

它们两个都在re模块

  • match()函数是在string的开始位置匹配,如果不匹配,则返回None;
  • search()会扫描整个string查找匹配;

match()

>>> import re
>>> print(re.match('hello','helloworld').span())  # 开头匹配到
(0, 5)
>>> print(re.match('hello','nicehelloworld').span()) # 开头没有匹配到
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    print(re.match('hello','nicehelloworld').span())
AttributeError: 'NoneType' object has no attribute 'span'
>>> 
>>> print(re.search('a','abc'))
<_sre.SRE_Match object; span=(0, 1), match='a'>
>>> print(re.search('a','bac').span())
(1, 2)
>>> 

结论:match() 使用限制更多

第3题: 如何用Python删除一个文件?

os模块的使用

os.remove(path)

删除文件 path,删除时候如果path是一个目录, 抛出 OSError错误。如果要删除目录,请使用rmdir()。

remove() 同 unlink() 的功能是一样的

 os.remove('a.txt')

os.removedirs(path)

递归地删除目录。类似于rmdir(), 如果子目录被成功删除, removedirs() 将会删除父目录;但子目录没有成功删除,将抛出错误。

例如, os.removedirs(“a/b/c”) 将首先删除c目录,然后再删除ba, 如果他们是空的话,则子目录不能成功删除,将抛出 OSError异常

os.rmdir(path)
删除目录 path,要求path必须是个空目录,否则抛出OSError错误

第4题: is 和 == 的区别?

hon中对象包含的三个基本要素,分别是:id(身份标识)type(数据类型)value(值)

id 身份标识,就是在内存中的地址

完整的举例

>>> a = 'hello'
>>> b = 'hello'
>>> print(a is b)
True
>>> print(a==b)
True
>>> a = 'hello world'
>>> b = 'hello world'
>>> print(a is b)
False
>>> print(a == b)
True
>>> a = [1,2,3]
>>> b = [1,2,3]
>>> print(a is b)
False
>>> print(a == b)
True
>>> a = [1,2,3]
>>> b = a
>>> print(a is b)
True
>>> print(a == b)
True
>>> 
  • ==是python标准操作符中的比较操作符,用来比较判断两个对象的value(值)是否相等
  • is也被叫做同一性运算符(对象标示符),这个运算符比较判断的是对象间的唯一身份标识,也就是id(内存中的地址)是否相同

我们在检查 a is b 的时候,其实相当于检查 id(a) == id(b)。而检查a == b 的时候,实际是调用了对象 a 的 __eq()__ 方法,a == b 相当于 a.__eq__(b)

这里还有一个问题,为什么 a 和 b 都是 "hello" 的时候,a is b 返回True,而 a 和 b都是 "hello world" 的时候,a is b 返回False呢?

这是因为前一种情况下Python的字符串驻留机制起了作用。对于较小的字符串,为了提高系统性能Python会保留其值的一个副本,当创建新的字符串的时候直接指向该副本即可。

所以 "hello" 在内存中只有一个副本,a 和 b 的 id 值相同,而 "hello world" 是长字符串,不驻留内存,Python中各自创建了对象来表示 a 和 b,所以他们的值相同但 id 值不同。

试一下当a=247,b=247时它们的id还是否会相等。事实上Python 为了优化速度,使用了小整数对象池,避免为整数频繁申请和销毁内存空间。而Python 对小整数的定义是 [-5, 257),只有数字在-5到256之间它们的id才会相等,超过了这个范围就不行了。

>>> a = 247
>>> b = 247
>>> print(a is b)
True
>>> a = 258
>>> b = 258
>>> print(a is b)
False
>>> 

is 是检查两个对象是否指向同一块内存空间,而 ==是检查他们的值是否相等。is比==更加严格

第5题:a=1, b=2, 不用中间变量交换a和b的值?

方法一

>>> a = 5
>>> b = 6
>>> a = a+b
>>> b = a-b
>>> a = a-b

方法二

>>> a = a^b
>>> b = b^a
>>> a = a^b

方法三

a,b = b,a 

第6题:说说你对zen of python的理解,你有什么办法看到它?

Python之禅
import this

python彩蛋

知道就知道了,不知道你现在已经知道了,搜索一下去吧

微信搜索:非本科程序员,关注吧

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

2019年,Python工程师必考的6个

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

2019年,Python工程师必考的6个

第1题:Python里面如何实现tuple和list的转换?函数tuple(seq)可以把所有可迭代的(iterable)序列转换成一个tuple, 元素不变,排序也不变list转为tuple:temp_list = [1,2,3,4,5]
2023-01-31

2019年网络工程师考试大纲

  相信准备报名2019年网络工程师的考生都会关注它的考试大纲,今天编程学习网小编为大家整理了往年网络工程师考试大纲,供大家参考。  1.考试目标  通过本考试的合格人员能根据应用部门的要求进行网络系统的规划、设计和网络设备的软硬件安装调试工作,能进行网络系统的运行、维护和管理,能高效、可靠、安全地管理网络资源,作为网络专
2019年网络工程师考试大纲
2024-04-18

2019年上半年网络工程师考试时间

  网络工程师每年有两次考试,那么2019年上半年网络工程师考试时间是什么时候?请准备报名的考生赶紧跟编程学习网小编一起来看下2019上半年软考网络工程师考试时间吧!  根据往年软考考试时间安排来看,2019年上半年网络工程师考试时间:预计为5月18日。  由于每年软考考试时间并不是固定的,具体请大家关注全国软考办公布的2
2019年上半年网络工程师考试时间
2024-04-18

2019年下半年软考网络工程师答案

  有考生在关注2019年下半年软考网络工程师真题与答案,那么2019年下半年网络工程师答案是怎样的呢?今天编程学习网小编来为大家解答。  2019年下半年软考网络工程师在11月9日考试,由于还没有开考,因此真题与参考答案暂时还没有出来。关注网络工程师答案的考生不妨先参考下2019年上半年网络工程师的真题与答案解析,相信对
2019年下半年软考网络工程师答案
2024-04-18

2019年软考网络工程师报名时间

  很多考生在关注2019年软考网络工程师报名时间,网络工程师属于软考中级,那么2019年软考网络工程师报名时间是什么时候呢?准备报名的考生跟编程学习网小编一起来看看2019年软考网络工程师报名时间吧!  软考网络工程师每年有两次考试,根据往年软考报名时间来看,2019年网络工程师报名预计上半年各省从2月底陆续开始;下半年
2019年软考网络工程师报名时间
2024-04-18

2019下半年网络工程师考试大纲

  很多考生在备考2019下半年网络工程师考试,今天编程学习网小编为大家整理了网络工程师考试大纲,供大家参考。  1.考试目标  通过本考试的合格人员能根据应用部门的要求进行网络系统的规划、设计和网络设备的软硬件安装调试工作,能进行网络系统的运行、维护和管理,能高效、可靠、安全地管理网络资源,作为网络专业人员对系统开发进行
2019下半年网络工程师考试大纲
2024-04-18

2019年数据库系统工程师考试时间

  2018年数据库系统工程师考试已经结束,很多考生在关注2019年数据库系统工程师考试时间是什么时候呢?相信不少考生准备报名2019年数据库系统工程师,今天编程学习网小编跟大家说说2019年数据库系统工程师考试时间安排吧!  软考数据库系统工程师每年只考一次,通常安排在上半年考试。根据往年数据库系统工程师考试时间安排来看
2019年数据库系统工程师考试时间
2024-04-18

2019年安全工程师考试时间有多久?

  2019年安全工程师考试时间有多久?2019年安全工程师考几个小时?2019年安全工程师考试可以迟到吗?今天编程学习网小编来为大家安全工程师考试报名等相关问题,详情见下文:  2019年中级注册安全工程师考试安排在11月16日、117日,总共有4个科目的考试,每个科目考试时长均为2.5小时,具体考试时间安排如下:  安
2019年安全工程师考试时间有多久?
2024-04-18

2019年上半年软考中级网络工程师答案

  2019年上半年软考中级网络工程师考试已经结束,很多考生关注考试答案,一起跟编程学习网小编来看下2019年上半年软考中级网络工程师答案吧!  今天编程学习网小编为大家整理了2019年上半年网络工程师真题,考生可以进入在线题库查看答案。  2019上半年网络工程师上午真题及答案  2019上半年网络工程师下午真题及答案
2019年上半年软考中级网络工程师答案
2024-04-18

2022年网络工程师考试知识点100条(6)

  很多考生在备考2022年软考网络工程师考试,编程学习网小编为大家整理了网络工程师考试知识点100条(6),供大家备考复习。  为帮助大家备考软考网络工程师考试,编程学习网小编整理了网络工程师考试知识点100条(6),希望对大家备考有帮助。  26、多模光纤和单模光纤的区别  多模光纤支持从多个角度入射光线,其纤芯直径比单模
2022年网络工程师考试知识点100条(6)
2024-04-19

2019年下半年软考网络工程师报名时间

  很多考生准备报名2019年下半年软考网络工程师考试,那么报名时间是什么时候呢?赶紧来看下2019年下半年软考网络工程师报名时间吧!今天编程学习网小编来为大家解答。  2019年下半年软考网络工程师报名时间预计各省从7月底陆续开始。不同地区报名时间可能有所不同,考生可以关注2019年下半年软考报名专题,及时了解所在地区软
2019年下半年软考网络工程师报名时间
2024-04-18

2019年信息安全工程师什么时候考?

     2018年信息安全工程师考试已结束,很多考生在关注2019年信息安全工程师考试时间,那么让编程学习网小编就来告诉大家2019年信息安全工程师什么时候考试呢?   软考中级信息安全工程师是近几年新增的考试项目,每年只安排一次考试。2016年信息安全工程师安排在下半年考试,但是
2019年信息安全工程师什么时候考?
2024-04-18

2019年11月软考网络工程师报名时间

  2019年11月软考网络工程师报名时间是什么时候?很多考生准备参加11月份软考网络工程师考试,一起来看下报名时间吧!今天编程学习网小编来为大家解答。  根据往年软考网络工程师报名时间来看,2019年11月软考网络工程师报名时间预计各省从7月底陆续开始。各地区报名时间有所不同,考生可以关注2019年软考报名专题,及时了解
2019年11月软考网络工程师报名时间
2024-04-18

2019年中级安全工程师考前注意事项

  2019年中级安全工程师即将开考,那么考生在考前需要注意什么呢?考场规则是怎么样的?今天编程学习网小编来为大家带来2019安全工程师考试注意事项详情。  2019年度中级安全工程师资格考试将于11月16日、17日举行。此时距离开考还有最后16天,你准备的怎么样啦?为更好帮助大家备考,编编特整理了安全工程师考试考场规则及
2019年中级安全工程师考前注意事项
2024-04-18

2017下半年网络工程师考试上午真题(6)

      2017下半年网络工程师考试已经结束,编程学习网小编为大家提供2017下半年网络工程师考试上午真题,以下为第六部分。    51.IPv4 的 D 类地址是组播地址, 224.0.0.1 表示(   )构成的组播组。  1) A. DHCP
2017下半年网络工程师考试上午真题(6)
2024-04-18

2019下半年网络工程师准考证打印时间

  2019下半年网络工程师准考证什么时候打印?一起来看下2019下半年网络工程师考试准考证打印时间吧!今天编程学习网小编来为大家解答。  2019下半年软考网络工程师于11月9日考试,根据往年软考准考证打印时间来看,预计大部分地区在考前一周开始打印,也有少数地区会提前开始。具体请考生关注2019下半年软考准考证打印时间及
2019下半年网络工程师准考证打印时间
2024-04-18

2022下半年网络工程师考试知识点100条(6)

  为帮助考生备考2022下半年软考网络工程师考试,编程学习网小编为大家整理了网络工程师考试知识点100条(6),供大家备考复习。  为帮助大家备考软考中级网络工程师考试,编程学习网小编整理了2022下半年网络工程师考试知识点100条(6),希望对大家备考有帮助。  26、多模光纤和单模光纤的区别  多模光纤支持从多个角度入射
2022下半年网络工程师考试知识点100条(6)
2024-04-19

2019年中级安全工程师考试可以迟到吗?

  2019年安全工程师考试可以迟到吗?2019年安全工程师考试迟到多久不能进考场?今天编程学习网小编来为大家解答安全工程师考试报名等相关问题,详情见下文:  2019年度中级安全工程师资格考试将于11月16日、17日进行。为更好服务应试人员、维护考试公平公正,现将有关注意事项提示如下:  1.考试开始5分钟后,迟到应试人
2019年中级安全工程师考试可以迟到吗?
2024-04-18

2019年信息系统管理工程师什么时候考

     2019年信息系统管理工程师考试时间是什么时候?2018年信息系统管理工程师考试已经结束,相信很多考生想要报名2019年信息系统管理工程师,那么让编程学习网小编就来告诉大家2019年信息系统管理工程师考试时间是什么时候呢?   软考中级信息系统管理工程师每年只安排一次考试,
2019年信息系统管理工程师什么时候考
2024-04-18

python爬虫工程师必备的10个爬虫工具分别是什么

python爬虫工程师必备的10个爬虫工具分别是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。爬虫工程师必备的10个爬虫工具爬虫工程师必备的10个爬虫工具!
2023-06-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录