4000-9696-28

python面试基础知识(一),附带详细答案哦!

2019年11月12日 10:10供稿中心:北大青鸟总部

摘要: python面试基础知识(一)

最近,小编在整理python面试基础知识,看了很多博客、文章和咨询了一些大厂公司大牛。了解到,在python面试的时候,不仅要求你有项目经验,还要考试代码呢!今天,小编和大家分享一下python面试基础知识,希望帮忙大家找到理想的工作!

1573439053(1).jpg

1、字符串常见操作

切片

mystr='helloworld'

mystr=mystr[1:3]

# print(mystr)

format

mystr2 = 'welcome, dear {name}'

mystr2 = mystr2.format(name = "haha")

# print(mystr2)

join

mystr3 = ['luo','bo','da','za']

mystr3 = '-'.join(mystr3)

# print(mystr3)

replace

mystr4 = 'haha-lala'

mystr4 = mystr4.replace('haha','good')

# print(mystr4)

split

mystr5 = 'lala,haha'

mystr5 = mystr5.split('h')

# print(mystr5)

2、列表常见操作

append 和 extend

list1 = [1,2]

list2 = [3,4]

list3 = [5,6]

list1.append(list2)

list3.extend(list2)

# print(list1)

# print(list3)

删除元素

del:根据下标进行删除

pop:删除最后一个元素

remove:根据元素的值进行删除

list4 = ['a', 'b', 'c', 'd']

del(list4[0])

# print(list4)

# list4.pop()

# print(list4)

# list4.remove('c')

# print(list4)

排序

mylist5 = [1, 5, 2, 3, 4]

mylist5.sort()

print(mylist5)

mylist5.reverse()

print(mylist5)

3、字典常见操作

清空字典

dict1 = {'key1':1,'key2':2}

# dict1.clear()

# print(dict1)

使用 pop 方法来指定删除字典中的某一项

# d1 = dict1.pop('key1')

# print(d1)

# print(dict1)

遍历字典

mykey = [key for key in dict1]

# print(mykey)

myval = [val for val in dict1.values()]

# print(myval)

key_val = [(k,v) for k,v in dict1.items()]

# print(key_val)

fromkeys

用于创建一个新字典,以序列中元素做字典的键,value 为字典所有键对应的初始值

keys = ['aa','bb','cc','dd']

dict2 = dict.fromkeys(keys,0)

# print(dict2)

4、is和==的区别

== 是比较操作符,只是判断对象的值(value)是否一致。

is 判断的是对象之间的身份(内存地址)是否一致。

5、*arg和**kwarg作用

*arg会把位置参数转化为tuple **kwarg会把关键字参数转化为dict

6、计算1到100的和

sum(range(1,101))

7、获取当前时间

import time

import datetime

# print(datetime.datetime.now())

8、深拷贝与浅拷贝

import copy

浅拷贝

l1 = [1, 2, 3, [1, 2]]

l2 = copy.copy(l1)

l2.append('a')

l2[3].append('a')

# print(l1,l2

深拷贝

l3 = copy.deepcopy(l1)

l3.append('a')

l3[3].append('a')

# print(l1,l3)

9、查看下面代码的输出

def num():

    return [lambda x:i*x for i in range(4)]

print([m(1) for m in num()])

[3, 3, 3, 3]

10、打印九九乘法表

for i in range(1,10):

    for j in range(1,i+1):

        print("%s*%s=%s" %(i,j,i*j),end="")

    print()

11、filter、map、reduce 的作用

mylist = [1, 2, 3, 4, 5, 6, 7, 8, 9]

list(filter(lambda x: x%2 == 1, mylist))

mylist = [1,2,3,4,5,6,7,8,9]

li1 = list(map(lambda x: x*2,mylist))

# print(li1)

from functools import reduce

li3 = reduce(lambda x,y: x+y, range(101))

# print(li3)

12、三元运算

a,b = 1,2

h = a-b if a>b else a+b

# print(h)

13、生成随机数

print(random.random())

print(random.randint(1, 100))

14、字符串单词统计

from collections import Counter

mystr = 'dhasdgaskbkgagdadd;hadgajkdhklhafa'

# print(Counter(mystr))

15、列表推导,求奇(偶)数

# print([x for x in range(10) if x%2 == 1])

16、二分法查找函数

def binary_search(data,item):

    n = len(data)

    first = 0

    last = n-1

    while first <= last:

        mid = (first+last)//2

        if data[mid] == item:

            return mid+1

        elif data[mid] > item:

            last = mid-1

        else:

            first = mid+1

    return '不在列表中'

 

l1 = [1,2,5,66,80,100]

# print(binary_search(l1,880))

17、字典和 json 转换

import json

dict1 = {'a':1,'b':2,'c':3}

myjson = json.dumps(dict1)

# print(myjson)

mydict = json.loads(myjson)

# print(mydict)

18、read、readline、readlines 的区别

# read: 读取整个文件

# readline: 读取下一行,使用生成器方法

# readlines: 读取整个文件到一个迭代器供我们遍历

19、打乱一个列表

import random

l1 = [1,2,3,4]

random.shuffle(l1)

# print(l1)

20. 反转字符串

str1 = 'liuleqian NB'

# print(str1[::-1])

21、类中的各种函数

# 主要分为实例方法、类方法和静态方法

# 实例方法:

# 定义:第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法(也可以传类的属性和方法);

# 调用:只能由实例对象调用。

# 类方法:

# 定义:使用装饰器@classmethod。第一个参数必须是当前类对象,该参数名一般约定为“cls”,通过它来传递类的属性和方法(不能传实例的属性和方法);

# 调用:实例对象和类对象都可以调用。

# 静态方法:

# 定义:使用装饰器@staticmethod。参数随意,没有“self”和“cls”参数,但是方法体中不能使用类或实例的任何属性和方法;

# 调用:实例对象和类对象都可以调用。

22、去除字符串首尾空格

str1 = "   han   "

# print(str1.strip())

23、去除字符串中间的空格

str1 = "ha haha  ha"

# print(str1.replace(" ",""))

print("".join(str1.split(" ")))

以上,就是python面试基础知识,小编还会陆续更新哦!希望大家都能找到合适的工作!

————————————————

版权声明:本文为CSDN博主「单车欲问边」的原创文章,旨在分享哦!

原文链接:https://blog.csdn.net/hanguofei/article/details/102987057

关于我们
公司简介
发展历程
青鸟荣誉
联系我们
加入我们
青鸟课程
BCVE视频特效课程
BCUI全链路UI设计
BCSP软件开发专业
BCNT网络工程师
启能职业教育基础课程
学习客户端下载
青鸟优师
青鸟云课堂
微信 公众号 咨询 顶部 首页
官方新版意见收集

*

官方新版意见收集

提交成功,感谢您的反馈。

我们会认真阅读和考虑每个用户的反馈。