Python中常见的面试题

1. 到底什么是Python?

  • Python是一种解释性语言。Python代码在运行之前不需要编译。其它解释性语言还包括PHP和Ruby。
  • Python是动态类型语言,指的是在声明变量时,不需要说明变量的类型。
  • Python非常适合面向对象的编程(OOP),因为它支持通过组合(composition)与继承(inheritance)的方式定义类(class)。
  • Python中没有访问说明符(类似C++中的public和private),这么设计的依据是“大家都是成年人了”。

2. 写python代码,实现删除一个list里面的重复元素

方法一:

a = [1, 2, 4, 2, 4, 5, 6, 5]
b = set(a)
print(b)

输出:{1, 2, 4, 5, 6}
方法二:

a = [1, 2, 4, 2, 4, 5, 6, 5]
b = {}
b = b.fromkeys(a)
c = list(b.keys())
print(c)

输出:[1, 2, 4, 5, 6]

3. 用sort对list进行排序,然后去重

a = [1, 2, 4, 2, 4, 5, 7, 10, 5, 5, 7, 8, 9, 0, 3]
a.sort()

输出:[0, 1, 2, 2, 3, 4, 4, 5, 5, 5, 7, 7, 8, 9, 10]

last = a[-1]
#从倒数第二个开始查询是否重复
for i in range(len(a) - 2, -1, -1):
    if last == a[i]:
        del a[i]
    else:
        last = a[i]
print(a)

[0, 1, 2, 3, 4, 5, 7, 8, 9, 10]

4. Python中的pass语句的作用是什么?

pass语句不会执行任何操作,一般作为占位符或者创建占位程序
while False:
pass

5. 介绍下Python下range()函数的用法?

列出一组数据,经常用在for i in range(start, stop, step):

6. Python里面如何生成随机数?

采用random模块
(1) 随机整数:random.randint(a, b):返回随机整数x, a <= x <= b
(2) 设置随机值的步长: random.randrange(start, stop, step):返回一个[start, stop),递增的步长为step的随机数。
(3) 随机实数:random.random( ):返回0到1之间的浮点数
(4) 返回指定范围内的实数: random.uniform(a, b):返回指定范围内的浮点数

7. 如何在一个function里面设置一个全局变量

x = 2
def f():
    global x
    print(x)
    x = 3
f()
print(x)

输出: 2
3

8. 数组和元组的区别是什么?

  1. 数组的内容是可以被修改的,元组内容是只读的。
  2. 元组可以被哈希,比如作为字典的关键字。

9. Python中的lambda是什么?

这是一个常被用于代码中的单个表达式的匿名函数。

10. 为什么lambda没有语句?

匿名函数lambda没有语句的原因,是它被用于在代码被执行的时候构建新的函数对象并且返回。

11. 在Python中什么是构造器?

生成器是实现迭代器的一种机制。

12. 如何在Python中拷贝一个对象?

大多时候可以用copy.copy( )或者copy.deepcopy( ),但并不是所有对象都可以被拷贝。

13. 如何将一个数字转换成一个字符串?

str( )将一个数字转换为字符串

参考资料:
1. http://www.cnblogs.com/Allen-rg/p/7689435.html
2. http://www.cnblogs.com/Allen-rg/p/7689580.html
3. http://www.cnblogs.com/Allen-rg/p/7693394.html

你可能感兴趣的:(Python)