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

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

系統 1613 0

  書接上回,我們繼續來說說python的面試題,我在各個網站搜集了一些,我給予你們一個推薦的答案,你們可以組織成自己的語言來說出來,讓我們更好的做到面向工資編程

一、Q:說說你對zen of python的理解,你有什么辦法看到它。

A:The Zen of Python是Python語言的指導原則,遵循這些基本原則,輸入import this,然后直接運行即可

二、Q:什么是元類(meta_class)

A:我們定義類來創建對象,但是現在我們知道類也是對象。那么是通過什么來創建類呢?答案就是元類。我們可以將元類稱之為類工廠。如果我們定義了metaclass屬性,Python就會使用這個元類來創建類Foo。注意,編譯器首先讀取 class Foo(object) ,這時并不會在內存中創建Foo類。Python會繼續查找類定義中的 __meatclass__ ,如果找到了,就使用它來創建類Foo,如果沒有找到,就使用type來創建類。Python工作流程如下:首先檢查 Foo 中是否具有屬性 __metaclass__ ?如果找到,就使用 __metaclass__ 定義的元類在內存中創建一個類對象。如果在類定義中沒有找到這個屬性,就在模塊級別中進行查找。如果還是沒有找到,就會使用父類Bar中的元類來創建類。注意:類中的 __metaclass__ 屬性不會被子類繼承,但是父類中的 __class__ 會被繼承。這里寫的比較片面,大家可以參考?https://www.jianshu.com/p/cec91b9ef2a4

三、Q:對比一下dict中 items 與 iteritems

A:items是可以將字典中的所有項,以列表方式返回。因為字典是無序的,所以用items方法返回字典的所有項,也是沒有順序的。

   ?? iteritems方法作用:與items方法相比作用大致相同,只是它的返回值不是列表,而是一個迭代器。

四、Q:有用過with statement嗎?它的好處是什么?
A: with 語句的作用是通過某種方式簡化異常處理,它是所謂的上下文管理器的一種

             with open(
            
              '
            
            
              output.txt
            
            
              '
            
            , 
            
              '
            
            
              w
            
            
              '
            
            
              ) as f:
        f.write(
            
            
              '
            
            
              Hi there!
            
            
              '
            
            )
          

  當你要成對執行兩個相關的操作的時候,這樣就很方便,以上便是經典例子,with語句會在嵌套的代碼執行之后,自動關閉文件。這種做法的還有另一個優勢就是,無論嵌套的代碼是以何種方式結束的,它都關閉文件。如果在嵌套的代碼中發生異常,它能夠在外部exception handler catch異常前關閉文件。如果嵌套代碼有return/continue/break語句,它同樣能夠關閉文件

五、Q:說說decorator的用法和它的應用場景,如果可以的話,寫一個decorator(裝飾器)

  A:裝飾器就是把函數包裝一下,為函數添加一些附加功能,裝飾器就是一個函數,參數為被包裝的函數,返回包裝后的函數:

            
              def
            
            
               d(fp):
    
            
            
              def
            
             _d(*arg, **
            
              karg):
        
            
            
              print
            
            
              "
            
            
              do sth before fp..
            
            
              "
            
            
              
        r
            
            = fp(*arg, **
            
              karg)
        
            
            
              print
            
            
              "
            
            
              do sth after fp..
            
            
              "
            
            
              return
            
            
               r
    
            
            
              return
            
            
               _d
 
@d

            
            
              def
            
            
               f():
    
            
            
              print
            
            
              "
            
            
              call f
            
            
              "
            
          

應用場景應用場景: 引入日志, 函數執行時間統計, 執行函數前預備處理, 執行函數后清理功能, 權限校驗等場景, 緩存, 事務處理。 當函數可以作為參數傳遞的語言,可以使用裝飾器

六、Q:如何在一個函數內部修改全局變量

A:利用global 修改全局變量

?

            
              #
            
            
              !/usr/bin/env python
            
            
              
#
            
            
               -*- coding: utf-8 -*-
            
            
              
a 
            
            = 1

            
              def
            
            
               change():
    
            
            
              global
            
            
               a
    a 
            
            = 3

            
              print
            
            
              (a)
change()

            
            
              print
            
            (a)
          

?

七、Q:列出5個python標準庫

  A:os:提供了不少與操作系統相關聯的函數

   ? sys: ? 通常用于命令行參數

   ? re: ? 正則匹配

   ? math: 數學運算

   ? datetime:處理日期時間

八、Q:簡述面向對象中__new__和__init__區別

  A:1、__new__至少要有一個參數,代表當前類,此參數在實例化時由Python解釋器自動識別

   ? 2、__new__必須要有返回值,返回實例化出來的實例,這點在自己實現__new__時要特別注意,可以return父類(通過super(當前類名))__new__出來的實例,或者直接是object的__new__出來的實例

   ? 3、__init__有一個參數self,就是這個__new__返回的實例,__init__在__new__的基礎上可以完成一些其它初始化的動作,__init__不需要返回值

   ? 4、如果__new__創建的是當前類的實例,會自動調用__init__函數,通過return語句里面調用的__new__函數的第一個參數是cls來保證是當前類實例,如果是其他類的類名,;那么實際創建返回的就是其他類的實例,其實就不會調用當前類的__init__函數,也不會調用其他類的__init__函數。

九、Q:python中生成隨機整數、隨機小數、0--1之間小數方法

  A:隨機整數:random.randint(a,b),生成區間內的整數

   ? 隨機小數:習慣用numpy庫,利用np.random.randn(5)生成5個隨機小數

   ? 0-1隨機小數:random.random(),括號中不傳參

十、Q:python2和python3區別?列舉5個

  A:1、Python3 使用 print 必須要以小括號包裹打印內容,比如?print('hi')

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

    2、python2 range(1,10)返回列表,python3中返回迭代器,節約內存

    3、python2中使用ascii編碼,python3中使用utf-8編碼

    4、python2中unicode表示字符串序列,str表示字節序列

? ? ?    python3中str表示字符串序列,byte表示字節序列

   5、python2中為正常顯示中文,引入coding聲明,python3中不需要

   6、python2中是raw_input()函數,python3中是input()函數

   7、 浮點數除法操作符“/”和“//”的區別

    "/":     

    Python2:若為兩個整形數進行運算,結果為整形,但若兩個數中有一個為浮點數,則結果為浮點數;

    Python3:為真除法,運算結果不再根據參加運算的數的類型。

    "http://":
    Python2:返回小于除法運算結果的最大整數;從類型上講,與"/"運算符返回類型邏輯一致。
    Python3:和 Python2 運算結果一樣。

?

?

題目都是各種散裝百度來的,答案也是如此,但是自己寫了一遍,也讀了一遍,也覺得自己收獲了不少。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产三级在线观看视频 | 中文字幕精品一区 | 青青在线香蕉精品视频免费看 | 999热这里只有精品 三级在线网站 | 午夜神器18以下不能进免费观看 | 97色伦网| 成人欧美一区二区三区在线播放 | 欧美一级高清毛片aaa | 日韩精品久久久久影院 | 久草干 | 成人一级大片 | 欧美亚洲视频一区 | 日韩欧美一级精品久久 | 久久精品国产精品青草图片 | 天天爽天天操 | 国产一区二区自拍 | 亚洲精品视 | 欧美成人免费看片一区 | 一级特黄欧美 | 天天摸日日碰天天看免费 | 亚洲第一区精品观看 | 国产午夜精品久久久久久久蜜臀 | 亚洲欧美在线播放 | 国产乱妇无码大黄AA片 | 亚洲精品国产成人 | 在线视频观看国产 | 欧美aaaaaaaaa | 日韩欧美亚洲 | 国产激情| 日韩美女中文字幕 | 日韩18视频在线观看 | 亚洲精品第一综合99久久 | 日日摸夜夜添夜夜添亚洲女人 | 日韩欧美视频一区二区三区 | 久久精品视频一区二区 | 成人午夜毛片 | 日韩视频www | 性欧美精品久久久久久久 | 国产 福利 在线 | 2019中文字幕视频 | 国产精品日本一区二区不卡视频 |