python3-开发面试题(python)6.24基础篇(3)
1、用一行代码实现数值交换:
a = 1
b = 2
a,b=b,a
2、Python3和Python2中 int 和 long的区别?
long整数类型被Python3废弃,统一使用int
3、xrange和range的区别?
xrange函数被Python3废弃,统一使用range,Python3中range的机制也进行修改并提高了大数据集生成效率
range和xrange都是在循环中使用,输出结果一样
range 返回的是一个list对象,而xrange返回的是一个生成器对象(xrange object)
xrange则不会直接生成一个list,而是每次调用返回其中的一个值,内存空间使用极少,因而性能非常好
4、文件操作时:xreadlines和readlines的区别?
二者使用时相同,但返回类型不同,xreadlines返回的是一个生成器,readlines返回的是list
5、列举布尔值为False的常见值?
None,0,空(空字符串,空列表,空字典等)
6、字符串、列表、元组、字典每个常用的5个方法?
#字符串操作
words = 'today manyqian is handsome'
print(words.strip('today'))#如果strip方法指定一个值的话,那么会去掉这两个值
print(words.count('a'))#统计字符串出现的次数
print(words.index('is'))#找下标
print(words.index('z'))#找下标如果元素不找不到的话,会报错
print(words.find('a'))#找下标,如果元素找不到的话,返回-1
print(words.replace('day','DAY'))#字符串替换
print(words.isdigit())#判断字符串是否为纯数字
print(words.islower())#判断字符串是否为小写字母
print(words.isupper())#判断字符串是否为大写字母
print(words.startswith('http'))#判断是否以某个字符串开头
print(words.endswith('.jpg'))#判断是否以某个字符串结尾
print(words.upper())#将字符串变成大写
print(words.lower())#将字符串变成小写
#列表操作 l=[1,2,3,4,5,6]
1、按照索引存取值(正向存取+反向存取):即可存也可以取
l[0]=1
l[-1]=6
2、切片
l[0:2] #[1,2] 顾头不顾尾
l[0:4:2] #[2,4] 是步长
3、长度
len(l)
4、成员运算in和not in
1 in l #Ture
0 not in l #False
5、追加
l.append(7) #末尾追加
6、删除
del l[0] #查看数据已经删除所选数据
7、循环
for i in range(6):
print(l[i])
for i in l:
print(i)
#元组的常用操作,和列表相似 ,元组不可变,值是无法改变
l=(1,2,3,4,5,6)
1、按索引取值(正向取+反向取):只能取
l[0] #
2、切片(顾头不顾尾,步长)
l[0:2] #(1,2)
3、长度
len(l) #
4、成员运算in和not in
1 in l # Ture
1 not in l #False
5、循环
for i in l:
print(i)
# 字典
D ={'a':'','b':'','c':''}
每一个元素是pair,包含key、value两部分。key是Integer或string类型,value 是任意类型。
键是唯一的,字典只认最后一个赋的键值。 dictionary的方法
D.get(key, 0) #同dict[key],多了个没有则返回缺省值,0。[]没有则抛异常
D.has_key(key) #有该键返回TRUE,否则FALSE
D.keys() #返回字典键的列表
D.values()
D.items() D.update(dict2) #增加合并字典
D.popitem() #得到一个pair,并从字典中删除它。已空则抛异常
D.clear() #清空字典,同del dict
D.copy() #拷贝字典
D.cmp(dict1,dict2) #比较字典,(优先级为元素个数、键大小、键值大小)
#第一个大返回1,小返回-1,一样返回0 dictionary的复制
dict1 = dict #别名
dict2=dict.copy() #克隆,即另一个拷贝。
7、lambda表达式格式以及应用场景?
1、应用在函数式编程中
# 需求:将列表中的元素按照绝对值大小进行升序排列
list1 = [3,5,-4,-1,0,-2,-6]
print(sorted(list1, key=lambda x: abs(x))) #[0, -1, -2, 3, -4, 5, -6]
当然,也可以如下:
list1 = [3,5,-4,-1,0,-2,-6]
def get_abs(x):
return abs(x)
print(sorted(list1,key=get_abs)) # [0, -1, -2, 3, -4, 5, -6]
2、应用在闭包中
def get_y(a,b):
return lambda x:a*x+b
y1 = get_y(1,1)
print(y1(1)) # 结果为2 #常规函数实现闭包 def get_y(a,b):
def func(x):
return a*x+b
return func
y1 = get_y(1,1)
print(y1(1)) # 结果为2
Python之禅 Explicit is better than implicit(明了胜与晦涩),不能盲目用匿名函数
8、pass的作用?
1、空语句
2、保证格式完整
3、保证语语义完整
9、*args和**kwargs作用
*args:可以理解为只有一列的表格,长度不固定
**kwargs:可以理解为字典,长度也不固定
1、函数调用里的*args和**kwargs:
(1)*args:元组或列表‘出现’
(2)分割参数
2、函数定义时传的*args/**kwargs
(1)接收参数
10、is和==的区别
is同一性运算符 比较判断的是对象间的唯一身份标识,id是否相同
==比较操作符 比较判断两个对象的value(值)是否相等
python3-开发面试题(python)6.24基础篇(3)的更多相关文章
- python3 开发面试题(collections中的Counter)6.7
''' 编写Python脚本,分析xx.log文件,按域名统计访问次数 xx.log文件内容如下: https://www.sogo.com/ale.html https://www.qq.com/3 ...
- python3 开发面试题(面向对象)6.6
""" 封装.继承.多态 1. 谈谈你对面向对象的理解? 2. Python面向对象中的继承有什么特点? 3. 面向对象深度优先和广度优先是什么? 4. 面向对象中sup ...
- python3 开发面试题(常用模块以及第三方库)6.5
""" 1. os和sys都是干什么的? 2. 你工作中都用过哪些内置模块? 3. 有没有用过functools模块? """ #sys模块 ...
- python3 开发面试题(字典和拷贝)5.30
""" 问:执行完下面的代码后, l,m的内容分别是什么? """ def func(m): for k,v in m.items(): m ...
- python3 开发面试题(创建表结构)6.9
纯sql语句写出: '''设计 图书管理系统 表结构: - 书 - 书名 - 作者 - 姓名 - 出版社 - 出版社名称 - 地址 一本书只能由一家出版社出版 --> 多对一(书对出版社) 一本 ...
- python3 开发面试题(装饰器必须考)6.4
def f(): print("2018-06-04") # 每次调用f的时候 在打印"2018-06-04" 之前打印一句 开始, 之后再打印一句 结束 de ...
- python3 开发面试题(去重保持原来的顺序)6.2
""" l1 = [11, 2, 3, 22, 2, 4, 11, 3] 去重并保持原来的顺序 """ #方式一 for 循环方法 l1 = ...
- python3 开发面试题(%s和format的区别)5.31
在格式化字符串中有两种方法: 1.%s 2.format 大家常用的是哪一种方法?为什么要用你选的这种方法? 我们先看一个例子: 首先我们定义一个我军需要击杀的恐怖分子的地理坐标为 c=(128,12 ...
- python3 开发面试题(生成列表)6.1
话不多说直接上题: 生成如下列表: [[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8], [0, 3, 6, 9, 12]] # 方式一 list1 ...
- 前端开发面试题-JavaScript(转载)
本文由 本文的原作者markyun 收集总结. 介绍js的基本数据类型. Undefined.Null.Boolean.Number.String. ECMAScript 2015 新增:Symbol ...
随机推荐
- HDU 1394 Minimum Inversion Number(树状数组/归并排序实现
Minimum Inversion Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java ...
- linux 下查看网卡工作速率
[root@hadoop058 ~]# mii-tool eth0: negotiated 100baseTx-FD, link ok 100M linux 下查看网卡工作速率 Ethtool是用于查 ...
- hibernate连接oracle数据库
前言:以下所有的操作都是基于你已经成功安装了oracle数据库并且java的开发环境正常的情况下进行的. 如果没有完善请先配置基础环境. 第一步:配置需要的环境(下载并导入需要的包). 下载链接:ht ...
- checkbox和后面文字无法居中对齐的解决方案
制作前端页面时,表单的页面中都存在表单元素与提示文字无法对齐的问题.下面是针对这一问题的解决方案: 先上结果图看效果,吼吼~ 最上面两个是经过css处理后的效果,已经居中对齐了哦~,最后一个是没有处理 ...
- lhgdialog的传值问题
一前言 今天就离职了,顺便把还没有记载下来得Js有关知识给记载下来,其实这个是lhgdialog.js中的传值问题.就是弹出框选择数据后加载到父页面上,自己用html做了测试. 二:内容 html代码 ...
- Java基础学习知识体系图
- SSL步骤
SSL步骤 被认证的服务器 1.创建keystore 2.创建信任证书 3.导出信任证书供客户端使用 客户端 1.创建keystore(如果不存在) 2.导入信任证书
- [bzoj2427][HAOI2010]软件安装——强连通分量+树形DP
题目大意 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi.我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和最大). 但是 ...
- 使用MapReduce将HDFS数据导入到HBase(三)
使用MapReduce生成HFile文件,通过BulkLoader方式(跳过WAL验证)批量加载到HBase表中 package com.mengyao.bigdata.hbase; import j ...
- js监听不到组合键
我在js文件中写代码,监听 ctrl + enter 组合键,但是一直监听不到.只能监听到单个键. 后来我将监听的代码放到html页面中去,就能监听到了. 这个问题困扰我很久,记录下!