Python面试题(十一)
1、Python中list、tuple、dict、set有什么区别,主要应用在什么样的场景?并用for语句分别进行遍历
定义:
list:链表,有序的项目, 通过索引进行查找,使用方括号”[]”;
tuple:元组,元组将多样的对象集合到一起,不能修改,通过索引进行查找, 使用括号”()”;
dict:字典,字典是一组键(key)和值(value)的组合,通过键(key)进行查找,没有顺序, 使用大括号”{}”;
set:集合,无序,元素只出现一次, 自动去重,使用”set([])”
应用场景:
list, 简单的数据集合,可以使用索引;
tuple, 把一些数据当做一个整体去使用,不能修改;
dict,使用键值和值进行关联的数据;
set,数据只出现一次,只关心数据是否出现, 不关心其位置; test_list = [1, 2, 3, 4, 4]
test_tuple = (1, 2, 3, 4, 5)
test_dict = {'a': 1, 'b': 2}
test_set = {12, 4, 5, 6}
for items in test_list:
print('list:', items)
for items in test_tuple:
print('tuple:', items) for key, value in test_dict.items():
print('dict:', key, value) for items in test_set:
print('set:', items)
答案
2、Python中静态函数、类函数、成员函数的区别?各写出一个实例。
class Animal(object):
planet = 'earth' def __init__(self,name):
self.name = name @staticmethod
def eat():
print("An animal is eating.....") @classmethod
def live_on(cls):
print("The Animal live on earth!") def print_name(self):
print('The name of animal is',self.name)
Cat = Animal('Cafe') Animal.eat()
Cat.eat() Animal.live_on()
Cat.live_on() Cat.print_name()
答案
3、用Python语言写一个函数,输入一个字符串,返回倒序排列的结果:如:string_reverse('abcdefg'),返回'gfedcba'
def string_reverse(input_str):
return input_str[::-1] print(string_reverse('nice'))
答案
4、介绍一下Python的异常处理机制和自己开发过程中的体会
python主要是用try except语句来捕获异常
使用raise来引发异常
使用try...finally来处理(无论是否发生异常)都要处理的内容
assert来触发断言异常 个人感悟:
1、触发异常,一定要带上完整的异常信息:raise MyException('Error message')
2、创建一个异常模块,创建一些异常基类和子类,触发不同的异常
3、除了特殊情况不要,捕捉所有的异常
4、减少try except中代码,只对出现异常的语句进行处理
5、捕捉异常尽量使用as语句
答案
5、jQuery中的$()是什么?网页上有5个<div>元素,如何使用jQuery来选择他们?
1、$()是一个标签选择器
2、$()可以是一个特定的DOM元素
3、$()是$(function)定义一个函数 $("div")
答案
6、写一个Bash Shell脚本来得到当前的日期、时间、用户名和当前文件目录
`date +%Y%m%d-%H-%M-%S`
`whoami`
`pwd`
答案
7、Django中使用memcached作为缓存的具体使用方法?优缺点说明?
1、在setting里配置cache
CACHE_BACKEND = 'memcached://127.0.0.1:11211/'
2、缓存的方法:
A.整个站点缓存:
django.middleware.cache.UpdateCacheMiddleware(放在最前)
django.middleware.cache.FetchFromCacheMiddleware(放在最后) B.视图函数装饰器缓存:
from django.views.decorators.cache import cache_page
@cache_page(60 * 15)
def my_view(request):
....
其中cache_page的参数为超时时间,单位为秒。
C.在函数中调用cache来缓存
from django.core.cache import cache
def heavy_view(request):
cache_key = 'my_heavy_view_cache_key'
cache_time = 1800 # time to live in seconds
result = cache.get(cache_key)
if not result:
result = # some calculations here
cache.set(cache_key, result, cache_time)
return result D.在url中配置缓存
urlpatterns = ('',
(r'^foo/(\d{1,2})/$', cache_page(60 * 15)(my_view)), memcached将数据放在内存中,无法持久化,数据库宕机会导致数据的丢失
答案
8、给定一个红包的数额属组gifts以及它的大小n,请返回是否有某个金额出现的次数超过总红包数的一半。若存在返回该红包金额,不存在请返回0
def select_most_often_gift(gifts):
gift_items = set(gifts)
n = len(gifts)
for gift in gift_items:
num = gifts.count(gift)
if num > n/2:
return gift
return 0 print(select_most_often_gift([2,3,6,2,24,5,56]))
答案
Python面试题(十一)的更多相关文章
- Python面试题 —— 获取列表中位数
中位数是一个可将数值集合划分为相等的上下两部分的一个数值.如果列表数据的个数是奇数,则列表中间那个数据就是列表数据的中位数:如果列表数据的个数是偶数,则列表中间那2个数据的算术平均值就是列表数据的中位 ...
- python公司面试题集锦 python面试题大全
问题一:以下的代码的输出将是什么? 说出你的答案并解释. class Parent(object): x = 1 class Child1(Parent): pass class Child2(Par ...
- 【python自动化第十一篇】
[python自动化第十一篇:] 课程简介 gevent协程 select/poll/epoll/异步IO/事件驱动 RabbitMQ队列 上节课回顾 进程: 进程的诞生时为了处理多任务,资源的隔离, ...
- 【Python】【面试必看】Python笔试题
前言 现在面试测试岗位,一般会要求熟悉一门语言(python/java),为了考验求职者的基本功,一般会出 2 个笔试题,这些题目一般不难,主要考察基本功.要是给你一台电脑,在编辑器里面边写边调试,没 ...
- python第三十一课--递归(2.遍历某个路径下面的所有内容)
需求:遍历某个路径下面的所有内容(文件和目录,多层级的) import os #自定义函数(递归函数):遍历目录层级(多级) def printDirs(path): dirs=os.listdir( ...
- Python面试题整理-更新中
几个链接: 编程零基础应当如何开始学习 Python ? - 路人甲的回答 网易云课堂上有哪些值得推荐的 Python 教程? - 路人甲的回答 怎么用最短时间高效而踏实地学习 Python? - 路 ...
- python 面试题4
Python面试题 基础篇 分类: Python2014-08-08 13:15 2071人阅读 评论(0) 收藏 举报 最近,整理了一些python常见的面试题目,语言是一种工具,但是多角度的了解工 ...
- 一道Python面试题
无意间,看到这么一道Python面试题:以下代码将输出什么? def testFun(): temp = [lambda x : i*x for i in range(4)] return ...
- 孤荷凌寒自学python第八十一天学习爬取图片1
孤荷凌寒自学python第八十一天学习爬取图片1 (完整学习过程屏幕记录视频地址在文末) 通过前面十天的学习,我已经基本了解了通过requests模块来与网站服务器进行交互的方法,也知道了Beauti ...
- 孤荷凌寒自学python第七十一天开始写Python的第一个爬虫
孤荷凌寒自学python第七十一天开始写Python的第一个爬虫 (完整学习过程屏幕记录视频地址在文末) 在了解了requests模块和BeautifulSoup模块后,今天开始真正写一个自己的爬虫代 ...
随机推荐
- angular指令中的scope绑定策略
针对独立 scope,可以通过在对象中声明如何从外部传入参数.有以下三种绑定策略: @ - 使用 DOM 属性值单项绑定到指令 scope 中.此时绑定的值总是一个字符串,因为 DOM 的属性值是一个 ...
- stdclass
$item = new stdClass(); $item->goods_id = $item_goods->getID(); $item->goods_name ...
- authentication vs authorization 验证与授权的区别
认证和授权的区别 Authentication vs. Authorization简单来说,认证(Authentication )是用来回答以下问题: 用户是谁 当前用户是否真的是他所代表的角色 通常 ...
- spring注入的四种方式
配置文件spring.xml: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&qu ...
- Windows下查看占用端口程序
配置shadowsocks,发现本地1080端口被占用,当然更改没有占用的端口即可.当然还得查找下什么程序占用的.无奈,看了下115浏览器占用此端口,浏览器不能管啊,你懂得!!! Windows查找下 ...
- 安装使用babel-polyfill。让IE支持es6
安装 npm install --save-dev babel-polyfill 使用 在你的代码头部加载babel-polyfill,注意一定要在你的代码开始前,第一个js文件的顶部.如果是vue在 ...
- map、filter、reduce、lambda
一.map.filter.reduce map(fuction , iterable) 映射 对可迭代对象中的每一项,使用函数去改变 filter(function, iterable) 过滤 可迭代 ...
- 【51nod-1432】独木舟
排序后用二分,一直卡在最后一组数据,最后改成long long才AC... #include <bits/stdc++.h> using namespace std; typedef lo ...
- 淘宝TDDL配置以及使用
此章节具体介绍一下淘宝TDDL具体配置和使用 1. Spring配置文件配置:================spring-mybatis.xml 中配置============= <bean ...
- CUDA库函数module management
http://horacio9573.no-ip.org/cuda/group__CUDA__MODULE_ga52be009b0d4045811b30c965e1cb2cf.html