java:编译型语言
c语言:编译型语言
python:解释型语言
编译型语言和解释型语言的区别
编译型语言
优点:
运行速度快,执行效率高
缺点:
编译时间长,需要根据操作系统环境编译不同的可执行文件
解释型语言
优点:开发效率高,有良好的兼容性,灵活
缺点:运行速度慢,性能上不如编译型语言
Python2和python3的区别
Python2:源码不统一,源码有重复,python3,源码统一,源码不重复
Python2除法的时候返回的是整数(向下取整),python3返回的是浮点数
python3中的input获取的是字符串,python2中获取的是数据本身
Python3使用的是Unicode,Python2中使用 ASCII 码
python3 iter()和_iter_()都有 python2 只有 iter()
Python2中没有提供线程池,python3之后解释器才提供了线程池.
Python2: python2.2 之前都是经典类,python2.2之后出现了新式类,继承object就是新式类
Python3: 只有新式类,不管你继不继承object都是新式类
看代码,写结果
v1 = 1 or 2
结果:1
v2 = 3 and 7 or 9 and 0
结果:7
规则:
and的运算,都为真才为真,有一个是假就是假
and的运算,都为真的时候选择and后边的内容
and的运算,都为假时选择and前边的内容
or的运算,只要有一个真就是真
or的运算,都为真时选择or前边的内容
or的运算,都为假时选择or后边的内容
非 ---不是
not True = False
优先级:
()>not>and>or
比较以下值有什么不同
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的转化
a = (1,2,3,4,5)
b = list(a)
如何实现字符串name=‘老男孩‘
反转
name = "老男孩"
l = reversed(name)
print(''.join(l))
字符串切片
l= name[::-1]
两个set如何获取交集、并集、差集
s1 = {"刘能", "赵四", "???"}
s2 = {"刘科?", "冯乡?", "???"}
交集 s1&s2 两个集合中的共有元素
并集 s1|s2 两个集合中的全部元素
差集 s1-s2 第一个集合中单独的元素
那些情况下, y != x - (x-y)会成立?
x,y都为真时成立
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)
[1,2,4,5,['b','c'],5]
a[4].append('d')
[1,2,4,5,['b','c','d'],5]
print(b) [1,2,4,5,['b','c','d'],5]
print(c) [1,2,4,5,['b','c']]
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("%s*%s=%s"%(i,j,i*j),end=' ')
print(' ')
用Python显示一个斐波那契数列
def fib(n):
if n==1 or n==2:
return n
return fib(n-1) + fib(n-2)
n = int(input())
print('斐波那契数列第%s个是'%(n),fib(n))
如何删除列表中重复的值
lst=list(set(list))
一个大小为100G的文件etl_log.txt, 要读取文件中的内容, 写出具体过程代码?
with open(etl_log.txt, 'r') as f:
for i in f:
print(i,end=' ')
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关键字的作用?
lambda是匿名函数,能提高代码的执行效率,增加可读性
*arg
和**kwarg
作用?
*arg在定义函数时接受多余的位置参数,**kwarg接受多余的关键字参数
*arg 把多余的位置参数转化为元组
**kwarg 把多余的关键字参数转换为字典
如何在函数中设置一个全局变量
使用global
global 变量名
filter、map、reduce的作用
map 作用:便于对数组中的每个元素进行操作 是用同样方法把所有数据都改成别的
reduce 作用:对数组中的元素进行汇总 是用某种方法依次把所有数据丢进去最后得到一个结果
filter 作用:过滤 是筛选出其中满足某个条件的那些数据
什么是匿名函数?匿名函数有什么作用
匿名函数:为了解决那些功能很简单的需求而设计的一句话函数
函数名 = lambda 参数 :返回值
作用:能够简化代码,能作为参数传递,提高执行效率,节省空间
Python递归的最大层数
官方给出的结果是1000,实测在998左右
什么是迭代器?什么是可迭代对象?
含有__iter__和__next__方法 (包含__next__方法的可迭代对象就是迭代器)
具有__iter__方法的就是可迭代对象。
什么是生成器
包括含有yield这个关键字,生成器也是迭代器,调动next把函数变成迭代器
什么是装饰器及应用场景
能够在不修改原函数代码的基础上,在执行前后进行定制操作,闭包函数的一种应用
应用场景:
django的权限验证
计算函数的运行次数和运行时间
插入日志
什么是反射及应用场景
反射就是通过字符串的形式,导入模块;通过字符串的形式,去模块寻找指定函数,并执行。利用字符串的形式去对象(模块)中操作(查找/获取/删除/添加)成员
应用场景
django中的类视图
原文:https://www.cnblogs.com/python111/p/12366076.html