昨天去面试,这5个Python面试题都被考到了,Python面试题No6

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

字符串拼接的几种方法html

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

加号python

print('Python' + 'Plus')

逗号c++

print("Hello", "Python")

直接链接程序员

print("Hello" "Python")

格式化web

print('%s %s'%('Python', 'PLUS'))

joinsql

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]。微信

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

list = ['a','a','a',1,2,3,4,5,'A','B','C']
a,b,c,*middle,d,e,f = list
print(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() 函数测试对象,以肯定它是不是某个特定类型或定制类的实例。

其余能够参考博客:https://blog.csdn.net/qq_34979346/article/details/83218262

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

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

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

>>> class A:
	    def func(self):
	        print("Hi")
>>> def monkey(self):
		print("Hi, monkey")
>>> A.func = monkey
>>> a = A()
>>> a.func()
Hi, monkey

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

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