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

python基礎(chǔ)面試題整理---從零開始 每天十題(01)

系統(tǒng) 1669 0

  最近在弄flask的東西,好久沒寫博客的,感覺少了點(diǎn)什么,感覺被別人落下好多,可能漸漸的養(yǎng)成了寫博客的習(xí)慣吧。也是自己想學(xué)的東西太多了(說白了就是基礎(chǔ)太差了,只是know how,不能做到konw why)。

  不說那些毒雞湯了,我們來說說我們今天的python基礎(chǔ)面試題吧。

一, Q:python的優(yōu)缺點(diǎn)有什么?

  A:優(yōu)點(diǎn):

    1,基礎(chǔ)語法簡單易學(xué),對于初學(xué)者來說,語法還是相對簡單的,比較容易學(xué)習(xí),網(wǎng)上的學(xué)習(xí)資料也很多。

   ? ?2,面向?qū)ο螅趐ython里繼承和封裝較多,而python的多態(tài)還是相對較少的(起個不一樣的名字不就可以嗎....對java的多態(tài)表示無奈),從而減少了大量代碼的輸出。

    3,語言簡潔,相對java比,語法要比java簡單很多(我只會java和python,會一點(diǎn)點(diǎn)Node.js和前端的VUE)

    4,開源,python語言開源便于我們自行去維護(hù)和更深入的了解源碼。

    5,豐富的社區(qū)資源,具有超級豐富的三方庫。

    缺點(diǎn):

    1,運(yùn)行速度慢,由于python是解釋性語言,對比其它語言要相對慢一些。

    2,python2和python3不兼容(python2在2020年1月就不在維護(hù))

    3,代碼安全性較弱,我們發(fā)布項(xiàng)目,其實(shí)就是發(fā)布我們的源碼,安全性差。

  MA:個人認(rèn)為python的優(yōu)點(diǎn)在于他是一種面向?qū)ο蟮膭討B(tài)類型語言,從自動化運(yùn)維到web開發(fā)再到人工智能,python都有著良好的表現(xiàn),

    個人覺得還是python有著豐富的三方類庫,給予了python很大的發(fā)展,例如NumPy,pandas在自然語言處理內(nèi)都是很常用,而且是很好用的

    三方庫,缺點(diǎn)就是運(yùn)行速度稍慢一些,就是因?yàn)閜ython是解釋性語言,需要在CPU上一行行翻譯成機(jī)器可以讀懂的機(jī)器碼,這個翻譯的過程比較耗時,所有運(yùn)行會慢一些,

    再就是部署時候就是直接源碼部署,安全性差,python2和python3不兼容的問題,我覺得不是問題,python2將要不再維護(hù)了,python2也就逐漸推出我們的程序。

  注:開放性題,想了解更多,你可以去自行百度,組織成自己的語言就可以啦。 A即為比較官方的說法(只摘取部分),MA為我自己組織的一段話,大家可以參考。

二,Q:說一說你對深拷貝和淺拷貝的理解,他們有什么不同。

A:假設(shè)我們復(fù)制了一份A,復(fù)制出來的叫做B,如果我們修改A,發(fā)現(xiàn)B也隨著變化了,說明這個是淺拷貝,也就是說明了,我們的淺拷貝,只是增加了一個指針指向了同一個內(nèi)存地址,當(dāng)我們修改A,也就是修改原有的內(nèi)存地址的值,B一定隨之變化;如果我們修改了A,發(fā)現(xiàn)B沒有變化,說明這個是深拷貝,也看得出來,深拷貝就是我們拿到A的內(nèi)存的值,開辟了一個新的內(nèi)存空間和創(chuàng)建了一個新的指針,指向了B,就是說,深拷貝就是將內(nèi)存也復(fù)制成了兩份,而淺拷貝并沒有。淺拷貝:shallowCopy();深拷貝:deepCope()。

三,Q:python里的基本數(shù)據(jù)類型都有什么?

  A:數(shù)字-number-數(shù)字;布爾型-bool-(True,F(xiàn)alse);字符串-str-' a '或者" a ";列表-list-[];元祖-tuple-();字典-dict-{}。其中列表list,字典dict是可變的,其余數(shù)字number,字符串str,元祖tuple是不可變的

四,Q:簡單說一下python中如何實(shí)現(xiàn)多線程

A: 線程是輕量級的進(jìn)程,多線程允許一次執(zhí)行多個線程。眾所周知,Python 是一種多線程語言,它有一個多線程包。

