2024年Python最全50道求职必备Python面试题+答案_python实习面试

insert(position,value)

numbers.insert(2,7)
print(numbers)

[1,2,7,4,5,6]

numbers.extend([7,8,9])
print(numbers)

[1,2,7,4,5,6,7,8,9]

numbers.append([4,5])

[1,2,7,4,5,6,7,8,9,[4,5]]


▍12、break、continue、pass是什么?


break:在满足条件时,它将导致程序退出循环。


continue:将返回到循环的开头,它使程序在当前循环迭代中的跳过所有剩余语句。


pass:使程序传递所有剩余语句而不执行。


▍13、区分Python中的remove,del和pop?


remove:将删除列表中的第一个匹配值,它以值作为参数。


del:使用索引删除元素,它不返回任何值。


pop:将删除列表中顶部的元素,并返回列表的顶部元素。



numbers = [1,2,3,4,5]
numbers.remove(5)

[1,2,3,4]

del numbers[0]

[2,3,4]

numbers.pop()

4


▍14、什么是switch语句。如何在Python中创建switch语句?


switch语句是实现多分支选择功能,根据列表值测试变量。


switch语句中的每个值都被称为一个case。


在Python中,没有内置switch函数,但是我们可以创建一个自定义的switch语句。



switcher = {
1: “January”,
2: “February”,
3: “March”,
4: “April”,
5: “May”,
6: “June”,
7: “July”,
8: “August”,
9: “September”,
10: “October”,
11: “November”,
12: “December”
}
month = int(input())
print(switcher.get(month))

3
march


▍15、举例说明Python中的range函数?


range:range函数返回从起点到终点的一系列序列。


range(start, end, step),第三个参数是用于定义范围内的步数。



number

for i in range(5):
print(i)

0,1,2,3,4

(start, end)

for i in range(1, 5):
print(i)

1,2,3,4

(start, end, step)

for i in range(0, 5, 2):
print(i)

0,2,4


▍16、==和is的区别是?


==比较两个对象或值的相等性。


is运算符用于检查两个对象是否属于同一内存对象。



lst1 = [1,2,3]
lst2 = [1,2,3]

lst1 == lst2

True

lst1 is lst2

False


▍17、如何更改列表的数据类型?


要将列表的数据类型进行更改,可以使用tuple()或者set()。



lst = [1,2,3,4,2]

更改为集合

set(lst) ## {1,2,3,4}

更改为元组

tuple(lst) ## (1,2,3,4,2)


▍18、Python中注释代码的方法有哪些?


在Python中,我们可以通过下面两种方式进行注释。


1. 三引号’‘’,用于多行注释。
2. 单井号#,用于单行注释。


▍19、!=和is not运算符的区别?


!=如果两个变量或对象的值不相等,则返回true。


is not是用来检查两个对象是否属于同一内存对象。



lst1 = [1,2,3,4]
lst2 = [1,2,3,4]

lst1 != lst2

False

lst1 is not lst2

True


▍20、Python是否有main函数?


是的,它有的。只要我们运行Python脚本,它就会自动执行。


▍21、什么是lambda函数?


Lambda函数是不带名称的单行函数,可以具有n个参数,但只能有一个表达式。也称为匿名函数。



a = lambda x, y:x + y
print(a(5, 6))

11


▍22、iterables和iterators之间的区别?


iterable:可迭代是一个对象,可以对其进行迭代。在可迭代的情况下,整个数据一次存储在内存中。


iterators:迭代器是用来在对象上迭代的对象。它只在被调用时被初始化或存储在内存中。迭代器使用next从对象中取出元素。



List is an iterable

lst = [1,2,3,4,5]
for i in lst:
print(i)

iterator

lst1 = iter(lst)
next(lst1)

1
next(lst1)
2
for i in lst1:
print(i)
3,4,5


▍23、Python中的Map Function是什么?


map函数在对可迭代对象的每一项应用特定函数后,会返回map对象。


▍24、解释Python中的Filter?


过滤器函数,根据某些条件从可迭代对象中筛选值。



iterable

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

def even(num):
if num%2==0:
return num

filter all even numbers

list(filter(even,lst))

[2, 4, 6, 8, 10]


▍25、解释Python中reduce函数的用法?


reduce()函数接受一个函数和一个序列,并在计算后返回数值。



from functools import reduce

a = lambda x,y:x+y
print(reduce(a,[1,2,3,4]))

10


▍26、什么是pickling和unpickling?


pickling是将Python对象(甚至是Python代码),转换为字符串的过程。


unpickling是将字符串,转换为原来对象的逆过程。


▍27、解释\*args和\*\*kwargs?


\*args,是当我们不确定要传递给函数参数的数量时使用的。



def add(* num):
sum = 0
for val in num:
sum = val + sum
print(sum)

add(4,5)
add(7,4,6)
add(10,34,23)

9
17
57


\*\*kwargs,是当我们想将字典作为参数传递给函数时使用的。



def intro(**data):
print(“\nData type of argument:”,type(data))
for key, value in data.items():
print(“{} is {}”.format(key,value))

