一、選擇題
1.下面的表達式能夠完成變量賦值的有(a、c、d )
A.x = y = z = 1 #同時給多個變量賦值
B.x = 1, y = 2 #多條語句在一行顯示的時候,要用分號隔開。此處是逗號,故錯誤
C.x = [1, 2, 3, ][0] #相當(dāng)于 x = 1
D.x, y, z = (1, 2, 3) # 分別賦值: x=1, y=2, z=3
2.以下語句中能夠創(chuàng)建除字典對象的有( d )
A.x = {'a', 1, 'b', 2, 'c', 3} #鍵和值中間是冒號隔開的
B.x = dict('a' = 1, 'b' = 2)
C.x = {a: 1} #鍵一般字符串,要加引號。除數(shù)字外
D.x = {} #聲明一個空的字典
3.以下語句能夠創(chuàng)建出刑如[1, 2, 3]的列表的有:( a )
A、[1, 2] + [3] #兩個列表相加,是兩個列表的元素拼接在一起。
B、[1, 2].extend(3) # extend()是一次性在列表末尾添加一個列表的多個元素值。參數(shù)一般是一個列表
C、(i +1 for i in range(3)) #遍歷取得0,1,2,每次遍歷都在取得的值的基礎(chǔ)上加1,最終結(jié)果是:1, 2, 3,但是最終的結(jié)果不是一個列表
D、list(range(3)) # 獲得的結(jié)果是[0, 1, 2]
4.假設(shè)“a.tst”文件不存在,以下代碼能創(chuàng)建出a.txt文件的有( b、c )
A、open('a.txt') #默認打開,不存在的時候會報錯
B、open('a.txt', 'a') #在后面追加,不存在的時候會新建
C、open('a.txt', 'wb') #二進制的寫,只要是寫的方式,文件不存在的時候都會創(chuàng)建一個新的文件
D、open('a.txt', 'rb') #二進制的讀,不存在會報錯
5.以下表達式的結(jié)果是'a'的有( c、d)
A、r'\thabit'[2] #結(jié)果是 h
B、'abandoned'[-6] # 結(jié)果是n
C、'\tmake an ffect'[7:8] 結(jié)果是a
D、R'favouritae\r'[-4] # 結(jié)果是a
二、簡答題
1.寫出五中python標(biāo)準(zhǔn)數(shù)據(jù)類型(用英文書寫)
number —— 數(shù)字
str —— 字符串
list —— 列表
tuple —— 元組
dict —— 字典
set —— 集合
bool —— 布爾
complex —— 復(fù)數(shù)
int —— 整數(shù)
float —— 浮點數(shù)
2.寫出五個python內(nèi)置函數(shù)。
print() #打印
int() #轉(zhuǎn)換成整數(shù)
max() #最大值
min() #最小值
list() #轉(zhuǎn)換成列表
set() #轉(zhuǎn)換成集合
float() #轉(zhuǎn)換成浮點數(shù)
str() #轉(zhuǎn)換成字符串
input() #從控制臺獲取信息
dict() #轉(zhuǎn)換成字典
3.寫出下面代碼的執(zhí)行結(jié)果。
print([i for i in range(10) if i % 2])
運行結(jié)果:[1, 3, 5, 7, 9]
4.定義變量 s = 'abcdefuujhg' 寫出下列代碼運行的結(jié)果
s.upper( ) #全部大寫 ABCDEFUUJHG
s[2::-1] # cba
s.isdigit( ) # 判斷是否是純數(shù)字 False
'*'.join(list(s[:3])) #在切片取到的元素之間用*連接 a*b*c
5.用一行代碼將字典{'a': 1, 'b': 2}轉(zhuǎn)換成字典{1: 'a', 2: 'b'}
print(dict([(value, key) for key, value in {'a': 1, 'b': 2}.items()]))
1.請簡述python2和python3的區(qū)別
- python2 中print是關(guān)鍵字,python3 中print是內(nèi)置函數(shù)。
- python3 中新增了True 、False、None、nonlocal 等關(guān)鍵字
- python2 中字符串是 ASCII 字符串,python3 中的字符串是Unicode字符串。
- python2 中 / 運算符對整數(shù)做整除運算,Python3 中整除使用 // 運算符
- python3 中的整數(shù)都是 int 類型,沒有 long 類型
- python3 中的 range 不再是返回列表的函數(shù),而是一種類型,python3 中沒有 xrange類型。
- python3 中的八進制字面量必須書寫為0o777 而不能寫成0777.
- python2 中的不等于運算符有兩種寫法:!= 和 <>, python3 中只有 !=
- python3 將 python2 中的多個模塊進行了重新命名,使用了更合理的命名方式。
- python3 重新定義了 bytes 類型,不再是python2 中的 str 類型的別名
2.請說明實例方法、靜態(tài)方法、類方法的區(qū)別和應(yīng)用場景
-
實例方法:
定義: 第一個參數(shù)必須是實例對象,該參數(shù)名一般約定為“self”,>通過它來傳遞實例的屬性和方法(也可以傳類的屬性和方法)
調(diào)用: 只能由實例對象調(diào)用。
-
類方法:
定義: 使用裝飾器@classmethod。第一個參數(shù)必須是當(dāng)前類對象,該參數(shù)名一般約定為“cls”,通過它來傳遞類的屬性和方法(不能傳實例的屬性和方法)
調(diào)用: 實例對象和類對象都可以調(diào)用。
-
靜態(tài)方法
定義: 使用裝飾器@staticmethod。參數(shù)隨意,沒有“self”和“cls”參數(shù),但是方法體中不能使用類或?qū)嵗娜魏螌傩院头椒?/p>
調(diào)用: 實例對象和類對象都可以調(diào)用。
3.請根據(jù)自己理解說明面向?qū)ο笾蟹庋b、繼承、多態(tài)的含義
- 封裝:封裝就是把對象的屬性和行為結(jié)合成一個獨立的整體
- 繼承:從已有類中派生出新的實例對象,子類繼承父類的屬性和方法,并且自己可以拓展出自己獨有的屬性和方法
- 多態(tài):指的是不同的對象對相同的屬性或者方法做出不同的響應(yīng)。
4.請列出一些你在開發(fā)中使用過的python模塊,并指明其作用
- math —— 提供常用的數(shù)學(xué)運算函數(shù)
- random —— 提供生成隨機數(shù)、隨機采樣等函數(shù)
- re —— 提供了支持正則表達式操作的函數(shù)
- os —— 提供了和操作系統(tǒng)借口的函數(shù)
- functools —— 提供了操作函數(shù)和可調(diào)用對象的工具
- time —— 提供了時間操作的各種函數(shù)
5.說明python中異常機制下的關(guān)鍵字及其用法
tyr
except finally