Python学到什么程度可以参加面试找工作
Python学到什么程度可以参加面试找工作
基础知识
1、列出5个常用Python标准库?
import os
import sys
import re
import math
import time
import datetime
import random
import threading
import multiprocessing复制代码
2. Python的内建数据类型有哪些?
int、float、complex # 数值型
bool # 布尔型
str # 字符串
list # 列表
tuple # 元组
dict # 字典复制代码
3. 简述with方法打开处理文件帮我我们做了什么?
with语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的清理操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等;
with语句即上下文管理器,在程序中用来表示代码执行过程中所处的前后环境。上下文管理器:含有__enter__和__exit__方法的对象就是上下文管理器。
enter():在执行with语句之前,首先执行该方法,通常返回一个实例对象,如果with语句有as目标,则将对象赋值给as目标。
exit():在执行with语句结束后,自动调用__exit__()方法,用户释放资源,若此方法返回布尔值True,程序会忽略异常。
使用环境:文件读写、线程锁的自动释放等。
with context_expression [as target(s)]:
with-body复制代码
这里context_expression要返回一个上下文管理器对象,该对象并不赋值给as子句中的target(s),而是会将上下文管理器的__enter__()方法的返回值赋值给target(s)。
不太清楚的可以参考链接:深入理解 Python 中的上下文管理器。
4、Python的可变和不可变数据类型?
不可变数据类型:即数据被创建之后,数据的值将不再发生改变,有数值、字符、元祖类型;
可变数据类型:数据别创建之后,数据的值可以发生变化,有列表、字典、集合类型。
5. Python获取当前日期?
# -*- coding: UTF-8 -*-
import datetime
import time
if __name__ == "__main__":
print(time.time()) # 时间戳
print(time.strftime("%Y-%m-%d %H:%M:%S %w", time.localtime())) # 年月日时分秒
print(datetime.datetime.now()) # 年月日时分秒复制代码
6. 统计字符串每个单词出现的次数。
def word_amount(sentence):
split_list = sentence.split()
dict_result = {}
for word_name in split_list:
if word_name not in dict_result.keys():
dict_result[word_name] = 1
else:
dict_result[word_name] += 1
return dict_result
if __name__ == '__main__':
sentence = "I can because i think i can"
dict_result = word_amount(sentence)
print(dict_result)复制代码
或者:
if __name__ == '__main__':
sentence = "I can because i think i can"
result = {word: sentence.split().count(word) for word in set(sentence.split())}
print(result)复制代码
或者:
from collections import Counter
if __name__ == '__main__':
sentence = "I can because i think i can"
counts = Counter(sentence.split())
print(counts)复制代码
7. 用python删除文件和用linux命令删除文件方法。
import os
os.remove("demo.txt")复制代码
rm demo.txt复制代码
8. 写一段自定义异常代码?
class printException(Exception):
pass
def testRaise():
raise printException('printErr')
if __name__ == '__main__':
try:
testRaise()
except printException, e:
print e复制代码
9. 举例说明异常模块中try except else finally的相关意义。
# -*- coding: UTF-8 -*-
def read_filedata(file_name):
file_obj = ""
try:
# 需要检测的异常代码片段
file_obj = open(file_name, "r")
result_data = file_obj.read()
except IOError, e:
# 发生“IOError”异常进行处理的代码片段
file_obj = "文件不存在:"+ str(e)
else:
# 没有引发“IOError”异常执行的代码片段,返回读取到的数据
return result_data
finally:
# 不管有没有引发错误都会执行的代码片段,isinstance()用于判断一个数据类型
if isinstance(file_obj, str):
return file_obj
elif isinstance(file_obj, file):
file_obj.close()
else:
return "未知错误,请检查您的代码..."
if __name__ == '__main__':
result = read_filedata("abc.txt")
print(result)复制代码
10. 遇到 bug 如何处理?
首先查看报错信息,根据报错信息找到相应代码,通常一般的数据结构或者算法错误只要找到报错代码就可以顺利解决;
如果遇到暂时不能解决的错误先不要慌,我们可以使用编译器的Debug模式或者自己在代码中加注断点进行代码排查;
如果依然不能解决bug,我们可以拷贝报错信息,在搜索引擎中进行搜索。没有人写代码不出bug,如果你在一个bug上耗费时间超过半小时,可以与其他同事探讨(注意节制,可能有些费同事);
另辟蹊径:方法总比困难多,在进行开发时,我们应该优先实现功能而不是拘泥于运行效率,所以遇到一些暂时不能解决的BUG可以考虑另外的实现方法。
更多培训课程,学习资讯,课程优惠等学校信息,请进入 济南天桥区Web培训济南历城区Python培训济南长清区Linux云计算培训 网站详细了解,免费咨询电话:400-998-6158