面試準備基礎2

2021-10-06 07:46:13 字數 2271 閱讀 8172

對於python高階中的面試準備2:

(1)迭代器

迭代是訪問集合元素的一種方式。迭代器是乙個可以記住遍歷的位置的物件。迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。

—可迭代物件:直接作用於for迴圈的資料型別:

一類是集合資料型別,如list、tuple、dict、set、str等;

一類是 generator,包括生成器和帶yield的generator function。

這些可以直接作用於for迴圈的物件統稱為可迭代物件

(2)判斷是否可以迭代

可以使用isinstance()判斷乙個物件是否是iterable物件,生成器也是一種迭代器:可迭代物件(iterable)和迭代器(iterator)。生成器都是iterator物件,但是list、dict、str都是可迭代,但是不是迭代器,可以使用iter()函式把可迭代物件變成迭代器

對於迭代器和可迭代物件的總結:

凡是可做用於for迴圈的物件都是iterable型別(可迭代物件)

凡是可做用於next()函式的物件都是iterator型別(迭代器物件)

集合資料型別如list、dict、str等是iterable但不是iterator,不過可以通過iter()函式獲得乙個 iterator物件。

(3)閉包(程式語言中的一種重要的語法)需要理解python中的引用----就是指標、位址的概念。

什麼是閉包:

閉包就是函式中定義函式,裡面的函式會使用外面函式的變數或者外面函式傳進來的引數等。內部函式就稱為函式閉包。

閉包的總結:

----1.閉包優化了變數,原來需要類物件完成的工作,閉包也可以完成

----2.由於閉包引用了外部函式的區域性變數,則外部函式的區域性變數沒有及時釋放,消耗記憶體

(4)裝飾器

裝飾器是程式開發中經常會用到的乙個工作,用好了裝飾器開發效率如虎添翼

def w1(func):

def test(

): ..

....

func(

)return

test

@w1def desc(

): pass

@函式名是python的一種語法糖

這段**的執行是這樣的:

第一步:desc() 執行desc函式的時候,相當於desc=w1(desc),此時的desc指向的是test,也就是執行test函式了,中間做了乙個函式執行轉移。

第二步:執行test,test函式中會執行desc函式的,這個就是函式裝飾器的使用方法

裝飾器的一些功能:

引入日誌

函式執行時間統計

執行函式前預備處理----相當於在函式之前新增一些驗證的操作或者其他的操作()

執行函式後清理功能

許可權校驗等場景

快取(5)裝飾器的型別

無引數的函式裝飾器(被裝飾的函式沒有引數)

有引數的函式裝飾器(被裝飾的函式有引數)

以上是針對於函式來說的,還有類裝飾器的

(7)python中的作用域

命名空間—也就是作用域:globals、locals。legb規則

python使用legb的順序來查詢乙個符號對應的物件

locals -> enclosing function -> globals -> builtins

深拷貝:深拷貝是對於乙個物件所有層次的拷貝(遞迴),也就是新開闢一段記憶體,和之前的東西是沒有關係。其中任意乙個發生改變時,都不會影響到另外一方,新舊之分

淺拷貝對不可變型別和可變型別的copy不同—具體使用的時候在看

(10)進製、位運算

進製的理解和表示,以及進製的轉換等操作

位運算:

&按位與

|按位或

^按位異或

~按位異或

《按位左移

按位右移

用途:直接操作二進位制,省記憶體,效率高

移位運算的操作:左移運算(左移1位)相當於乘以2(把原資料乘以2)

(11)私有化

xx: 公有變數

_x:單前置下劃線,私有化屬性或方法(私有化處理)

_x的變數、函式、類在使用from *** import *時都不會被匯入

(12)property裝飾器的作用

還記得裝飾器(decorator)可以給函式動態加上功能嗎?對於類的方法,裝飾器一樣起作用。python內建的@property裝飾器就是負責把乙個方法變成屬性呼叫的,簡單理解就是把裝飾的函式當成屬性來呼叫

前端面試準備 2

1.一次完整的http事務是怎麼樣的過程?1 通過網域名稱尋找ip位址 瀏覽器會首先搜尋自己的瀏覽器快取裡面有沒有dns快取,如果找到則結束,裡面有網域名稱對應的ip位址。如果瀏覽器快取沒有找到,則會繼續往作業系統中查詢是否有dns快取,如果找到則結束,否則進行下一步。瀏覽器會向本地的dns服務提供...

面試基礎知識準備

影象基礎知識 1.常用的影象空間。2.簡述你熟悉的聚類演算法並說明其優缺點。3.請描述以下任一概念 sift surf lda pca 4.請說出使用過的分類器和實現原理。5.random forest的隨機性表現在 6.graph cut的基本原理和應用。7.gmm的基本原理和應用。8.用具體演算...

2012面試準備 2012 10 26面試準備

c 1 什麼純虛函式?首先,二者申明不一樣。virtual void test void 虛函式 virtual void test void 0 純虛函式 其次,如果乙個類包含了乙個純虛函式 哪怕只有乙個是純虛函式 那麼它就是乙個抽象類 就是不能生成具體的物件!但如果類中只包含虛函式,那麼是可以定...