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面试题(十一)的更多相关文章

  1. Python面试题 —— 获取列表中位数

    中位数是一个可将数值集合划分为相等的上下两部分的一个数值.如果列表数据的个数是奇数,则列表中间那个数据就是列表数据的中位数:如果列表数据的个数是偶数,则列表中间那2个数据的算术平均值就是列表数据的中位 ...

  2. python公司面试题集锦 python面试题大全

    问题一:以下的代码的输出将是什么? 说出你的答案并解释. class Parent(object): x = 1 class Child1(Parent): pass class Child2(Par ...

  3. 【python自动化第十一篇】

    [python自动化第十一篇:] 课程简介 gevent协程 select/poll/epoll/异步IO/事件驱动 RabbitMQ队列 上节课回顾 进程: 进程的诞生时为了处理多任务,资源的隔离, ...

  4. 【Python】【面试必看】Python笔试题

    前言 现在面试测试岗位,一般会要求熟悉一门语言(python/java),为了考验求职者的基本功,一般会出 2 个笔试题,这些题目一般不难,主要考察基本功.要是给你一台电脑,在编辑器里面边写边调试,没 ...

  5. python第三十一课--递归(2.遍历某个路径下面的所有内容)

    需求:遍历某个路径下面的所有内容(文件和目录,多层级的) import os #自定义函数(递归函数):遍历目录层级(多级) def printDirs(path): dirs=os.listdir( ...

  6. Python面试题整理-更新中

    几个链接: 编程零基础应当如何开始学习 Python ? - 路人甲的回答 网易云课堂上有哪些值得推荐的 Python 教程? - 路人甲的回答 怎么用最短时间高效而踏实地学习 Python? - 路 ...

  7. python 面试题4

    Python面试题 基础篇 分类: Python2014-08-08 13:15 2071人阅读 评论(0) 收藏 举报 最近,整理了一些python常见的面试题目,语言是一种工具,但是多角度的了解工 ...

  8. 一道Python面试题

    无意间,看到这么一道Python面试题:以下代码将输出什么? def testFun():    temp = [lambda x : i*x for i in range(4)]    return ...

  9. 孤荷凌寒自学python第八十一天学习爬取图片1

    孤荷凌寒自学python第八十一天学习爬取图片1 (完整学习过程屏幕记录视频地址在文末) 通过前面十天的学习,我已经基本了解了通过requests模块来与网站服务器进行交互的方法,也知道了Beauti ...

  10. 孤荷凌寒自学python第七十一天开始写Python的第一个爬虫

    孤荷凌寒自学python第七十一天开始写Python的第一个爬虫 (完整学习过程屏幕记录视频地址在文末) 在了解了requests模块和BeautifulSoup模块后,今天开始真正写一个自己的爬虫代 ...

随机推荐

  1. atom的初次尝试,activate-power-mode 插件和做gif

    编辑器是github 和sublime 的综合,作为一个经常逛github的人,还很喜欢sublime的开发,还有什么好不尝试的理由呢. 好吧,我承认,编辑器有很多,但是像它那样炫酷的很少,作为喜欢一 ...

  2. CAJ2PDF

    该项目不成熟,很容易遇到转换失败的例子. https://github.com/JeziL/caj2pdf https://github.com/JeziL/caj2pdf/wiki caj2pdf ...

  3. oracle11g客户端如何完全卸载(转)

    1.停用Oracle服务:进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止 2.在开始菜单中,找到Universal Installer,运行Oracle Universal I ...

  4. linux命令生成公私钥

    生成原始rsa私钥文件: openssl genrsa -out rsa_private_key.pem 1024 将原始的rsa私钥转换未pkcs8格式(即生成私钥文件): openssl pkcs ...

  5. 批量管理增量日志(seek、tell)

    f = open('/usr/home/yongsan/size_text','r+') f.read()

  6. 使用samba初始化开发环境

    一.系统环境 [root@host-172-20-3-66 samba]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 搞 ...

  7. day6-面向对象基础篇

    一.面向对象引子及概念 结合编程的一些理论知识和实践,可以总结出目前存在以下编程模式: 1. 面向过程 按照业务逻辑和实现过程步骤来逐步垒代码,代码编写的逻辑即对应于实际实现的步骤过程,核心是过程两个 ...

  8. 文件目录tree显示,python

    #/usr/bin/python import os def travelTree(currentPath, count=0): if not os.path.exists(currentPath): ...

  9. IGMP 因特网组管理协议

    IGMP(Internet Group Management Protocol)作为因特网组管理协议,用于多播.     与ICMP一样, IGMP也被当作 IP 层的一部分,IGMP报文也通过IP数 ...

  10. Composer 扩展包安装方法

    问题说明 我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自 这个文档 的: composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害. 因为 com ...