<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          吐血整理的 Python 面試題,請務(wù)必收藏!

          共 3312字,需瀏覽 7分鐘

           ·

          2021-02-02 09:27

          ↑?關(guān)注 + 星標?,每天學(xué)Python新技能

          后臺回復(fù)【大禮包】送你Python自學(xué)大禮包


          文 |?潮汐

          來源:Python 技術(shù)「ID: pythonall」

          年關(guān)將至,給年后準備跳槽的準備一份面試指南,希望大家在漲薪和成長的路上多一點指引!

          python2和python3區(qū)別?

          • Python3 使用 print 必須要以小括號包裹打印內(nèi)容,比如 print('hi')

          • Python2 既可以使用帶小括號的方式,也可以使用一個空格來分隔打印內(nèi)容,比如 print 'hi'

          • Python2 range(1,10)返回列表,python3中返回迭代器,節(jié)約內(nèi)存

          • Python2 中使用 ascii 編碼,python中使用 utf-8 編碼

          • Python2 中 unicode 表示字符串序列,str 表示字節(jié)序列

          • Python3 中 str 表示字符串序列,byte 表示字節(jié)序列

          • Python2 中為正常顯示中文,引入 coding 聲明,python3 中不需要

          • Python2 中是 raw_input() 函數(shù),python3 中是input()函數(shù)

          Python代碼中_args, *_kwargs 含義及用法?

          args:?arguments 的縮寫,表示位置參數(shù)

          kwargs:?keyword arguments 的縮寫,表示關(guān)鍵字參數(shù)

          請列出 5 個 python 標準庫?

          • os:提供了不少與操作系統(tǒng)相關(guān)聯(lián)的函數(shù)
          • sys: 通常用于命令行參數(shù)
          • re: 正則匹配
          • math: 數(shù)學(xué)運算
          • datetime:處理日期時間

          Python的可變數(shù)據(jù)類型和不可變數(shù)據(jù)類型分別有?

          可變數(shù)據(jù)類型:列表、字典、集合

          不可變數(shù)據(jù)類型:數(shù)字、字符串、元組

          Python 中魔法方法和其用途?

          __init__:對象初始化方法

          __new__:創(chuàng)建對象時候執(zhí)行的方法,單列模式會用到

          __str__:當使用print輸出對象的時候,只要自己定義了__str__(self)方法,那么就會打印從在這個方法中return的數(shù)據(jù)

          __del__:刪除對象執(zhí)行的方法

          Python ?中os和sys模塊的作用分別是?

          os模塊:負責(zé)程序與操作系統(tǒng)的交互,提供了訪問操作系統(tǒng)底層的接口。sys模塊:負責(zé)程序與python解釋器的交互,提供了一系列的函數(shù)和變量,用于操控python的運行時環(huán)境。

          簡述Python引用計數(shù)機制?

          python垃圾回收主要以引用計數(shù)為主,標記-清除和分代清除為輔的機制,其中標記-清除和分代回收主要是為了處理循環(huán)引用的難題。

          Python賦值、淺拷貝和深拷貝的區(qū)別?

          Python 有 3 種賦值方式:直接賦值、淺拷貝、深拷貝;

          直接賦值:就是對象的引用。(相當于給原來的對象起個別名),比如有個人叫張三,外號叫小張,對象的引用就是類似,雖然換個名字,但是兩個名字指的是同一個人。

          淺拷貝,拷貝的是父對象,不會拷貝到內(nèi)部的子對象。(單從字就可以看出拷貝的東西不深,可以理解為只拷貝一層) { 1、完全切片方法;2、工廠函數(shù),如 list();3、copy 模塊的 copy()函數(shù) }

          深拷貝,包含對象里面的自對象的拷貝(可以理解為克隆,全拷貝過去但是兩者沒有任何關(guān)系了,各自是各自的);所以原始對象的改變不會造成深拷貝里任何子元素的改變 { copy 模塊的?deep.deepcopy()函數(shù) }

          請闡述在Python中split(),sub(),subn()的功能分別是什么?

          split():?使用正則表達式模式將給定字符串“拆分”到列表中。

          sub():?查找正則表達式模式匹配的所有子字符串,然后用不同的字符串替換它們

          subn():?它類似于sub(),并且還返回新字符串。

          舉例 sort 和 sorted方法的區(qū)別?

          使用 sort()方法對 list 排序會修改 list 本身,不會返回新 list,sort()不能對 dict 字典進行排序;

          sorted 方法對可迭代的序列排序生成新的序列,對 dict 排序默認會按照 dict 的 key 值進行排序,最后返回的結(jié)果是一個對 key 值排序好的list;

          sorted 對 tuple, dict 依然有效,而 sort 不行;

          解釋 Python 中的可變類型和不可變類型?

          1.Python中的可變類型有l(wèi)ist,dict;不可變類型有string,number,tuple.

          2.當進行修改操作時,可變類型傳遞的是內(nèi)存中的地址,也就是說,直接修改內(nèi)存中的值,并沒有開辟新的內(nèi)存。

          3.不可變類型被改變時,并沒有改變原內(nèi)存地址中的值,而是開辟一塊新的內(nèi)存,將原地址中的值復(fù)制過去,對這塊新開辟的內(nèi)存中的值進行操作。

          Python 中類方法、類實例方法、靜態(tài)方法有何區(qū)別?

          類方法:?是類對象的方法,在定義時需要在上方使用?@classmethod?進行裝飾,形參為cls,表示類對象,類對象和實例對象都可調(diào)用

          類實例方法:?是類實例化對象的方法,只能由實例對象調(diào)用,形參為self,指代對象本身;

          靜態(tài)方法:?是一個任意函數(shù),在其上方使用?@staticmethod?進行裝飾,實例對象和類對象都可以調(diào)用。但是方法體中不能使用類或?qū)嵗娜魏螌傩院头椒ā?/p>

          Python 中編寫函數(shù)的原則?

          Python 中編寫函數(shù)的原則有4個,分別有:

          • 函數(shù)設(shè)計要盡量短小,嵌套層次不宜過深。避免過長函數(shù),嵌套最好能控制在3層之內(nèi)

          • 函數(shù)申明應(yīng)該合理,簡單,易于使用。除函數(shù)名能夠夠正確反映其大體功能外,參數(shù)的設(shè)計也應(yīng)該簡潔明了,參數(shù)個數(shù)不宜太多

          • 函數(shù)參數(shù)設(shè)計應(yīng)該考慮向下兼容??梢酝ㄟ^加入默認參數(shù)來避免退化

          • 一個函數(shù)只做一件事,就要盡量保證抽象層級的一致性,所有語句盡量在一個粒度上。若在一個函數(shù)中處理多件事,不利于代碼的重用;

          請闡述同步,異步,阻塞,非阻塞的概念?

          • 同步:?多個任務(wù)之間有先后順序執(zhí)行,一個執(zhí)行完下個才能執(zhí)行。

          • 異步:?多個任務(wù)之間沒有先后順序,可以同時執(zhí)行,有時候一個任務(wù)可能要在必要的時候獲取另一個同時執(zhí)行的任務(wù)的結(jié)果,這個就叫回調(diào)!

          • 阻塞:?如果卡住了調(diào)用者,調(diào)用者不能繼續(xù)往下執(zhí)行,就是說調(diào)用者阻塞了。

          • 非阻塞:?如果不會卡住,可以繼續(xù)執(zhí)行,就是說非阻塞的。

          同步異步相對于多任務(wù)而言,阻塞非阻塞相對于代碼執(zhí)行而言。

          合并兩個列表并去除重復(fù)元素?

          list1?=?['b','c','c','a','f','r','y','e','e']
          list2?=?['t','y','x','y','z','e','f']
          def?merge_list(*args):
          ????s?=?set()
          ????for?i?in?args:
          ????????s?=?s.union(i)
          ????print(s)
          ????return?s

          merge_list(list1,list2)

          如何查詢和替換一個文本中的字符串?

          tempstr?=?"hello?python,you,me,world"
          print(tempstr.replace("hello","python"))

          #還可以使用正則,有個sub()
          tempstr?=?"hello?python,you,me,world"
          import?re
          rex?=?r'(hello|Use)'
          print(re.sub(rex,"HELLO",tempstr))

          總結(jié)

          關(guān)于 Python 的面試問題還有很多很多,今天小編暫且總結(jié)到這里,希望對大家有所幫助。

          參考

          https://github.com/DasyDong/interview/blob/master/notes/python_interview.md

          推薦閱讀


          1. 重慶百架無人機集體撞樓,疑因程序?qū)戝e,程序員背鍋。。

          2. 厲害了!潘石屹Python考試首秀99分!

          3. 太贊!Python和Excel終于可以互通了


          點分享
          點收藏
          點點贊
          點在看
          瀏覽 67
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  三级片av在线 | 91亚洲精品久久久久久久久久久久 | 亚洲偷拍22 | 精品黄色视频 | 小美女操逼 |