命名空間和作用域的關係:
裝飾器函式的作用?寫乙個裝飾器程式:命名空間定義了在某個作用域內變數名和繫結值之間的對應關係,
命名空間是鍵值對的集合,變數名與值是一一對應關係。
作用域定義了命名空間中的變數能夠在多大範圍內起作用。
閉包的形成要件是什麼,寫乙個閉包函式:在不修改原函式及其呼叫方式的情況下對原函式功能進行擴充套件
defouter
(f):
definner()
("**"
) f(
("*"
)return inner
@outer**
deffunc()
("華晨宇演唱會")**
func()*
****
簡述try、except語句的用法:閉包函式必須有內嵌函式、
內嵌函式必須要引用外層函式的變數、
閉包函式返回內嵌函式的位址(函式名稱)
deffunc()
: name=
"ruirui"
definner()
(name)
return inner
f=func()f(
)***
簡述read, readline, readlines的區別:程式先執行try中的**,如果try中**沒有出錯,則不會執行except中的異常**。
如果try中的**出錯了,則執行exception中的異常**。
簡述深拷貝和淺拷貝:read會一次性讀取檔案的全部內容
readline 每次讀取一行,並且自帶換行功,每一行末尾會讀到\n
readlines 一次性以行的形式讀取檔案的所有內容並返回乙個list,需要去遍歷讀出來
拷貝結束之後倆個物件雖然存的值是一樣的,但是記憶體位址不一樣,倆個物件頁互相不影響,互不干涉
簡述python中類方法和靜態方法:
請簡述你對物件導向的理解:類方法是類物件的方法,在定義時需要在上方使用「@classmethod」進行裝飾,
形參為 cls,表示類物件,類物件和例項物件都可呼叫。
靜態方法是乙個任意函式,在其上方使用「@staticmethod」進行裝飾,可以用物件直接呼叫,
靜態方法實際上跟該類沒有太大關係。
簡述例項屬性與類屬性的區別以及例項方法與類方法,靜態方法的區別:在編寫**時只寫框架思路,具體實現還未編寫就可以用 pass 進行佔位,使程式不報錯,
不會進物件導向的程式設計,簡稱:oop,是一種程式設計的思想。
oop把物件當成乙個程式的基本單元,乙個物件包含了資料和運算元據的函式。
物件導向的出現極大的提高了程式設計的效率,使其程式設計的重用性增高。
python物件導向的重要術語:
1.多型(polymorphism):乙個函式有多種表現形式,呼叫乙個方法有多種形式,但是表現出的方法是不一樣的。
2.繼承(inheritance)子項繼承父項的某些功能,在程式中表現某種聯絡
3.封裝(encapsulation)把需要重用的函式或者功能封裝,方便其他程式直接呼叫
4.類:對具有相同資料或者方法的一組物件的集合
5.物件:物件是乙個類的具體事例
給定兩個 list a ,b,請用找出 a ,b 中相同的元素,a ,b 中不同的元素:類屬性和例項屬性的區別:在python中一切皆物件,類是乙個特殊的物件即類物件,
描述類的屬性稱為類屬性,它屬於類。類屬性在記憶體中只有乙份,所有例項物件公用,在init外部定義。
例項屬性:用來描述類建立出來的例項物件,需要通過物件來訪問,
在各自物件的記憶體中都儲存乙份,在init方法內部定義
例項方法、類方法、靜態方法的區別:
這三種方法都是儲存在類的記憶體中,呼叫者不同。例項方法由物件呼叫,
至少乙個self引數,self代表物件的引用。類方法由類呼叫,至少乙個cls引數,
並且需要裝飾器@classmethod修飾靜態方法由類呼叫,不需要引數,
需要裝飾器@staticmethod修飾
a、b 中相同元素:print
(set
(a)&
set(b)
)
a、b 中不同元素:print
(set
(a)^
set(b)
)
Java面試題及其答案
1.乙個圓劃分為n個扇形,現用m種顏色對其上色,要求相鄰兩塊扇形的顏色不能相同,問有多少種上色方案?其中n 1,m 3 注意 不考慮對稱性,例如 乙個圓劃分為2個扇形,用3種顏色上色方案有 黑紅,黑白,白紅,白黑,紅白,紅黑 6種,相當於每個扇形都有編號,是不一樣的。採用數學歸納的思想。求n個扇形的...
C 高頻面試題
malloc free是c語言的標準庫函式,new delete是c 的運算子。由於malloc free是庫函式而不是運算子,不在編譯器控制許可權之內。對於使用者自定義的物件而言,用maloc free無法滿足動態管理物件的要求。廢話 new是型別安全的,malloc不是。int a new fl...
C 高頻面試題
字首式可以返回物件的引用,而字尾式必須返回物件的值所以導致在大物件產生時產生了較大的複製開銷,因此處理自定義型別的時候盡量使用字首式。a b b a a b 相對於c,c 多了過載 內聯函式 異常處理,擴充套件了物件導向的設計內容 類 繼承 虛函式 模板。c 並不是完全的物件導向,它也可以寫出面向過...