python簡單面試題


  在這個即將進入金9銀10的跳槽季節的時候,肯定需要一波面試題了,安靜總結了一些經常遇到的python面試題,讓我們一起擼起來。

python面試題

1、求出1-100之間的和

# coidng:utf-8
a = 0
for i in range(0,100):
    a += (i+1)
print(a)

5050
# 也可以使用函數sum sum = sum(range(1,101)) print(sum)

5050

2、冒泡排序

a = [1,6,4,2,67,32]
l = len(a)
for i in range(l):
    for j in range(l-1):
        if a[l-j-1]<a[l-j-2]:
            a[l-j-1],a[l-j-2] = a[l-j-2],a[l-j-1]
for i in range(l):
    print(a[i])

# 代碼結果

1
2
4
6
32
67

3、數字排序

一看就是冒泡排序。這次我們用函數

a = [1,6,4,2,67,32]
m = sorted(a)
print(m)

# 代碼結果
[1, 2, 4, 6, 32, 67]

# 也可通過其他函數

a.sort()

4、寫出常用的python庫

我們做測試的常用的肯定是與測試有關的嘍

requests--接口自動化

selenium--web的UI自動化

appium--app的UI自動化

re ---正則表達式

5、python的數據類型

整型--int

布爾型--bool

字符串--str

列表--list

元組--tuple

字典--dict

6、python2與python3的區別

安靜來看python2和python3的最大區別就是編碼問題了

python2中使用ascii編碼,python3中使用utf-8編碼

7、python的可變數據類型和不可變數據類型

不可變數據類型:數值型、字符串型string和元組tuple

不允許變量的值發生變化,如果改變了變量的值,相當於是新建了一個對象

可變數據類型:列表list和字典dict;

允許變量的值發生變化,即如果對變量進行append、+=等這種操作后,只是改變了變量的值,而不會新建一個對象,變量引用的對象的地址也不會變化,不過對於相同的值的不同對象,在內存中則會存在不同的對象,即每個對象都有自己的地址,相當於內存中對於同值的對象保存了多份,這里不存在引用計數,是實實在在的對象。

8、在編輯python腳本的時候遇到bug怎么解決

1、通過print()進行調試,看看哪里出了問題

2、如果是第三方庫的書寫問題,查找文檔,

9、python如何操作Excel表

第3方庫xlwr和xlrd

其中xlwr是對Excel進行寫,xlrd是對Excel進行讀

10、*arg和*kwarg的作用

簡單的來說就是可以是我們的函數引入多個實參

*arg返回的是字典

*kwarg返回的是元祖

11、python通過什么連接數據庫

python2通過MYSQL-python

python3通過pyMysql

12、我們通過編寫自動化測試的過程通過什么保存數據

通過yaml或者是ini

 13、裝飾器是什么

裝飾器是為已經存在的函數或者對象添加額外的功能。本質上是一個閉包函數(閉包函數:本質是個嵌套函數,內層函數引用外層函數的變量並且返回外層函,外層函數返回內層函數)

14、裝飾器的作用

1.不修改已有函數的源代碼

2.不修改已有函數的調用方式

3.為已有函數添加額外的功能

 15、列表去重

# 首先轉換成列表
m = set(a)
print(m)
print(type(m))
# 在從列表轉換成列表
x  = [i for i in m]
print(x)
print(type(x)


# 代碼結果
{1, 2, 3, 45, 23}
<class 'set'>
[1, 2, 3, 45, 23]
<class 'list'>

16、lambda函數實現兩個數相乘

# 通過匿名函數
sum = lambda a,b: a*b

print(sum(2,6))

# 代碼結果
12

17、python兩個數值交換

a ,b = 5,6
print("a的值為:%s"%a,"b的值為%s"%b)
a, b =b,a
print("a的值為:%s"%a,"b的值為%s"%b)

代碼結果
a的值為:5 b的值為6
a的值為:6 b的值為5

18、如何提高python的運行效率

1、使用生成器,因為可以節約大量內存
2、循環代碼優化,避免過多重復代碼的執行
3、核心模塊用Cython PyPy等,提高效率
4、多進程、多線程、協程
5、多個if elif條件判斷,可以把最有可能先發生的條件放到前面寫,這樣可以減少程序判斷的次數,提高效率

19、如何生成一個隨機數?

通過random模塊

import random
# 隨機整數
a = random.randint(0,100)
print(a)
# 隨機浮點數:
m = random.random()
print(m)

20、如何判斷是函數還是方法

通常來說類中的函數為方法,類外面聲明def為函數

 

 

收集了一些python面試題,當然這不是完整的,點個關注,持續更新~~~

持續更新:python簡單面試題(2)

 

PS:有測試同學會說,測試不是點點點嗎?寫什么代碼。會點就行。在我們這個行業涌入越來越多的人,軟件測試技術要求也越來越高,為了我們口袋的錢財,大家一起努力學習吧~~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM