欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 亚洲精品在线视频观看 | 国产视频一区二区 | 日韩美女av在线 | 亚洲春黄在线观看 | 国产人妻精品无码AV在线浪潮 | 草久久免费视频 | 精品推荐国产麻豆剧传媒 | 亚洲国产精品国自产电影 | 91xoxo| 国产免费福利视频一区二区 | 欧美精品一区二区三区在线播放 | 一级片在线观看 | 日韩视频在线免费观看 | 日韩精品网址 | 一区二区三区欧美大片 | 午夜黄色大片 | 欧美一级做a爰片久毛片潮 日本久久视频 | 亚洲午夜精品久久久久久app | 亚洲视频免费在线观看 | 亚洲一区二区三区高清 | 欧美精品一区二区三区在线播放 | 欧美另类视频一区二区三区 | 国产一区在线观看视频 | 国产亚洲精品国产一区 | 欧美v在线 | 热久久亚洲 | 欧美激情在线观看一区二区三区 | 99久久电影| 国产精品成人在线观看 | 在线成人av | 91短视频免费版 | 亚洲a网 | 亚洲午夜精品久久久久久app | 免费一级片| 人人狠狠综合88综合久久 | 九九九久久久久久久爱 | 毛片基地免费视频a | 久久久99精品免费观看精品 | a成人 | 成人直播免费 | 综合精品 |