python面试题的一些总结

基础篇

  1. 简单说明一下Python中几个常用的内置库(5个)
    re,json,time,random,sys,os,
  2. python中的三元表达式(三目运算符)
 
a = 1
b = 2
h = ""

h = a-b if a>b else a+b   # 判断成立h=a-b不成立h=a+b 
  1. map函数
list01 = [1, 2, 3, 4]
list01 = map(lambda x: x**2, list01)
list01 = list(list01)
print(list01)
# 打印结果 : [1, 4, 9, 16]
  • 股票
stock = [2, 1, 3, 4, 8, 6]
min_x = stock[0]
max_x = 0
i = 0
while i < len(stock):
    if min_x > stock[i]:

        min_x = stock[i]
        y = i
    i += 1

while y < len(stock):
    if max_x < stock[y]:
        max_x = stock[y]
    y += 1
b = max_x - min_x
print(b)
  • List item

  • 说一下进程和线程

  1. 线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;
  2. 一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线
  3. 进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段,数据集,堆等)及一些进程级的资源(如打开文件和信号等),某进程内的线程在其他进程不可见;
  • Django中orm有哪些方法
  1. models.Book.objects.all() # 获取到所有的书籍对象,结果是对象列表

  2. models.Book.objects.get(条件) # 获取符合条件的对象

  3. models.Book.objects.filter(条件) # 筛选所有符合条件的,结果是对象列表

  4. models.Book.objects.exclude(条件) # 筛选出所有不符合条件的,结果是对象列表

  5. models.Book.objects.all().values( ) # 字典列表,[ {id:1,name:20} , {id:2,name:18} ]

    values(‘id’)括号内不指定时显示全部,如指定则只显示指定的,[ {id:1} , {id:2,} ]

  6. models.Book.objects.all().values_list( ) # 元组列表,[ (1,20) , (2,18) ]同上,指定时显示指定内容

  7. models.Book.objects.all().order_by(‘id’) # 按照id升序就行排列

    models.Book.objects.all().order_by(‘-id’) # 按照id降序就行排列

    models.Book.objects.all().order_by(‘age’ , ‘-id’) # 先按age升序,age相同的按id进行降序排列

  8. models.Book.objects.all().order_by(‘id’).reverse() # 对结果反转; 注意reverse前必须排序,

否则reverse无效; 或在model.py文件中Book类中的Meta中指定ordering=(‘id’ , )注意逗号必须有

  1. distinct(): # 去重,当获取到的结果Queryset列表中同一对象出现多次时去重,只留一个

  2. models.Book.objects.all().count() # 计数,可统计结果个数,如对Queryset内元素数进行统计.

  3. models.Book.objects.all().first() # 获取结果中的第一条,即使前面结果列表为空,也不会报错

  4. models.Book.objects.filter().last() # 获取结果中的最后一条

  5. models.Book.objects.filter().exists() # 判断Queryset列表是否有东西,结果为True或False;

  • 逻辑题

  • 假如有一个池塘有无限多的水,然后你有一个6升的水壶和一个5升的水壶,请问要怎么样才能装3升的水?
    5升装满,倒进6升,再装满5升,把6升倒满,这时候5升里面装了4升,把6升倒掉,4升倒进6升,5升装满,到2升到6升里面装满,5升壶剩下3升

  • 实现字典的键值互换

def exchange(dic):
    new_dic = {}
    for key, value in dic.items():
        new_dic[value] = key

    return new_dic


print(exchange({'小': '名', '张': '三', 'ro': 'si', '大': '黄'}))

# 打印结果:{'名': '小', '三': '张', 'si': 'ro', '黄': '大'}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值