欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python 面試題和答案

系統(tǒng) 2014 0

基礎(chǔ)

  1. 解釋型語言和編譯型語言的區(qū)別
    a) 編譯型語言是在運行之前對源碼進行編譯,使其成為機器可以識別的機器語言
    b) 解釋型語言不需要編譯,而是在語句執(zhí)行時候才將語句翻譯為機器語言
    c)解釋型語言相對于編譯型語言來說由于執(zhí)行時候需要翻譯,因此效率比較低
  2. Python 解釋器種類和特點
    a)CPython(使用最廣)
    b)IPython(交互式解釋器)
    c)PyPy(顯著提高執(zhí)行效率)
    d)Jpython
    e)IronPython
  3. 位和字節(jié)的關(guān)系
    a)1 byte = 8 bits
  4. Python進制轉(zhuǎn)換
    a)使用int() 十進制:二進制
    b)hex() 十六進制
    c)bin() 二進制
    d)oct() 八進制
  5. Python遞歸的最大層數(shù)?
    a) 998
    b)可以通過一下代碼來設(shè)置
                    
                      sys
                      
                        .
                      
                      setrecursionlimit
                      
                        (
                      
                      
                        )
                      
                    
                  
  6. ascii、unicode、utf-8、gbk的區(qū)別
    a)ascii是英語字符和二進制數(shù)之間的關(guān)系。一共規(guī)定了128個字符的編碼
    b)Unicode是一個更大的字符和二進制之前的對應(yīng)關(guān)系,一共容納100多萬個字符
    c)UTF-8是Unicode最廣的實現(xiàn)方式
    d)gbk?
  7. 字節(jié)碼和機器碼的區(qū)別?
    a)機器碼是機器可以識別,可以直接在機器上運行的二進制
    b)字節(jié)碼來自源碼,由編譯器編譯源碼而形成的二進制文件,可以在不同的運行環(huán)境中,通過虛擬運行環(huán)境來在機器上執(zhí)行
  8. 三元運算規(guī)則
    a)condistion_true if condition else condistion_false
    b)
  9. 用一行代碼實現(xiàn)數(shù)值交換
    a)a, b = b, a
  10. xrange 和 range的區(qū)別
    a)xrange 生成的是一個生成器,range生成的是一個list對象
    b)要生成很大的數(shù)字序列的時候,使用xrange會比使用range性能更優(yōu)
  11. lambda 表達式格式以及應(yīng)用場景
    a)lambda x: func_body
    b)常用來作為函數(shù)參數(shù)輸入函數(shù),像是作為sort的key parameter
  12. pass的作用
    a)作為占位符,來保證程序結(jié)構(gòu)的完整性
  13. *args 和 **kwarg 的作用
    a)*args 是用來傳入任意數(shù)量的位置參數(shù)
    b)*kwarg是傳入任意數(shù)量的關(guān)鍵字參數(shù)
  14. is 和 ==的區(qū)別
    a)is 和==都是用來 比較python對象的
    b)python對象包含三個基本元素, id, type(數(shù)據(jù)類型), value(值)
    c)is 比較對象id, 判斷對象是否為同一實例對象,是否指向同一內(nèi)存地址
    e)== 判斷是,兩個對象的內(nèi)容是否相等
  15. python的深淺拷貝和應(yīng)用場景
    a)淺拷貝:創(chuàng)造新的對象
    b)深拷貝:使用舊的對象
    c)copy.copy() 創(chuàng)造淺拷貝, 注意有的時候會是深拷貝
    d)copy.deepcopy() 創(chuàng)造深拷貝
  16. Python 的垃圾回收機制
    a) 引用計數(shù)機制為主,標(biāo)記-清除和分代收集為輔
  17. 常見的內(nèi)置函數(shù)
    a)abs(), all(), set(), any(), dict(), dir(),
    b)enumerate(), eval()
    c)filter(), map(), float(), input(), len(),
    e) open(),round(), sorted()
  18. python可變類型和不可變類型
    a)string, tuple, number 是不可變的
    b)list,dict是可變的
    對不可變對象賦值,是重新創(chuàng)建一個對象,并將指針指向新的對象,并銷毀舊有對象
    對可變對象,是在同一內(nèi)存地址,在原處修改
    因此可變對象作為函數(shù)參數(shù)時候,要小心在函數(shù)內(nèi)對可變對象的修改
  19. re模塊中match 和 search的區(qū)別
    a)match是從字符串開始位置檢測,如果開始位置不符合則返回
    b)search會從任意位置開始檢測(搜索整個字符串),直到發(fā)現(xiàn)符合的再返回
    c)match比search的速度快
  20. 什么是正則表達式的貪婪匹配?
    a)在整個表達式匹配成功的前提下,盡可能多的去匹配,有多少要多少,盡可能多的
  21. ()會產(chǎn)生生成器,[]會產(chǎn)生列表
  22. 可變類型作為函數(shù)默認參數(shù)
    a)默認參數(shù)只是在函數(shù)定義的時候被初始化一次,而且因為是可變類型,因此全局只保存一個實例,所以任何在默認參數(shù)上的操作都會反映到指向他的對象上
    b)如果要使用object作為默認參數(shù),盡量使用None,而不是相關(guān)類型
  23. 一行實現(xiàn)刪除列表中重復(fù)元素
    a) 元素位置會被打亂
                    
                      list_item 
                      
                        =
                      
                      
                        [
                      
                      
                        1
                      
                      
                        ,
                      
                      
                        1
                      
                      
                        ,
                      
                      
                        2
                      
                      
                        ,
                      
                      
                        3
                      
                      
                        ,
                      
                      
                        3
                      
                      
                        ]
                      
                      
                        print
                      
                      
                        (
                      
                      
                        list
                      
                      
                        (
                      
                      
                        set
                      
                      
                        (
                      
                      list_item
                      
                        )
                      
                      
                        )
                      
                    
                  
    b)保持元素位置
                    
                      	list_item 
                      
                        =
                      
                      
                        [
                      
                      
                        1
                      
                      
                        ,
                      
                      
                        1
                      
                      
                        ,
                      
                      
                        2
                      
                      
                        ,
                      
                      
                        2
                      
                      
                        ,
                      
                      
                        3
                      
                      
                        ]
                      
                      
                        print
                      
                      
                        (
                      
                      
                        sorted
                      
                      
                        (
                      
                      
                        set
                      
                      
                        (
                      
                      list_item
                      
                        )
                      
                      
                        ,
                      
                       keys
                      
                        =
                      
                      list_item
                      
                        .
                      
                      index
                      
                        )
                      
                      
                        )
                      
                      
    	```
    
                    
                  
  24. 如何在函數(shù)中設(shè)置全局變量?
    a)使用global關(guān)鍵字
  25. 如何用代碼實現(xiàn)stack
            
              
                class
              
              
                Stack
              
              
                (
              
              
                object
              
              
                )
              
              
                :
              
              
                def
              
              
                __init__
              
              
                (
              
              self
              
                )
              
              
                :
              
              
		self
              
                .
              
              items 
              
                =
              
              
                [
              
              
                ]
              
              
                def
              
              
                is_empty
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                return
              
               self
              
                .
              
              items 
              
                ==
              
              
                [
              
              
                ]
              
              
                def
              
              
                size
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                return
              
              
                len
              
              
                (
              
              self
              
                .
              
              items
              
                )
              
              
                def
              
              
                pop
              
              
                (
              
              self
              
                )
              
              
                :
              
              
                return
              
               self
              
                .
              
              items
              
                .
              
              pop
              
                (
              
              
                )
              
              
                def
              
              
                push
              
              
                (
              
              self
              
                ,
              
               val
              
                )
              
              
                :
              
              
                return
              
               self
              
                .
              
              items
              
                .
              
              append
              
                (
              
              val
              
                )
              
            
          
  1. 如何生成一個隨機數(shù)
    a)random package
    random.randint(start, end)
    random.choice(seq)
    random.choices(seq, k)
    random.sample(seq, k)
    random.random() float number from 0 to 1
    b) numpy.random package
  2. 常用的字符串格式化
    a)用數(shù)字指定位置
    b)為位置命名,可以傳入字典變量
    c)可以傳入對象,并調(diào)用對象屬性
    d){:.2f}
    e) {:+.2f}
    f) {:0 > 2d}數(shù)字左邊補零,寬度為2
    g) {:0<4d} 數(shù)字右邊補零,寬度為4
    h) {:,} 用逗號分隔數(shù)字
    i) {:.2 %}百分比格式
    k) {:.2e} 指數(shù)計數(shù)法格式
    l){:10d}, {:<10d}, {:^10d}, 右對齊,左對齊,中間對齊
  3. functools中的函數(shù)作用?
    a)作用于一些定義好的函數(shù),幫助我們更好的實現(xiàn)對函數(shù)的包裝和實用
  4. 實例方法,靜態(tài)方法和類方法的區(qū)別和應(yīng)用
    a)參數(shù)不同,實例方法參數(shù)必須有self, 類方法必須有cls, 靜態(tài)方法可以啥也沒有
    b)繼承時,子類調(diào)用父類靜態(tài)方法,調(diào)用的是父類的雷屬性,而調(diào)用類方法時,調(diào)用的是子類的類屬性
  5. 如何判斷變量是否為nan
    a)==不能夠使用,可以使用is,但有時候會出錯
    b)最好使用math中的isnan, math.isnan()
  6. 列舉面向?qū)ο笾械奶厥獬蓡T以及應(yīng)用場景
    a)成員
    a. __dict__成員:以字典的方式來獲取類或?qū)ο笾械乃谐蓡T
    b)方法
    b. __call__方法:執(zhí)行對象的構(gòu)造方法
    c. getitem (self, item): 類似于一種運算符重載(重載[]運算符)
    d. setitem (self, key, item): 設(shè)置對象的相關(guān)屬性
    e. delitem (self, key): 刪除對象相關(guān)屬性
    f. iter (self): 保證對象可以被for循環(huán)迭代,這樣每次產(chǎn)生一個元素
  7. python反射(自省?)
    a)我們需要執(zhí)行對象的某個方法或?qū)ο蟮哪硞€屬性賦值,但是方法名和屬性名在調(diào)用的時候不知道。因此我們需要通過某個機制來訪問未知的屬性,反射就是這樣的一個機制
    b)dir(obj) 返回對象的屬性名列表
    c)hasattr(obj, attr) 判斷對象是否有一個attr的屬性
    d)getattr(obj, attr) 返回對象的屬性值
    e)setattr(obj, attr, val) 為對象賦相應(yīng)的屬性值
    f)inspect模塊提供了一系列函數(shù)來幫助我們實現(xiàn)自省機制
  8. 判斷是函數(shù)還是方法?
  9. metaclass 作用?
    a)原類將用在創(chuàng)建使用了它的新類調(diào)用中
    b)包裝類的所有方法,用以日志記錄或者性能剖析
    c)自動mix-in新方法(不在需要編寫mix類)
  10. 單例模式
    a)使用模塊,模塊在第一次導(dǎo)入時,會生成.pyc文件,當(dāng)?shù)诙螌?dǎo)入時,就會加載.pyc文件,因此我們將需要維持一個單例的對象在模塊中創(chuàng)建,則對象將維持同一單例
    b)__new__使用該方法來創(chuàng)建實例對象
                    
                      Class 
                      
                        Singleton
                      
                      
                        (
                      
                      
                        object
                      
                      
                        )
                      
                      
                        :
                      
                      
    	_instance 
                      
                        =
                      
                      
                        None
                      
                      
                        def
                      
                      
                        __new__
                      
                      
                        (
                      
                      cls
                      
                        ,
                      
                      
                        *
                      
                      args
                      
                        ,
                      
                      
                        **
                      
                      kwargs
                      
                        )
                      
                      
                        :
                      
                      
                        if
                      
                       cls
                      
                        .
                      
                      _instance 
                      
                        is
                      
                      
                        not
                      
                      
                        None
                      
                      
                        :
                      
                      
    			cls
                      
                        .
                      
                      _instance 
                      
                        =
                      
                      
                        object
                      
                      
                        .
                      
                      __new__
                      
                        (
                      
                      cls
                      
                        ,
                      
                      
                        *
                      
                      args
                      
                        ,
                      
                      
                        **
                      
                      kwargs
                      
                        )
                      
                      
                        return
                      
                       cls
                      
                        .
                      
                      _instance
    
                    
                  
    可以參見享原模式(flyweight pattern)單例模式是一種特殊的享元模式
    c)使用裝飾器
    通過定義singleton裝飾器來對相應(yīng)的類進行裝飾,從而使某個類只能夠產(chǎn)生一個類
    d)使用元類來實現(xiàn)單例模式,通過改變類的元類屬性來改變類的創(chuàng)建方法
                    
                      
                        class
                      
                      
                        MyClass
                      
                      
                        (
                      
                      metaclass
                      
                        =
                      
                      Singleton
                      
                        )
                      
                      
                        :
                      
                      
                        pass
                      
                    
                  
  11. 裝飾器的寫法(函數(shù)裝飾器,類裝飾器)
  12. 異常處理的寫法,以及如何主動拋出異常
  13. 什么是面向?qū)ο蟮腗RO
  14. 利用json序列化時候,可以處理的數(shù)據(jù)類型有哪些?如果拓展自定義數(shù)據(jù)類型使其支持json序列化
  15. 什么是斷言
  16. with 語句的好處,以及為什么使用with語句
    (未完待續(xù))

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产精品毛片久久久久久 | 福利在线免费 | 欧美18xxxx| 在线一区免费视频播放 | 欧美成人免费午夜影视 | 久久久久久久久久亚洲 | 激情网站| 国产色婷婷亚洲99精品小说 | 91av大片 | 日本美女一区二区三区 | 欧美v在线| 国产亚洲精品久久无亚洲 | 久久国产乱子伦精品免 | 97久久精品一区二区三区观看 | 91偷拍精品一区二区三区 | 欧美性一区二区三区 | 国产美女啪 | 国产精品久久久久久喷浆 | 一区二区不卡在线观看 | 国产美女亚洲精品久久久综合 | 日日拍夜夜嗷嗷叫视频 | 成人一区二区三区四区 | 国产美女精品 | 国产精品久久久久久久免费大片 | 97久久精品人人做人人爽50路 | 丁香婷婷亚洲六月综合色 | 黄色影片在线免费观看 | 57pao成人永久免费视频 | 美味人妻2中文A片 | 成人性大片免费观看网站 | 朋友不在家 | 人人射人人草 | 国产日韩一区二区三免费高清 | 亚洲成人福利在线观看 | 色婷婷导航| 欧美视频福利 | 国内精品久久久久久久久久久久 | 久久香蕉网 | 蜜桃黄网 | 91成人精品| 天天操综合 |