Python學習筆記[牛客專項練習]
下面哪個是Python中的不變的資料結構?
正確答案: C
set
list
tuple
dict
- 可變:list, dict,set
- 不可變:string int float tuple boolen
幫助記憶的方法:不可變的看作是個體, 可變是一個容器
關於Python記憶體管理,下列說法錯誤的是
正確答案: B
變數不必事先宣告
變數無須先建立和賦值而直接使用
變數無須指定型別
可以使用del釋放資源
python中變數可以不事先宣告、不指定型別,會自動根據賦值語句來決定型別
同時,使用前必須賦值,在賦值的同時變數也就建立了
Python呼叫( )函式可實現對檔案內容的讀取
正確答案: A
read()
readline()
readlines()
readclose()
read()讀整個檔案
readline()讀一行
readlines()讀所有行到list
下列Python語句正確的是
正確答案: D
min = x if x < y = y
max = x > y ? x : y
if (x > y) print x
while True : pass
A:三元運算子的使用
a if condition else b
min = x if x < y else y
B: python中無此用法
C:缺少冒號
if (x > y) : print x
關於Python中的複數,下列說法錯誤的是()
正確答案: C
表示複數的語法是real + image j
實部和虛部都是浮點數
虛部必須字尾j,且必須小寫
方法conjugate返回複數的共軛複數
虛部的字尾可以是’j’也可以是’J’
下面程式碼執行後,a、b、c、d四個變數的值
import copy
a = [1, 2, 3, 4, ['a', 'b']]
b = a # 引用,除非直接給a重新賦值,否則a變則b變,b變則a變
c = copy.copy(a) # 淺複製,只會拷貝父物件,不會拷貝父物件中的子物件,所以若a的子物件變則c 變,但是父物件變c不會變
d = copy. deepcopy(a) #深拷貝,完全拷貝,完全獨立於原物件,a變也不變
a.append(5)
a[4].append('c')
a = [1, 2, 3, 4, [‘a’, ‘b’, ‘c’], 5]
b = [1, 2, 3, 4, [‘a’, ‘b’, ‘c’], 5]
c = [1, 2, 3, 4, [‘a’, ‘b’, ‘c’]]
d = [1, 2, 3, 4, [‘a’, ‘b’]]
b=a,只是換了一個名字,a怎麼變b就怎麼變,
c是淺複製,只複製了a的部分值,仍然共用某些值,所以在對a的子物件進行操作時會改變c
d是深複製,完全複製了a的所有值,已經完全與a無關,對a的任何操作都不會影響d
下列表達式的值為True的是
正確答案: C
5+4j > 2-3j #不支援複數比較大小
3>2>2
(3,2)< (‘a’,‘b’)
’abc’ > ‘xyz’
C: tuple 的比較是從兩者的第一個元素的 ASCII 碼開始,直至兩個元素不相等為止,若前面元素都相等,則元素個數多的 tuple 較大。
D: 字串的比較與 tuple 類似,也是從第一個字元開始比較 ASCII 碼,直到兩個字元不相等為止。
字母與數字的ASCII 碼大小範圍是 “a-z” > “A-Z” > “0-9”,D選項中 ‘a’ < ‘x’
已知print_func.py的程式碼如下:
print('Hello World!')
print('__name__value: ', __name__)
def main():
print('This message is from main function')
if __name__ =='__main__':
main()
print_module.py的程式碼如下:
import print_func
print("Done!")
執行print_module.py程式,結果是:
Hello World! __name__ value: print_func Done!
Python中函式是物件,描述正確的是?
正確答案: A B C D
函式可以賦值給一個變數
函式可以作為元素新增到集合物件中
函式可以作為引數值傳遞給其它函式
函式可以當做函式的返回值
在 Python 中萬物皆為物件,函式也不例外