Python面試筆記三

2022-08-23 08:12:13 字數 1095 閱讀 7326

有如下的一段**:

python物件

如何呼叫類a的show方法了,方法如下:

python物件

__class__方法指向了類物件,只用給他賦值型別a,然後呼叫方法show,但是用完了記得修改回來。

問題:為了讓下面這段**執行,需要增加哪些**?

python例項化

答案:為了能讓物件例項能被直接呼叫,需要實現__call__方法

python例項化

下面這段**輸出什麼?

python例項化

答案:python例項化

使用__new__方法,可以決定返回那個物件,也就是建立物件之前,這個可以用於設計模式的單例、工廠模式。__init__是建立物件是呼叫的。

下面這段**輸出什麼?

python list dict

答案:python list dict

下面這段**輸出什麼?

python全域性變數

答案:python全域性變數

num不是個全域性變數,所以每個函式都得到了自己的num拷貝,如果你想修改num,則必須用global關鍵字宣告。比如下面這樣:

python全域性變數

一行**交換兩個變數值

python資料交換

答案:python資料交換

如下的**:

python反射

方法 fn1/fn2/fn3 都沒有定義,新增**,是沒有定義的方法都呼叫mydefault函式,上面的**應該輸出

python反射

答案:python反射

方法__getattr__只有當沒有定義的方法呼叫時,才是呼叫他。當fn1方法傳入引數時,我們可以給mydefault方法增加乙個*args不定引數來相容。

python反射

乙個包裡有三個模組,mod1.py, mod2.py, mod3.py,但使用from demopack import *匯入模組時,如何保證只有mod1、mod3被匯入了。

答案:增加__init__.py檔案,並在檔案中增加:

python第三方模組

寫乙個函式,接收整數引數n,返回乙個函式,函式的功能是把函式的引數和n相乘並把結果返回。

答案:

面試筆記1

今天開始準備找實習了,開始準備實習的東西了。接下來開始寫今天看到的小知識。1.宣告,定義,初始化 宣告是指extern int i 定義是指int i 初始化int i 0 區別在於,宣告不分配儲存空間,在這裡編譯的時候是不管的,只有當需要用到i的時候才去檢查。定義的話,就分配一塊空間給它。初始化的...

面試筆記3

有關函式宣告的空間問題 乙個函式在宣告後如果不寫函式體是不會分配空間的,所以實現這個函式也就相當於初始化函式這個變數,同時也就引申出了變數如果只宣告的話是不會分配的空間的?可以這麼認為,因為靜態變數跟全域性變數都是自動初始化為0的。另外在c語言中 void fun 等同於 void fun 在c 語...

實習面試筆記

fib資料庫事務隔離級別有4個 由低到高依次為 read uncommitted,讀到了未提交的事物,只是 add 還沒有 commit read committed,讀到了上一次的commit,也就是說還沒有更新 最新的commit repeatable read,保證讀取最新的 commit,為...