你看看

Python面试重点(基础篇)

### 第一部分 必答题(每题2分)

1.

简述列举了解的编程语言及语言间的区别?

语言分为解释型语言和编译型语言,编译型语言主要的代表有c语言,解释型语言主要代表有python。

编译型语言一次编译永久执行,不支持跨平台。安全性好。

解释型语言每次执行都需要执行一遍源代码,安全性比较低,支持跨平台。运行效率低

2.

列举Python2和Python3的区别?

1) print不再是语句,而是函数,比如原来是 print 'abc' 现在是 print('abc')但是 python2.6+ 可以使用 from future import print_function 来实现相同功能>

2) 在Python 3中,没有旧式类,只有新式类,也就是说不用再像这样 class Foobar(object): pass 显式地子类化object但是最好还是加上. 主要区别在于 old-style 是 classtype 类型而 new-style 是 type类型>

3) 原来1/2(两个整数相除)结果是0,现在是0.5了python 2.2+ 以上都可以使用 from future import division 实现改特性, 同时注意 // 取代了之前的 / 运算>

5)

4) 新的字符串格式化方法format取代%错误, 从 python2.6+ 开始已经在str和unicode中有该方法, 同时 python3依然支持 % 算符>

6) xrange重命名为range同时更改的还有一系列内置函数及方法, 都返回迭代器对象, 而不是列表或者 元组, 比如 filter, map, dict.items 等>

3.

看代码写结果

v1 = 1 or 2

v2 = 3 and 7 or 9 and 0

答:

1

7

4.

比较以下值有什么不同?

v1 = [1, 2, 3]

v2 = [(1), (2), (3)]

v3 = [(1,), (2,), (3,)]

v1和v2一样,v3是列表里面套元组

5.

用一行代码实现数值交换。

a = 1

b = 2

a,b=b,a

6.

Python中单引号、双引号、三引号的区别?

单引号和双引号都是表示字符串,单双引号嵌套时要交替着用,否则会混淆,并且只能引一行的内容。而三引号可以引多行

7.

is和 == 的区别?

is 是比较地址和内容

== 是比较内容

8.

python里如何实现tuple和list的转化?

list(tuple)

tuple(list)

9.

如何实现字符串

name = '老男孩' #的反转?

name = name[::-1]

print(name)

10.

两个set如何获取交集、并集、差集?

a=set('abc')

b=set('bcd')

c=a&b

d=a|b

e=a-b

print(c,d,e)

11.

那些情况下, y != x - (x - y)

会成立?

x,y 是集合

12.

Python中如何拷贝一个对象?

copy.copy(拷贝对象) 浅拷贝

copy.deepcopy(拷贝对象) 深拷贝

13.

简述

赋值、浅拷贝、深拷贝的区别?

赋值是改变变量的指向

浅拷贝是和赋值是一样的

深拷贝是完全的赋值一份,地址和之前的不一样了

14.

pass的作用?

一条空的语句,什么也不执行

15.

阅读代码写结果。

import copy

a = [1, 2, 4, 5, ['b', 'c']]

b = a

c = copy.copy(a)

d = copy.deepcopy(a)

a.append(5)

a[4].append('d')

print(b) # [1, 2, 4, 5, ['b', 'c','d'],5]

print(c) # [1, 2, 4, 5, ['b', 'c','d'],5]

print(a) # [1, 2, 4, 5, ['b', 'c','d'],5]

16.

用Python实现9 * 9

乘法表。

for i in range(1,10):

for j in range(1,i+1):

print(i*j)

原文地址:https://www.cnblogs.com/wing3993/p/12366082.html