第一部分 必答题
-
简述列举了解的编程语言及语言之间的区别
-
C++:弱类型编译型语言
-
java:弱类型编译型语言
-
ruby:强类型解释性语言
-
-
列举python2 与 python 3 的区别
-
python2:源码不统一,重复;python3:源码统一,且不重复
-
python2:中的input为数据类型本身,python3:中的input都是字符串
-
python2:中的整形分为整型和长整型;python3中都是整形
-
python2:中打印range(1,9)为列表,python3中为range本身
-
-
看代码写结果
-
v1 = 1 or 2 ------->1
v2 = 3 and 7 or 9 and 0 ------>7
-
-
比较以下值有什么不同
-
v1 = [1,2,3]
v2 = [(1),(2),(3)]
v3 = [(1,),(2,),(3,)]
>>> v1 与 v2是一样的,都是列表,v3 是列表中有三个元组
-
-
用一行代码实现数值交换
-
a = 1
b = 2
>>> a,b = b,a
-
-
python中单引号、双引号、三引号的区别
-
没啥区别
-
-
is 和 == 的区别
-
is 表示两边的值不止相同,存储地址也一样
-
== 表示两边的值相同
-
-
python里如何事项tuple 和 list 的转化
-
list(tuple)
-
-
如何实现字符串
name = '老男孩'
的反转-
name[::-1]
-
-
两个set如何获取交集、并集、差集
-
两个集合相减得差集
-
&:交集
-
|:并集
-
-
哪些情况下,y! = x - (x-y)会成立
-
y为0 或 为False
-
-
python中如何拷贝一个对象
-
copy()
-
-
简述赋值,浅拷贝、深拷贝的区别
-
赋值:将一个变量赋值另一个变量,值相等,地址不同
-
浅拷贝:只拷贝第一层元素地址,修改时只有修改第一层时源数据类型不会改变
-
深拷贝:不可变数据类型公用,可变数据类型开辟新空间,无论一方怎么改,另一方都不会变
-
-
pass的作用
-
执行代码时遇到pass直接跳过,定义的函数不执行
-
-
阅读代码写结果
-
import copy
a = [1,2,4,5,['b','c']]
b = a
c = copy.copy(a)
d = copy.deepcopy(a)
a.append(5)
a[4].append('d')
print(b)
print(c)
print(a)
>>>
[1,2,3,4,5,['b','c','d'],5]
[1,2,3,4,5,['b','c','d']]
[1,2,3,4,5,['b','c','d'],5]
-
-
用Python实现9 * 9 乘法表。
-
-
-
用Python显示一个斐波那契数列。
-
-
-
如何删除列表中重复的值?
-
将列表先转化成集合,再把集合转化成列表
-
-
一个大小为100G的文件etl_log.txt, 要读取文件中的内容, 写出具体过程代码?
-
f = open('文件路径','r',encoding='utf-8')
for i in f:
print(i.strip())
-
-
a = dict(zip(("a","b","c","d","e"),(1,2,3,4,5))) 请问a是什么?
-
a = {'a':1,'b':2,'c':3,'d':4,'e':5}
-
-
lambda关键字的作用?
-
定义一个匿名函数
-
-
*arg
和**kwarg
作用?-
*args 接受所有的位置参数
**kwarg 接受所有的关键字参数
-
-
如何在函数中设置一个全局变量 ?
-
globel a = 1
-
-
filter、map、reduce的作用?
-
filter--------过滤
-
map--------映射函数
-
reduce------累计算
-
-
什么是匿名函数?匿名函数有什么作用?
-
匿名函数就是没有名字的函数,用lambda定义
-
定义一个函数
-
-
Python递归的最大层数?
-
官方说明时1000,实测大概997,998左右
-
-
什么是迭代器?什么是可迭代对象?
-
只要有
_iter_()
方法的就是可迭代对象 -
有
_iter_()与_next_()
方法的是迭代器
-
-
什么是生成器?
-
生成器的本质就是一个迭代器,是程序员自己写的一种迭代器
-
使用yield声明一个生成器
-
-
什么是装饰器及应用场景?
-
在不改变源码代码和调用方式的基础上给源码添加新功能
-
-
-
使用字符串调用属性和方法
-
-
写一个普通的装饰器。
-
def wrapper(func):
def inner(func):
for i in range(6):
func()
return
return
-
-
写一个带参数的装饰器。
-
def wrapper(func):
def inner(func):
for i in range(6):
func()
return
return
-
-
求结果
def num():
return [lambda x:i*x for i in range(4)]
print([m(2) for m in num()])
>>>
[6,6,6,6] -