黑马程序员技术交流社区
标题:
Python技术贴
[打印本页]
作者:
Leo1936
时间:
2019-3-30 22:32
标题:
Python技术贴
这里给大家整理了一些未来在求职面试中可能会遇到的一些基础型面试题,仅供参考。
1.
在
python
中,如何交换两个变量的值?
这个问题,考了
python
特殊的语法,也就是
a, b = b, a
,这个表达式,也是其他语言所没有的,是只有
python
自带的。
2.
字符串的拼接–如何高效的拼接两个字符串?
我们都知道
python
中,拼接字符串可以用”
+
”来拼接,然而这个方法并不是高效的,因为如果需要拼接的字符串有很多
(n
个
)
的情况下,使用”
+
”的话,
python
解释器会申请
n-1
次内存空间,然后进行拷贝,因为字符串在
python
中是不可变的,所以当进行拼接的时候,会需要申请一个新的内存空间。所以,正确答案是,使用
.join(list),
因为它只使用了一次内存空间。
3.
什么是元类?
同上,我们讲到在
python
中皆为对象,而元类即是用来创建类的”东西”。类也是元类的实例。而在
python
中,它们要么是类的实例,要么是元类的实例,除了
type
。
type
实际上是它自己的元类。元类主要的用途是用来创建
API,
比如
django
的
ORM
。
4.
类的初始化:
new()
和
init()?
new()
方法用来实例化最终的类对象,在类创建之前被调用,它在类的主体被执行完后开始执行。
init()
方法是在类被创建之后被调用,用来执行其他的一些输出化工作
当我们构造元类的时候,通常只需要定一个
init()
或
new()
方法,但不是两个都定义。但是,如果需要接受其他的关键词参数的话,这两个方法就要同时提供,并且都要提供对应的参数签名。
5.
使用字符串拼接达到字幕滚动效果?
import os
import time
def main():
content = '
人生苦短,我学
Python'
while True:
#
清理屏幕上的输出
os.system('cls') # os.system('clear')
print(content)
#
休眠
200
毫秒
time.sleep(0.2)
content = content[1:] + content[0]
if __name__ == '__main__':
main()
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2