文章目录
偶然在知乎上看到了Python学到什么程度可以面试这个问题,好奇点进去后看到有答主给了180道Python面试题,正好可以边学习边检测一下自己的学习成果
知乎链接: Python学到什么程度可以面试工作?
1.列出 5 个常用 Python 标准库?
这道题就像再问你擅长哪些库一样
如果经常做爬虫,肯定离不开urllib ,requests 这样常用的网络库;
如果是刚入门的话,可能会是os,sys,re,math,datetime这样的基础库;
所以这道题的答案因人而异吧,不过既然说出是自己常用到的库那就要能说出这些库的特性和用法。
2.Python 内建数据类型有哪些?
Python3 有很多内置的数据类型,以下是比较重要的一些:
- Number(数字)
Python3 支持 int、float、bool、complex(复数) - String(字符串)
字符串或串(String)是由数字、字母、下划线组成的一串字符;
Python的字串列表有2种取值顺序:- 从左到右索引默认0开始的,最大范围是字符串长度少1
- 从右到左索引默认-1开始的,最大范围是字符串开头
- List(列表)
List(列表) 是 Python 中使用最频繁的数据类型,它可以完成大多数集合类的数据结构实现,支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。 - Tuple(元组)
元组是另一个数据类型,类似于List(列表),用"()"标识,内部元素用逗号隔开,但是元组不能二次赋值,相当于只读列表。 - Dictionary(字典)
字典用"{ }"标识。字典由索引(key)和它对应的值value组成,字典当中的元素是通过键来存取的,是无序的对象集合。 - Set(集合)
集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员,基本功能是进行成员关系测试和删除重复元素,可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典的。 - Bool(布尔类型)
Python 中布尔值使用常量 True 和 False 来表示。 - Bytes(字节)
Python 3 新增了 bytes 类型,由多个字节组成,以字节为单位进行操作。bytes 对象只负责以字节(二进制格式)序列来记录数据,至于这些数据到底表示什么内容,完全由程序决定。
3.简述 with 方法打开处理文件帮我我们做了什么?
打开文件在进行读写的时候可能会出现一些异常状况,如果按照常规的f.open写法,我们需要try,except,finally,做异常判断,并且文件最终不管遇到什么情况,都要执行finally f.close()关闭文件,with方法帮我们实现了finally中f.close。
4.列出 Python 中可变数据类型和不可变数据类型,为什么?
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
- 不可变数据类型的不可变指的是变量引用的地址处的值是不可变的,例如int类型,改变该类型变量的值,实际是改变了该变量引用的地址值,即改变了该变量引用的队像,并没有改变之前引用的队像的值。不可变数据类型的优点是,不管内存中有多少个引用,相同的对象只占用一块内存;缺点是当对变量进行运算从而改变变量的值时,由于是不可变数据类型,所以需要创建新对象,不断的改变就会不断的创建新对象。但是不再使用的变量会被垃圾回收器回收。
- 可变数据类型,具有同样值的对象是不同的对象,即在内存中保存了多个同样值的对象,地址值不同。可变数据类型的对象,当值发生改变时,并不会创建新的对象,只是改变了原地址的值,扩充了原地址的内容,但是并不会改变原地址的地址值。但是对于可变数据类型赋值操作是会改变该变量的地址值的。
5.Python 获取当前日期?
import time
print (time.strftime("%d/%m/%Y"))
示例输出:
11/10/2013