intro(name=“alex”,Age=22, Phone=1234567890)
intro(name=“louis”,Email=“a@gmail.com”,Country=“Wakanda”, Age=25)

Data type of argument: <class ‘dict’>
name is alex
Age is 22
Phone is 1234567890

Data type of argument: <class ‘dict’>
name is louis
Email is a@gmail.com
Country is Wakanda
Age is 25


▍28、解释re模块的split()、sub()、subn()方法?


split():只要模式匹配,此方法就会拆分字符串。


sub():此方法用于将字符串中的某些模式替换为其他字符串或序列。


subn():和sub()很相似,不同之处在于它返回一个元组,将总替换计数和新字符串作为输出。



import re
string = “There are two ball in the basket 101”

re.split(“\W+”,string)

[‘There’, ‘are’, ‘two’, ‘ball’, ‘in’, ‘the’, ‘basket’, ‘101’]

re.sub(“[^A-Za-z]”," ",string)

‘There are two ball in the basket’

re.subn(“[^A-Za-z]”," ",string)

(‘There are two ball in the basket’, 10)


▍29、Python中的生成器是什么?


生成器(generator)的定义与普通函数类似,生成器使用yield关键字生成值。


如果一个函数包含yield关键字,那么该函数将自动成为一个生成器。



A program to demonstrate the use of generator object with next() A generator function

def Fun():
yield 1
yield 2
yield 3

x is a generator object

x = Fun()
print(next(x))

1
print(next(x))

2


▍30、如何使用索引来反转Python中的字符串?



string = ‘hello’

string[::-1]

‘olleh’


▍31、类和对象有什么区别?


类(Class)被视为对象的蓝图。类中的第一行字符串称为doc字符串,包含该类的简短描述。


在Python中,使用class关键字可以创建了一个类。一个类包含变量和成员组合,称为类成员。


对象(Object)是真实存在的实体。在Python中为类创建一个对象,我们可以使用obj = CLASS\_NAME()


例如:obj = num()


使用类的对象,我们可以访问类的所有成员,并对其进行操作。



class Person:
“”" This is a Person Class"“”
# varable
age = 10
def greets(self):
print(‘Hello’)

object

obj = Person()
print(obj.greet)

Hello


▍32、你对Python类中的self有什么了解?


self表示类的实例。


通过使用self关键字,我们可以在Python中访问类的属性和方法。


注意,在类的函数当中,必须使用self,因为类中没有用于声明变量的显式语法。


▍33、\_init\_在Python中有什么用?


“**init**”是Python类中的保留方法。


它被称为构造函数,每当执行代码时都会自动调用它,它主要用于初始化类的所有变量。


▍34、解释一下Python中的继承?


继承(inheritance)允许一个类获取另一个类的所有成员和属性。继承提供代码可重用性,可以更轻松地创建和维护应用程序。


被继承的类称为超类,而继承的类称为派生类/子类。


▍35、Python中OOPS是什么?


面向对象编程,抽象(Abstraction)、封装(Encapsulation)、继承(Inheritance)、多态(Polymorphism)


▍36、什么是抽象?


抽象(Abstraction)是将一个对象的本质或必要特征向外界展示,并隐藏所有其他无关信息的过程。


▍37、什么是封装?


封装(Encapsulation)意味着将数据和成员函数包装在一起成为一个单元。


它还实现了数据隐藏的概念。


▍38、什么是多态?


多态(Polymorphism)的意思是「许多形式」。


子类可以定义自己的独特行为,并且仍然共享其父类/基类的相同功能或行为。


▍39、什么是Python中的猴子补丁?


猴子补丁(monkey patching),是指在运行时动态修改类或模块。




**一、Python所有方向的学习路线**

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

![img](https://img-blog.csdnimg.cn/1d40facda2b84990b8e1743f5487d455.png)  
![img](https://img-blog.csdnimg.cn/0fc11d4a31bd431dbf124f67f1749046.png)

**二、Python必备开发工具**

工具都帮大家整理好了,安装就可直接上手!![img](https://img-blog.csdnimg.cn/ff266f529c6a46c4bc28e5f895dec647.gif#pic_center)

**三、最新Python学习笔记**

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

![img](https://img-blog.csdnimg.cn/6d414e9f494742db8bcc3fa312200539.png)

**四、Python视频合集**

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

![img](https://img-blog.csdnimg.cn/a806d9b941c645858c61d161aec43789.png)

**五、实战案例**

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。![img](https://img-blog.csdnimg.cn/a353983317b14d3c8856824a0d6186c1.png)

**六、面试宝典**

![在这里插入图片描述](https://img-blog.csdnimg.cn/97c454a3e5b4439b8600b50011cc8fe4.png)

![在这里插入图片描述](https://img-blog.csdnimg.cn/111f5462e7df433b981dc2430bb9ad39.png)

###### **简历模板**![在这里插入图片描述](https://img-blog.csdnimg.cn/646863996ac44da8af500c049bb72fbd.png#pic_center)




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值