?

  GIL(全局解釋器鎖)確保一次執(zhí)行單個線程。一個線程保存 GIL 并在將其傳遞給下一個線程之前執(zhí)行一些操作,這就產(chǎn)生了并行執(zhí)行的錯覺。但實(shí)際上,只是線程輪流在 CPU 上。當(dāng)然,所有傳遞都會增加執(zhí)行的開銷。

 注意:GIL后期會出一個專門的博客來說一說,剛才查了一下,要說的東西還是比較多的。

五,Q:什么是Flask,和Django對比有什么不同

A:Flask是一個使用?Python?編寫的輕量級 Web 應(yīng)用框架。其?WSGI?工具箱采用 Werkzeug ,模板引擎則使用 Jinja2 。Flask使用 BSD 授權(quán)。

    Flask是一個輕量級框架,相當(dāng)于一個步槍,而 Django是一個個重量級框架,相當(dāng)于一個重機(jī)槍,但是Flask的三方庫也是相當(dāng)強(qiáng)大的,Django能做到的 Flask也都可以(個人表示只用過Flask)。

   Flask的優(yōu)勢:

   Flask自由、靈活,可擴(kuò)展性強(qiáng),入門簡單,適用于中小型網(wǎng)站的開發(fā),非常試用web服務(wù)的API開發(fā),性能方面均優(yōu)于或高于Django, Django自帶的或第三方的好評如潮的功能,F(xiàn)lask上總會找到與之類似第三方庫,F(xiàn)lask與關(guān)系型數(shù)據(jù)庫的配合使用不弱于Django,而其與NoSQL數(shù)據(jù)庫的配合遠(yuǎn)遠(yuǎn)優(yōu)于Django

   Django的優(yōu)勢:(三方摘錄)

   Django的自帶ORM非常優(yōu)秀,綜合評價略高于SQLAlchemy,Django自帶的模板引擎簡單好用,但其強(qiáng)大程度和綜合評價略低于Jinja,Django自帶的數(shù)據(jù)庫管理app好評如潮,Django目前支持Jinja等非官方模板引擎。

六,Q:如何在python中管理內(nèi)存

A:python的內(nèi)存管理是由私有的堆空間管理的,所有的python對象和數(shù)據(jù)結(jié)構(gòu)都在一個專有的堆,程序員沒有訪問該堆的權(quán)限,只有解釋器才能對他進(jìn)行操作。可用 is 判斷兩個對象的內(nèi)存地址是否一樣,用 == 判斷兩個對象的值是否一樣。None值也有內(nèi)存地址,用print(id(None))可以打印其內(nèi)存地址。

  備注:這個寫的感覺聽不錯噠,可以參考。https://www.cnblogs.com/wangyuhangboke/p/7802253.html

七,Q:剛剛說完了內(nèi)存管理,現(xiàn)在我們來說說垃圾回收吧

A:python提供了對內(nèi)存的垃圾收集機(jī)制,但是他將不用的內(nèi)存放到內(nèi)存池而不是反回給操作系統(tǒng)。python內(nèi)部使用引用計數(shù),來保持追蹤內(nèi)存中的對象,python內(nèi)部記錄了對象有多少個引用,就是引用計數(shù),當(dāng)對象被創(chuàng)建時就創(chuàng)建了一個引用計數(shù),當(dāng)對象不再需要的時候,這個對象的引用計數(shù)為0時,他被垃圾回收。當(dāng)對象被創(chuàng)建被、作為參數(shù)傳遞給函數(shù)或作為容器對象的一個元素引用計數(shù)增加,相反,一個本地引用離開他的作用域、對象的別名被顯式的銷毀、對象的一個別名被賦值給其他對象或窗口對象本身被銷毀引用計數(shù)會減少。

八,Q:能否解釋一下 *args 和 **kwargs?

A:當(dāng)函數(shù)的參數(shù)不確定時,可以使用*args和**kwargs。*args沒有key值,**kwargs有key值。*args可以當(dāng)作可容納多個變量組成的list或tuple。直觀一點(diǎn)來點(diǎn)代碼吧。

              
                #
              
              
                !/usr/bin/env python
              
              
                
#
              
              
                 -*- coding: utf-8 -*-
              
              
                def
              
               parseArgs(*args, **
              
                kwargs):
    
              
              
                print
              
              
                (type(args))
    
              
              
                print
              
              
                (args)
    
              
              
                print
              
              
                (type(kwargs))
    
              
              
                print
              
              
                (kwargs)


              
              
                if
              
              
                __name__
              
               == 
              
                '
              
              
                __main__
              
              
                '
              
              
                :
    parseArgs(
              
              
                "
              
              
                test
              
              
                "
              
              ,
              
                "
              
              
                123
              
              
                "
              
              ,
              
                '
              
              
                456
              
              
                '
              
              ,hello=
              
                "
              
              
                hello
              
              
                "
              
              ,name=
              
                '
              
              
                tom
              
              
                '
              
              )
            
