常見12個python面試題整理
1、python有哪些特性?
python是一門解釋性開發語言,主要特點有:
可解釋
具有動態特性
物件導向
簡明簡單
開源
具有強大的社群支援
2、深複製和淺複製之間的區別是?
深複製就是完全複製一個物件複製到另一個物件中,如果你對一個物件的複製做出改變時,不會影響原物件。在Python中使用函式deepcopy()執行深複製,匯入模組copy,
>>> import copy >>> b=copy.deepcopy(a)
淺複製知識複製一個物件的指標不復制其本身,如果我們在複製中改動,會影響到原物件。我們使用函式function()執行淺複製,
>>> b=copy.copy(a)
3、列表和元祖之間區別是?
列表和元祖之間主要是可變性不同,列表是可變的而元祖是不可變的,下面列舉的實列說明:
>>> mylist=[1,3,3] >>> mylist[1]=2 >>> mytuple=(1,3,3) >>> mytuple[1]=2Traceback (most recent call last): File "<pyshell#97>", line 1, in <module> mytuple[1]=2
則會出現以下報錯
TypeError: ‘tuple’ object does not support item assignment
4、什麼是Flask?
Flask是Python編寫的一款輕量級Web應用框架。其 WSGI 工具箱採用 Werkzeug ,模板引擎則使用 Jinja2。Flask使用 BSD 授權。其中兩個環境依賴是Werkzeug和jinja2,這意味著它不需要依賴外部庫。正因如此,我們將其稱為輕量級框架。
Flask會話使用簽名cookie讓使用者檢視和修改會話內容。它會記錄從一個請求到另一個請求的資訊。不過,要想修改會話,使用者必須有金鑰Flask.secret_key。
5、在Python中是如何管理記憶體的?
Python有一個私有堆空間來儲存所有的物件和資料結構。作為開發者,我們無法訪問它,是直譯器在管理它。但是有了核心API後,我們可以訪問一些工具。Python記憶體管理器控制記憶體分配。
另外,內建垃圾回收器會回收使用所有的未使用記憶體,所以使其適用於堆空間。
6、解釋python中的help()和dir()函式?
Help()函式是一個內建函式,用於檢視函式或模組用途的詳細說明
>>> import copy >> help(copy.copy)
Help on function copy in module copy: copy(x) Shallow copy operation on arbitrary Python objects. See the module’s __doc__ string for more info.
Dir()函式也是內建函式,dir() 函式不帶引數時,返回當前範圍內的變數、方法和定義的型別列表;帶引數時,返回引數的屬性、方法列表。
>>> dir(copy.copy)
執行結果 [‘__annotations__’, ‘__call__’, ‘__class__’, ‘__closure__’, ‘__code__’, ‘__defaults__’, ‘__delattr__’, ‘__dict__’, ‘__dir__’, ‘__doc__’, ‘__eq__’, ‘__format__’, ‘__ge__’, ‘__get__’, ‘__getattribute__’, ‘__globals__’, ‘__gt__’, ‘__hash__’, ‘__init__’, ‘__init_subclass__’, ‘__kwdefaults__’, ‘__le__’, ‘__lt__’, ‘__module__’, ‘__name__’, ‘__ne__’, ‘__new__’, ‘__qualname__’, ‘__reduce__’, ‘__reduce_ex__’, ‘__repr__’, ‘__setattr__’, ‘__sizeof__’, ‘__str__’, ‘__subclasshook__’]
7、什麼是猴子補丁?
在執行期間動態修改一個類或模組。
>>> class A: def func(self): print("Hi") >>> def monkey(self):print "Hi, monkey" >>> m.A.func = monkey >>> a = m.A() >>> a.func() 執行結果: Hi, Monkey
8、請解釋下使用*args和*kwargs含義?
當我們不知道向函式傳遞多少引數時,比如我們向傳遞一個列表或元組,我們就使用*args。
>>> def func(*args): for i in args: print(i) >>> func(3,2,1,4,7) 執行結果為: 3 2 1 4 7
在不知道該傳遞多少關鍵字引數時,使用**kwargs來收集關鍵字引數
>>> def func(**kwargs): for i in kwargs: print(i,kwargs[i]) >>> func(a=1,b=2,c=7) 執行結果為:a.1 b.2 c.7
9、python中的字典是什麼?
Python字典是一個容器,可以裝列表,變數,字串,浮點數等。。。。
注意:
1. Python的字典是一對一的形式,key:value,可以理解key是下標,value是內容
標準形式:{a:b},那麼a就相當於下標,value就相當於內容。
2.下標是唯一的,即key賦值的時候不可以重複,不可用變數去賦值他,因為列表是可變的,所有也不能用列表去賦值
3.字典的儲存沒有順序,我們憑藉key值去取value的內容
>>> roots={25:5,16:4,9:3,4:2,1:1} >>> type(roots)<class 'dict' >>> roots[9] 執行結果為: 3
字典是不可變的,可以用一個推導式來建立它
>>> roots={x**2:x for x in range(5,0,-1)} >>> roots 執行結果為: {25: 5, 16: 4, 9: 3, 4: 2, 1: 1}
10、什麼是負索引?
Python中的序列索引可以是正也可以是負。
如果是正索引,0是序列中的第一個索引,1是第二個索引。
如果是負索引,-1是最後一個索引,-2是倒數第二個索引。
>>> lst=[11,22,33,44,55] 全取列表 >>> lst[:] [11, 22, 33, 44, 55]
列表倒序 >>> lst[::-1] [55, 44, 33, 22, 11] 取最後一個 >>> lst[-1] 55 取第一個 >>>lst[0] 11
11、解釋一下python中的成員運輸符?
透過成員運算子‘in’和‘not in’,我們可以確認一個值是否是另一個值的成員
>>> 'me' in 'disappointment' True >>> 'us' not in 'disappointment' True
12、講下python中的位運算子?
與(&),按位與運算子:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0
>>> 0b110 & 0b010 2
或(|),按位或運算子:只要對應的二個二進位有一個為1時,結果位就為1
>>> 3|2 3
異或(^),按位異或運算子:當兩對應的二進位相異時,結果為1
>>> 3^2 1
取反(~),按位取反運算子:對資料的每個二進位制位取反,即把1變為0,把0變為1
>>> ~2 -3
左位移(<<),運算數的各二進位全部左移若干位,由 << 右邊的數字指定了移動的位數,高位丟棄,低位補0
>>> 1<<2 4
右位移(>>),把">>"左邊的運算數的各二進位全部右移若干位,>> 右邊的數字指定了移動的位數
>>> 4>>2 1
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3244/viewspace-2833845/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【面試】面試常見問題整理面試
- Vue常見面試題整理Vue面試題
- HashMap常見面試題整理HashMap面試題
- 整理kafka常見面試題Kafka面試題
- 那些常見的面試題整理面試題
- Python面試常見問題Python面試
- C++常見的面試題目整理C++面試題
- 求職面試常見問題:Python常見面試題全解析附答案求職Python面試題
- 2019年幾道常見js面試題整理JS面試題
- Spring 常見的一些面試題整理Spring面試題
- 31 個 DevOps 常見面試題dev面試題
- 面試Python機器學習時,常見的十個面試題Python機器學習面試題
- 幾個常見的Python面試題,幫助大家更加從容面試!Python面試題
- Python常見面試題總結——個人Python學習經驗Python面試題
- 【彙總】Python爬蟲常見面試題!Python爬蟲面試題
- python常見面試題講解(二)計算字元個數Python面試題字元
- 常見面試題整理,金三銀四全靠它了面試題
- 常見 React 面試題React面試題
- mybatis常見面試題MyBatis面試題
- spring常見面試題Spring面試題
- SpringMVC常見面試題SpringMVC面試題
- Docker常見面試題Docker面試題
- vue 常見面試題Vue面試題
- Spring常見面試題!Spring面試題
- Dubbo常見面試題面試題
- 前端常見面試題前端面試題
- ajax常見面試題面試題
- String常見面試題面試題
- Hadoop常見面試題Hadoop面試題
- Golang常見面試題Golang面試題
- Mysql 常見面試題MySql面試題
- Redis 常見面試題Redis面試題
- Redis常見面試題Redis面試題
- 【Java面試】JSP常見面試題!JavaJS面試題
- 【Java面試】Servlet常見面試題!JavaServlet面試題
- 【Java面試】 Javascript常見面試題!JavaScript面試題
- 四個常見的Linux面試問題Linux面試
- 【整理】最常見的10道Python面試題及答案!Python面試題