博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
昨天去面试,这5个Python面试题都被考到了,Python面试题No6
阅读量:6306 次
发布时间:2019-06-22

本文共 1929 字,大约阅读时间需要 6 分钟。

第1题:字符串的拼接–如何高效的拼接两个字符串?

字符串拼接的几种方法

  1. 加号
  2. 逗号
  3. 直接连接
  4. 格式化
  5. join
  6. 多行字符串拼接()

加号

print('Python' + 'Plus')复制代码

逗号

print("Hello", "Python")复制代码

直接连接

print("Hello" "Python")复制代码

格式化

print('%s %s'%('Python', 'PLUS'))复制代码

join

str_list = ['Python', 'Plus']a = ''print(a.join(str_list))复制代码

多行字符串拼接()

sql = ('select *'     'from users'     'where id=666')print(sql)复制代码
一般情况,大家比较喜欢用“+”拼接字符串,但是这个方法并不是高效的,因为如果需要拼接的字符串有很多(n个)的情况下,使用”+”的话,python解释器会申请n-1次内存空间,然后进行拷贝,因为字符串在python中是不可变的,所以当进行拼接的时候,会需要申请一个新的内存空间。所以,正确答案是,使用.join(list),因为它只使用了一次内存空间复制代码

第2题: list = ['a','a','a',1,2,3,4,5,'A','B','C']提取出”12345”?

这个考点考了python的解压赋值的知识点,即 a,b,c,*middle,d,e,f = list, *middle = [1,2,3,4,5]。

注意,解压赋值提取出来的是列表

list = ['a','a','a',1,2,3,4,5,'A','B','C']a,b,c,*middle,d,e,f = listprint(middle)print(type(middle))复制代码

第3题: 什么是pickling和unpickling?

为了让用户在平常的编程和测试时保存复杂的数据类型,python提供了标准模块,称为pickle。 这个模块可以将几乎任何的python对象(甚至是python的代码),转换为字符串表示,这个过程称为pickling。 从存储的字符串中检索原始Python对象的过程称为unpickling

第4题: 说一说Python自省?

在python中,检查某些事物以确定它是什么、它知道什么以及它能做什么。

自省向程序员提供了极大的灵活性和控制力。

说的更简单直白一点:==自省就是面向对象的语言所写的程序在运行时,能够知道对象的类型。简单一句就是,运行时能够获知对象的类型。==

例如python, buby, object-C, c++都有自省的能力,这里面的c++的自省的能力最弱,只能够知道是什么类型,而像python可以知道是什么类型,还有什么属性。

Python中比较常见的自省(introspection)机制(函数用法)有: dir()type(), hasattr(), isinstance(),通过这些函数,我们能够在程序运行时得知对象的类型,判断对象是否存在某个属性,访问对象的属性。

  1. dir() 函数是 Python 自省机制中最著名的部分了。它返回传递给它的任何对象的属性名称经过排序的列表。如果不指定对象,则 dir() 返回当前作用域中的名称。
  2. type() 函数有助于我们确定对象是字符串还是整数,或是其它类型的对象。
  3. 对象拥有属性,并且 dir() 函数会返回这些属性的列表。但是,有时我们只想测试一个或多个属性是否存在。如果对象具有我们正在考虑的属性,那么通常希望只检索该属性。这个任务可以由 hasattr() 和 getattr() 函数来完成。
  4. isinstance() 函数测试对象,以确定它是否是某个特定类型或定制类的实例。

其他可以参考博客:

第5题:什么是python猴子补丁python monkey patch?

monkey patch (猴子补丁) 用来在运行时动态修改已有的代码,而不需要修改原始代码。

在Python中,术语monkey补丁仅指run-time上的类或模块的动态修改

>>> class A:	    def func(self):	        print("Hi")>>> def monkey(self):		print("Hi, monkey")>>> m.A.func = monkey>>> a = m.A()>>> a.func()Hi, monkey复制代码

公众账号:非本科程序员,来吧

微信搜索htmlhttp就能找到不一样的精彩

转载地址:http://zasxa.baihongyu.com/

你可能感兴趣的文章
在Linux上高效开发的7个建议
查看>>
java数据结构 - 数组使用的代码
查看>>
个人简历-项目经验
查看>>
swoole异步任务task处理慢请求简单实例
查看>>
oracle数据泵导入分区表统计信息报错(四)
查看>>
spring技术内幕读书笔记之IoC容器的学习
查看>>
细说多线程(五) —— CLR线程池的I/O线程
查看>>
JavaScript instanceof和typeof的区别
查看>>
Hadoop文件系统详解-----(一)
查看>>
《面向模式的软件体系结构2-用于并发和网络化对象模式》读书笔记(8)--- 主动器...
查看>>
状态码
查看>>
我的友情链接
查看>>
用sqlplus远程连接oracle命令
查看>>
多年一直想完善的自由行政审批流程组件【2002年PHP,2008年.NET,2010年完善数据设计、代码实现】...
查看>>
自动生成四则运算题目
查看>>
【翻译】使用新的Sencha Cmd 4命令app watch
查看>>
【前台】【单页跳转】整个项目实现单页面跳转,抛弃iframe
查看>>
因为你是前端程序员!
查看>>
数据库设计中的14个技巧
查看>>
Android学习系列(5)--App布局初探之简单模型
查看>>