View Code

python基礎(chǔ)面試題整理---從零開始 每天十題(01)_第1張圖片

九,Q:解釋 Python 中的 join() 和 split() 函數(shù)

  A:join()?方法用于將序列中的元素以指定的字符連接生成一個新的字符串,例如

              
                #
              
              
                !/usr/bin/env python
              
              
                
#
              
              
                 -*- coding: utf-8 -*-
              
              
                
str 
              
              = 
              
                "
              
              
                -
              
              
                "
              
              
                
seq 
              
              = (
              
                "
              
              
                a
              
              
                "
              
              , 
              
                "
              
              
                b
              
              
                "
              
              , 
              
                "
              
              
                c
              
              
                "
              
              )  
              
                #
              
              
                 字符串序列
              
              
                print
              
              
                (str.join(seq))

li 
              
              = [
              
                '
              
              
                d
              
              
                '
              
              , 
              
                '
              
              
                e
              
              
                '
              
              , 
              
                '
              
              
                f
              
              
                '
              
              ]  
              
                #
              
              
                 字符串序列
              
              
                print
              
              (str.join(li))
            
View Code

python基礎(chǔ)面試題整理---從零開始 每天十題(01)_第2張圖片

  split()?通過指定分隔符對字符串進(jìn)行切片,如果參數(shù) num 有指定值,則分隔 num+1 個子字符串。語法 ? str . split ( str = "" , num = string . count ( str )).? ??

  str -- 分隔符,默認(rèn)為所有的空字符,包括空格、換行(\n)、制表符(\t)等。

  num -- 分割次數(shù)。默認(rèn)為 -1, 即分隔所有。例如

              
                #
              
              
                !/usr/bin/env python
              
              
                
#
              
              
                 -*- coding: utf-8 -*-
              
              
                
str 
              
              = 
              
                "
              
              
                my name is xc
              
              
                "
              
              
                print
              
              (str.split())  
              
                #
              
              
                 以空格為分隔符,包含 \n
              
              
                print
              
              (str.split(
              
                '
              
              
                '
              
              , 2))  
              
                #
              
              
                 以空格為分隔符,分隔成2+1個
              
            
View Code

python基礎(chǔ)面試題整理---從零開始 每天十題(01)_第3張圖片

十,Q:Python 區(qū)分大小寫嗎?

? ? A:python是區(qū)分大小寫的,最后一個題我自身覺得挺無聊的,但是仔細(xì)想想,還有點(diǎn)懵,自己試了一遍才知道,真的區(qū)分,別讓別人的問題問懵了。

?

?

?

最近忙著弄Flask的源碼,寫博客的時間不多,過幾天整理好了,把基礎(chǔ)的工具類,權(quán)限,OSS登陸寫好以后,我會開源在碼云上。覺得是可以拆分部署的,不知道真實(shí)項(xiàng)目可不可以使用,還在補(bǔ)全注釋和代碼優(yōu)化。

?


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 免费网站看v片在线a | 亚洲伦理在线 | 色综合色综合色综合色综合 | 精品久久久久久亚洲综合网 | 草久在线观看视频 | 久久青草精品免费资源站 | 亚洲一区国产 | 国产福利91精品一区二区三区 | 男女免费视频网站 | 欧美精品黄页在线观看大全 | 综合欧美一区二区三区 | 色婷婷六月丁香在线观看 | 国产美女www爽爽爽免费视频 | 狠狠干天天色 | 色黄视频网站 | 精品一区二区久久久久久久网站 | 久久国产视频网 | 免费一级在线 | 国产精品久久久久秋霞影视 | 精品国产一区二区三区成人影院 | 久久伊99综合婷婷久久伊 | 亚洲精品久久久久久蜜臀 | 成人深夜视频在线观看 | 涩涩色中文综合亚洲 | 久久se精品一区精品二区 | 狠狠色欧美亚洲狠狠色五 | 国产乱子轮XXX农村 日本中文字幕一区 | 波多野结衣亚洲一区 | 欧美久久久无码精品亚洲日韩小说 | 亚洲精品成人av在线 | 国产精品国产午夜免费福利看 | 欧美网站www | 久久国内精品 | 久精品视频 | 欧美在线观看视频网站 | 午夜激情影院 | 欧美另类性视频 | 欧美日韩色综合网站 | 日韩av免费在线观看 | 婷婷久久无码欧美人妻 | 国产精品99爱免费视频 |