1. 解釋型語言和編譯型語言的區別
-
編譯型語言: 將程序編譯成二進制可執行程序(C、C+++)
-
解釋型語言: 將程序逐行解釋運行(python)
Java不是將源程序直接編譯機器語言,而是編譯成字節碼文件,然后用解釋方式執行字節碼
2 . python中的字符串、列表、元組和字典
-
字符串(str) : 由引號包含的任意文本
-
列表(list):列表是有序的集合,內部元素可以改變
-
元組(tuple):元組也是有序集合,但內部元素無法改變
-
字典(dict):字典無序集合,內部元素由鍵值對組成
-
集合(set):key的集合,每個元素都是唯一的,所有元素不重復且無序
3 .字符串常用方法
-
切片:"str"[0:1]
-
format:"str{str}"format(str="str")
-
join:'-'.join(['str1', 'str2'])
-
String.replace(old, new, count):將字符串中的old字符替換為new字符, count為替換個數
-
split:切割字符串,得到一個列表
4. 列表常用方法
-
切片:和字符串切片方法相同(切片操作為淺復制操作)
-
append:向列表中添加元素
-
extend:將一個可迭代對象添加到列表末尾
-
del:根據下標進行刪除
-
pop:刪除列表最后一個元素
-
remove:根據元素值進行刪除
-
sort:將列表默認從小到大順序進行重新排列,參數reverse=true可更改為倒序排列
-
reverse:將列表翻轉
5.字典常用方法
-
dict.clear():清空字典
-
dict.pop(key):刪除字典中的某一項
-
遍歷字典
dict1 = {'key1': 1, 'key2': 2} key = [key for key in dict1] print(key) # ['key1', 'key2'] value = [value for value in dict1.values()] print(value) # [1, 2] key_value = [(key, value) for key, value in dict1.items()] print(key_value) # [('key1', 1), ('key2', 2)]
-
fromkeys:創建字典
keys = ['key1', 'key2'] dict1 = dict.fromkeys(keys, 0) print(dict1) # {'key1': 0, 'key2': 0}
6. python中的字符串編碼
-
encode():將字符串編譯成指定bytes
-
decode():將bytes編碼成字符串
7. 數值交換
a, b = 1, 2 a, b = b, a
8. is 和 == 的區別
-
is:判斷對象之間的內存地址是否一致(對象的內存地址可以通過id()方法查看
-
==:只判斷對象的值是否一致
9.python函數中的參數類型
位置參數、默認參數、可變參數、關鍵字參數
10. *arg和**kwarg的作用
-
*arg:將位置參數轉換為tuple
-
**kwarg:將關鍵字參數轉化為dict
11.獲取當前時間
datetime.datetime.now()
time.strftime('%Y-%m-%d %H:%M:%S')
12.PEP8規范
-
盡量避免使用容易混淆的字符
-
函數命名全部使用小寫,可以使用下劃線
-
常量命名全部使用大寫,可以使用下劃線
-
使用has或is前綴命名布爾元素,如is_connect = True
-
不要使用反斜杠連接行
-
方法定義之間空一行
-
如果一個類不繼承自其他類,就顯式的從object繼承
-
內部使用的類、方法或變量需要加前綴_表示內部使用
13. python的深淺拷貝
-
深拷貝:深拷貝會將原對象的引用對象重新復制一份,修改原對象不會對拷貝對象產生影響
-
淺拷貝:只復制原對象的所有引用對象,修改原對象會對拷貝對象產生影響