ptyhon:解释型语言,相对简单易学
c:编译型语言 底层语言
java:混合型语言
列举Python2和Python3的区别?
Python2:源码不统一,有重复的功能代码
Python3:源码统一,没有重复的功能代码
看代码写结果
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,)] 列表套元组
用一行代码实现数值交换。
a = 1
b = 2 a,b = b,a
Python中单引号、双引号、三引号的区别?
单双引号可以互相包含,避免转义
三引号注释
is和==的区别?
is判断ID值是否相同
==比较像个对象的值是否相等
python里是如何实现tuple和list的转化?
列表转元组:
lst = [1,2,3,4]
tu = tuple(lst)
元组转列表:
tu = (1,2,3,4)
lst = list(tu)
如何实现字符串name = ‘老男孩‘的反转?
name = ‘老男孩‘
name1 = name[::-1]
?
print(reversed(name))
两个set如何获取交集、并集、和差集?
交集 —— &
并集 —— |
差集 —— -
那些情况下,y!=x-(x-y)会成立?
x,y是步行等的非空集合
Python中如何拷贝一个对象?
copy.copy()
copy.deepcopy()
简述赋值、浅拷贝、深拷贝的区别?
赋值:多个变量名指向同一个内存地址就是赋值
浅拷贝:只拷贝第一层元素
深拷贝:不可变数据类型共用,可变数据类型开辟新空间
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)
?
‘‘‘
a = [1,2,4,5,[‘b‘,‘c‘,‘d‘],5]
b = [1,2,4,5,[‘b‘,‘c‘]]
c = [1,2,4,5,[‘b‘,‘c‘],5]
‘‘‘
用Python实现9*9乘法表。
j = 1
while j < 10:
i = 1
while i <= j:
if i == j:
print(i, ‘*‘, j, ‘=‘, j * i)
else:
print(i, ‘*‘, j, ‘=‘, j * i, end=‘ ‘)
i += 1
j += 1
?
?
for i in range(1, 10):
for j in range(1, i+1):
print("%s*%s=%s" % (j, i, i*j), end=‘ ‘)
print(‘‘)
用Python显示一个斐波那契数列。
def foo(n):
if n == 1:
return 1
elif n == 2:
return 1
else:
return foo(n-1) + foo(n-2)
如何删除列表中重复的值?
lst = [1,1,2,2,3,3]
print(set(lst))
一个大小为100G的文件etl_long.txt,要读取文件中的内容,写出具体过程代码。
f = open(‘etl_log.txt‘,mode = ‘r‘, encoding = ‘utf-8‘)
print(f.read())
?
with open(‘etl_log.txt‘, ‘r‘, encoding = ‘utf-8‘)as f:
print(f.read())
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关键字的作用?
lambda是定义匿名函数的关键字,相当于普通函数的def
*args和**kwargs作用?
*args:接受动态位置参数
**kwargs:接受动态默认参数
如何在函数中设置一个全局变量?
global a
filter、map、reduce的作用?
filter:筛选过滤
map:映射
reduce:累计算
什么是匿名函数?匿名函数有什么作用?
用lambda能够创建一个匿名函数,匿名函数省略了用def声明函数的标准步骤
作用:作为自定义函数和内置函数的参数传递
Python递归的最大层数?
官方:1000
实际:998
什么是迭代器?什么是可迭代对象?
具有--iter() 和 --next() 两个方法,可以被next()函数调用并不断返回下一个值得对象成为迭代器
具有--iter()方法就是一个可迭代对象
什么是生成器?
生成器的本质是迭代器,生成器是程序员自己写的一种迭代器,且具有send方法和yield关键字
什么是装饰器及应用场景?
装饰器本质上是一个Python函数,它可以在不改变源代码的情况下增加额外的功能。
使用场景:
权限的校验,在函数外层套上校验的代码,实现权限校验
实现缓存处理
计算函数的运行次数
作为函数的运行日志
什么是反射及应用场景?
可以通过字符串的形式来操作对象的属性
写一个普通的装饰器。
def foo(f):
def index(*args, **kwargs):
ret = f(*args, **kwargs)
return ret
return index
写一个带参装饰器。
def func(f):
def foo(auth):
def index(*args, **kwargs):
ret = auth()
return ret
return index
return foo
求结果
def num():
return [lambda x:i*x for i in range(4)]
print([m(2) for m in num()])
?
‘‘‘
[6,6,6,6]
‘‘‘
def(a, b=[])这种写法有什么陷阱?
?
看代码写结果
def func(a,b=[]):
b.append(a)
return b
v1 = func(1)
v2 = func(2,[10,20])
v3 = func(3)
print(v1,v2,v3)
?
‘‘‘
v1=[1]
v2=[10,20,2]
v3=[1,3]
‘‘‘
看代码写结果
def func(a,b=[]):
b.append(a)
return b
v1 = func(1)
print(v1) [1]
v2 = func(2,[10,20])
print(v2) [10,20,2]
v3 = func(3)
print(v3) [1,3]
请编写一个函数实现将IP地址转换成一个整数。
如 10.3.9.12 转换规则为:
10 00001010
3 00000011
9 00001001
12 00001100
再将以上二进制拼接起来计算十进制结果00001010 00000011 00001001 00001100 = ?
请查找一个目录下所有的文件(文件存在嵌套)。
求结果
import math
print (math.floor(5.5))
是否使用过functools中的函数?其作用是什么?
reduce 累计算
re的march和search区别?
march:从头开始匹配,匹配一个就停止
search:从任意位置开始匹配,匹配一个就停止
用Python匹配HTML tag的时候,<>和 <?> 有什么区别?
.:贪婪匹配,匹配任意多个字符
.?:非贪婪匹配,只匹配一次
random.random()
super的作用?
?
双下划綫和单下划线的区别?
@staticmenthod和@classmethod的区别?
实现一个单例模式(加锁)。
栈和队列的区别?
以下代码输出的是什么?请给出答案并解释。
class Parent(object):
x = 1
class Child1(Parent):
pass
class Child2(Parent):
pass
print Parent.x, Child1.x, Child2.x
?
Child1.x = 2
print Parent.x, Child1.x, Child2.x
?
Parent.x = 3
print Parent.x, Child1.x, Child2.x
参考下面代码片段
class Context:
pass
with Content() as ctx:
ctx.do_something()
请在Context类下添加代码完成该类的实现
原文:https://www.cnblogs.com/limingyang111/p/12366146.html