简述列举了解的编程语言及语言间的区别?
# 编程语言:一种计算机和人都能识别的语言。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。包括解释性编程语言和编译型编程语言,编译型语言运行速度快但开发效率低,解释型语言开发效率高但运行速度慢
# 语言:人与人之间沟通的主要方式,每个民族都有自己的语言,包括语音系统、语汇系统、语法系统
列举Python2和Python3的区别?
# 1.python2:源码不统一,源码重复 python3:源码统一,源码不重复
# 2.python3:全部都是整型 python2:整型,长整型long
# 3.python3中打印range是自己本身,-python2中打印range是列表
# 4.Python2 中存在老式类和新式类的区别,Python3 统一采用新式类。新式类声明要求继承 object
# 5.python2 解释器默认编码:ascii python3 解释器默认编码:unicode
看代码写结果
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的转化?
# tuple - list:tuple(list)
# list - tuple:list(tuple)
如何实现字符串name=‘老男孩’的反转?
# name[::-1]
两个set如何获取交集、并集、差集?
# 交集:s&s1 并集:s|s1 差集:s-s1
那些情况下,y != x - (x-y )会成立?
# xy是两个不相等的非空集合
Python中如何拷贝一个对象?
# 赋值(=):创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个
# 浅拷贝:创建一个新的对象,只拷贝第一层元素,只有修改第一层(不可变)的时候源数据不受影响
# 深拷贝:创建一个新的对象,不可变数据类型共用,可变数据类型新开辟一个空间
简述赋值、浅拷贝、深拷贝的区别?
# 赋值(=):创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个
# 浅拷贝:创建一个新的对象,只拷贝第一层元素,只有修改第一层(不可变)的时候源数据不受影响
# 深拷贝:创建一个新的对象,不可变数据类型共用,可变数据类型新开辟一个空间
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)
# [1,2,4,5,[‘b‘,‘c‘,‘d‘],5]
print(c)
# [1,2,4,5,[‘b‘,‘c‘,‘d‘]]
print(a)
# [1,2,4,5,[‘b‘,‘c‘,‘d‘],5]
用Python实现9 * 9乘法表。
for i in range(1, 10):
for j in range(1, i+1):
print(f‘{i} * {j} = {i*j}‘, end=‘ ‘)
print(‘ ‘)
用Python显示一个斐波那契数列。
def func(n):
if n == 1 or n == 2:
return 1
else:
return func(n-1) + func(n-2)
n = int(input("请输入数字:"))
for i in range(1, n):
print(func(i))
如何删除列表中重复的值?
# set(list)
—个大小为100G的文件etl_log.txt,要读取文件中的内容,写出具体过程代码?
with open("etl_log.txt",encoding="utf-8")
for i in f
print(i)
a = dict(zip(("a","b","c","d","e"),(1,2,3,4,5)))请问 a 是什么?
# {"a":1,"b":2,"c":3,"d":4,"e":5}
lambda关键字的作用?
# 定义一个匿名函数,通常用在需要用一个简单的函数,又不想费神给函数命名,匿名函数一般不单独使用,多于高阶函数配合使用
*arg 和 **kwarg 作用?
# *args:动态位置参数,先执行位置参数,位置参数接受后额外的参数动态位置参数进行接受 获取的是一个元组
# **kwargs:动态关键字参数(默认),先执行默认参数,默认参数接受后额外的默认参数动态默认参数进行接受,获取的是一个字典
如何在函数中设置一个全局变量?
# global a
filter、map、reduce的作用?
# filter:按照指定规则对数据进行过滤
# map:映射函数,将可迭代对象中的每个元素执行指定的函数
# reduce:累计算
什么是匿名函数?匿名函数有什么作用?
# 匿名函数:匿名函数就是一行函数,用lambda表示
# 作用:使用于不复杂的函数,因为函数没有名字,不必担心函数名冲突。减少占用内存
Python递归的最大层数?
# 官方说明1000 实际测试998/997
什么是迭代器?什么是可迭代对象?
# 只要具有__iter__() 方法就是一个可迭代对象
# 具有__iter__()和__next__()两个方法才是迭代器
什么是生成器?
# 生成器的本质就是一个迭代器,是程序员自己写的迭代器
什么是装饰器及应用场景?
# 在不修改源代码及调用方式,对功能进行额外添加就是装饰器
# 装饰器能有助于检查某个人是否被授权去使用一个web应用的端点(endpoint)。它们被大量使用于Flask和Django web框架中。
什么是反射及应用场景?
# 通过字符串操作对象的属性和方法
#应用场景:用于处理通过用户输入,文件读取,或者网络传输所得到的字符串形式的指令来完成对应的操作
写一个普通的装饰器。
def wrapper(func):
def inner(*args,**kwargs):
func()
return inner
写一个带参数的装饰器。
def auth(argv):
def wrapper(func):
def inner(*args,**kwargs):
func()
return inner
return wrapper
求结果
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=[])这种写法有什么陷阱?
b第二次执行函数用的还是第一次执行时实例化的地址储存
看代码写结果
def func(a,b=[]):
b.append(a)
return b
vl = func(l)
v2 = func(2,[10,20])
v3 = func(3)
print(vl,v2,v3)
# v1 = [1,3]
# v2 = [10,20,2]
# v3 = [1,3]
?
看代码写结果
def func(a,b=[]):
b.append(a)
return b
vl = func(l)
print (vl)
# [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 = ?
?
def ipfunc(ip):
lst = []
s = ‘‘
ip_int = ip.split(".")
for i in ip_int:
ip_bin = bin(int(i))[2:].rjust(8, "0")
lst.append(ip_bin)
return s.join(lst)
?
?
print(ipfunc(‘10.3.9.12‘))
请查找一个目录下的所有文件(可能存在文件嵌套)。
#
import math
print (math.floor(5.5))
# 5
是否使用过functools中的函数?其作用是什么?
# functools用于高阶函数:指那些作用于函数或者返回其他函数的函数。通常情况下,只要是
可以被当做函数调用的对象就是这个模块的目标。
re的match和search区别?
# search 从任意位置开始查找
# match 从头开始查看,如果不符合就不继续查找了
用Python匹配HTML tag的时候,<?>和<?>有什么区别?
# <.>:匹配任意字符,一个点只匹配一次
# <?>:匹配?左侧0或1个字符串 非贪婪匹配
如何生成一个随机数?
?
原文:https://www.cnblogs.com/sunyongchao/p/12366223.html