python面试基础题总结
13.常用的 Python 标准库都有哪些?
答:os操作系统,time时间,random随机,pymysql连接数据库,threading线程,multiprocessing进程,queue队列。
第三方库:
django和flask也是第三方库,requests,virtualenv,selenium,scrapy,xadmin,celery,re,hashlib,md5。
常用科学计算库:
Numpy,Scipy,Pandas。
14.赋值、浅拷贝和深拷贝的区别?
答:一、赋值:
在python中,对象的赋值就是简单的对象引用,这点和c++不同,只是指向同一片内存,是别名,是引用。赋值操作不会开辟新的内存空间,它只是复制了对象的引用。也就是说除了b这个名字以外,没有其他的内存开销。修改了a,b也会跟着改变。
二、浅拷贝:
浅拷贝会创建新的对象,其内容非原对象本身的引用,而是原对象内第一层对象的引用。浅拷贝有三种形式:切片操作,工厂函数,copy模块中的copy函数
三、深拷贝:
深拷贝只有一种形式:copy模块中的deepcopy()函数。
深拷贝和浅拷贝对应,深拷贝拷贝了对象的所有元素,也包括多层嵌套的元素。因此它的时间和空间开销很高。
注意:只有对于列表和字典这种可变类型才有深浅拷贝之分,浅拷贝旨在减少内存的占用,深拷贝可以再做数据的清洗、修改或者入库的时候,对原数据进行复制一份,以防止数据修改以后,找不到原数据。浅拷贝只复制容器,不复制元素,所以a修改了b也会修改。深拷贝全复制。
15.__init__和_new_的区别?
答:init在对象创建后,对对象进行初始化。
new是在对象创建之前创建一个对象,并将该对象返回给init。
16.python里面如何生产随机数?
答: 在python中用于生产随机数的模块是random,在使用前需要import。
random.random():生成一个0-1之间的随机浮点数;
random.uniform(a,b):生成[a,b]之间的随机浮点数;
random.randint(a,b):生成[a,b]之间的随机整数;
random.randrange(a,b,step):在指定集合[a.b),以step为基数随机取一个数
random.choice(sequence):从特定序列中随机取一个元素,这里的序列可以使字符串,列表,元组等.
17.输入某年某月某日,判断这一天是这一年的第几天?
import datetime
year = input('年:') month = input('月:') day = input('日:') data1 = datetime.date(year=int(year),month=int(month),day=int(day)) data2 = datetime.date(year=int(year),month=1,day=1) print(type(data2)) print((data1-data2).days)
主要运用了datetime.date,需要传入三个参数,分别是年月日,然后就可以返回是第多少天,减去当年的1月1号,再加一,就是第多少天.
18.打乱一个排好序的 list 对象 alist?
答:import random
random.shuffle(alist)
shuffle是random中的打乱函数
19.说明一下 os.path 和 sys.path 分别代表什么?
答:os.path主要是用于对系统路径文件的操作.
sys.path主要是对python解释器的系统环境参数的操作(动态的改变python解释器搜索路径)
20.Python 中的 os 模块常见方法?
答:os.remove()删除文件
os.rename()重命名文件
os.walk()生成目录树下的所有文件名
os.chdir()改变目录
os.mkdir/makedirs 创建目录/多层目录
os.rmdir/removedirs 删除目录/多层目录
os.listdir()列出指定目录的文件
os.getcwd()取得当前工作目录
os.chmod()改变目录权限
os.path.basename()去掉目录路径,返回文件名
os.path.dirname()去掉文件名,返回目录路径
os.path.join()将分离的各部分组合成一个路径名
os.oath.getatime/ctime/mtime 分别返回最近访问,创建,修改的时间
os.path.getsize()返回文件大小
os.path.exists()是否存在
os.path.isabs()是否为绝对路径
os.path.isdir()是否为目录
os.path.isfile()是否为文件
本文地址:https://blog.csdn.net/qq_43077290/article/details/108245867