1. 程式人生 > >Python自帶:python自帶的以字母開頭的函式或方法集合

Python自帶:python自帶的以字母開頭的函式或方法集合

一、python以字母開頭的函式或方法

A
assert斷言用法:防禦性的程式設計、執行時對程式邏輯的檢測、合約性檢查(比如前置條件,後置條件)、程式中的常量、檢查文件

assert 12==12   #assert語句判斷兩個整數是否相等,如果相等就不會報錯

assertEqual(a, b)     a == b      
assertNotEqual(a, b)     a != b     
assertTrue(x)     bool(x) is True      
assertFalse(x)     bool(x) is False

B

C

list.count函式的用法
list=['America', 'America', '山東', '山東', '吉林', '山東', '上海', '上海']
print(list.count("山東"))  #計算列表指定元素的個數

#計算列表每個元素的個數並生成字典
list_dict = {}
for i in list:
  if list.count(i) >= 0:
    list_dict[i] = list.count(i)
print(list_dict)  

D

a=1, 
del a     #刪除變數a,解除a對1的引用
dict()    #建立字典

dict() #dict函式用於建立一個字典。返回一個字典。
dict01=dict(a='a', b='b', t='t')     # 傳入關鍵字
dict02=dict(zip(['one', 'two', 'three'], [1, 2, 3]))   # 對映函式方式來構造字典 
dict03=dict([('one', 1), ('two', 2), ('three', 3)])    # 可迭代物件方式來構造字典
print(dict01,"\n",dict02,"\n",dict03)
{'a': 'a', 'b': 'b', 't': 't'} 
 {'one': 1, 'two': 2, 'three': 3} 
 {'one': 1, 'two': 2, 'three': 3}

E

if my_file_path.endswith('.xlsx'):  #判斷檔案字尾
        print('成功開啟表格檔案!')

F

G

H

I

J

K
Llogging.basicConfig(level=logging.ERROR,           
format='%(asctime)s Process%(process)d:%(thread)d %(message)s',                    datefmt='%Y-%m-%d %H:%M:%S',                    
filename='diary.log',                    
filemode='a')(level設定日誌級別,預設為logging.WARNING;format指定輸出的格式和內容,format可以輸出很多有用資訊;datefmt指定時間格式,同time.strftime() ;filename指定日誌檔名;filemode和file函式意義相同,指定日誌檔案的開啟模式,'w'或'a')。如果使用Python寫一個比較大型的程式,你一定會用上日誌系統。特別是Python這樣的動態語言,很多錯誤都只能在執行的時候才能發現,一個好的日誌系統對於Python程式相當重要。最簡單的解決方案當然是直接使用print輸出執行資訊。但是這樣太簡單了,沒有分級功能,如果在釋出的時候想去掉除錯用的執行資訊還得找出所有的print語句進行修改。再者,print只能輸出到控制檯,想要輸出到檔案或者通過電子郵件傳送到其他地方,一個print語句就沒辦法解決了。 通過使用Python的日誌系統,就可以解決以上問題。
List.index()     #index() 函式用於從列表中找出某個值第一個匹配項的索引位置。


M

N

numpy.random.randint(a, b)   # 返回開區間 [a, b) 範圍內的整數值  [python] 
 >>> random.randint(0,1)        0   
>>> random.randint(0,1)         1  
 >>> np.random.randint(0,1)   0   
>>> np.random.randint(0,1)    0

O
os系列用法

import os
print(os.getcwd())   #獲取當前py檔案所在路徑
s = os.listdir(path) 
#os.listdir() 方法用於返回指定的資料夾包含的檔案或資料夾的名字的列表。這個列表以字母順序。 它不包括 '.' 和'..' 即使它在資料夾中。 只支援在 Unix, Windows 下使用。
fileName = os.path.basename(path)  
#返回path最後的檔名。如何path以/或\結尾,那麼就會返回空值。即os.path.split(path)的第二個元素。例如 os.path.basename('c:\\test.csv')  得到'test.csv' ;os.path.basename('c:\\csv')  'csv' (這裡csv被當作檔名處理了);os.path.basename('c:\\csv\\') 得到 ''
os.makedirs()   #方法用於遞迴建立目錄
os.remove(self.tmp_file_name)   #刪除指定路徑檔案,如txt、圖片等等
os.rmdir(self.name_trainfile )   #刪除資料夾,刪除的是資料夾
files_file=os.path.join(r'C:\Users\suns\Desktop', 'Heatmap.html')  #給定資料夾、檔名,獲取檔名的絕對路徑
print(files_file)  #輸出C:\Users\suns\Desktop\Heatmap.html

os.walk()方法:輸出資料夾的路徑及其資料夾下所有檔名稱

import os
for path,dirs,every_filename in os.walk(r'F:\\File_Python\\Python_example\\faceRecognition-master\\Original_picture\\Jason_niu'):
    print(path)           #輸出當前路徑
    print(every_filename) #輸出其下所有檔名,儲存為一個列表
for i in every_filename:  
    print(i)    #先輸出每個子檔案的名稱
    print(os.path.join(path, i))#再輸出每個子檔案的路徑

P

pop()  #函式用於移除列表中的一個元素(預設最後一個元素),並且返回該元素的值。

Q

R

random.randint(a, b)     # 返回閉區間 [a, b] 範圍內的整數值  
range(start,stop,step)   # 從txt檔案中的第一行每隔一行讀取一次
replace()                      #方法把字串中的 old(舊字串) 替換成 new(新字串),如果指定第三個引數max,則替換不超過 max 次。
(1)、my_file_path.replace(u'/',u'\\')  #將檔案路徑中的/改為\(第一個是轉義符)
reversed()                    #序列值上的反向迭代器
(2)replace('\t','')     #該函式將原來列表中,元素有含\t統統去掉
#for迴圈去掉sources列表內的\t字元:例如['網路媒體', ……, '網遊', '\t網路媒體', '\t汽車'] → ['網路媒體', ……, '網遊', '網路媒體', '汽車']
pureLists=[]
for i in range(len(sources)):  
    pureList=sources[i].replace('\t','')
    pureLists.append(pureList)
print(pureLists) 
print(sum(wealths))

S
set用法

#關於set:set顧名思義是集合,裡面不能包含重複的元素,接收一個list作為引數
list1=[1,2,3,4,3]
s0=set(list1)  #將列表轉為一個集合
print(s0)      #輸出{1, 2, 3, 4}
for i in s0:  #逐個遍歷集合的元素,輸出的是1 2 3 4
    print(i)
    
#1、使用add(key)往集合中新增元素,重複的元素自動過濾
list1=[1,2,3,4]
s1=set(list1)
print(s1)  #輸出{1, 2, 3, 4}
s1.add(4)
s1.add(5)
print(s1)  #輸出{1, 2, 3, 4, 5}

#2、通過remove(key)方法可以刪除元素
list1=['ML','DL','RL','TL']
s2=set(list1)
print(s2)       #輸出{'RL', 'DL', 'ML', 'TL'}
s2.remove('RL') 
print(s2)       #{'DL', 'ML', 'TL'}

#3、set還可以像數學上那樣求交集和並集
list1=['ML','DL','RL','TL']
list2=['ML','DL','BlockChain','ETH']
s31=set(list1)
s32=set(list2)
s33=s31&s32   #交集,使用&操作符
s34=s31|s32   #並集,使用|操作符
print(s33)    #輸出{'DL', 'ML'}
print(s34)    #輸出{'TL', 'BlockChain', 'RL', 'DL', 'ML', 'ETH'}

super:用來呼叫父類方法,呼叫 super() 的時候,實際上是例項化了一個 super 類。你沒看錯, super 是個類,既不是關鍵字也不是函式等其他資料結構
Python super 詳解:http://www.runoob.com/w3cnote/python-super-detail-intro.html

1、單繼承


2、多繼承

sys系列用法:將環境路徑新增、刪除、列出等

sys.path                            #輸出python的搜尋模組的路徑集
#sys.path返回模組的搜尋路徑,append和insert方法,把一個python檔案加入到python的環境變數中,這樣我們就可以在其他python檔案中呼叫這些加入到環境變數中python檔案了

sys.path.append('F:\\Program Files\\Python\\Python36\\Lib\\site-packages')  #但在退出python環境後自己新增的路徑就會自動消失!
sys.path.insert(0,r'E:\syz\day5')  #

sys.path.remove('F:\\Program Files\\Python\\Python36\\Lib\\site-packages\\keras_yolo3\\keras-yolo3') #去掉地址
#sys.path.remove('F:\\Program Files\\Python\\Python36\\Lib\\site-packages\\keras_yolo3\\keras-yolo3\\yolo3') #去掉地址
#新增多個地址
#sys.path += ['F:\\Program Files\\Python\\Python36\\Lib\\site-packages\\keras_yolo3\\keras-yolo3','F:\\Program Files\\Python\\Python36\\Lib\\site-packages\\keras_yolo3\\keras-yolo3\\yolo3']


sys.path  
help('modules') #能列印相關包及其路徑位置

T

U

V

W

X

Y

yield是一個關鍵詞,類似return, 不同之處在於,yield返回的是一個生成器。為了精通 yield ,你必須要理解:當你呼叫這個函式的時候,函式內部的程式碼並不立馬執行 ,這個函式只是返回一個生成器物件,這有點蹊蹺不是嗎。  那麼,函式內的程式碼什麼時候執行呢?當你使用for進行迭代的時候.  現在到了關鍵點了!  第一次迭代中你的函式會執行,從開始到達 yield 關鍵字,然後返回 yield 後的值作為第一次迭代的返回值. 然後,每次執行這個函式都會繼續執行你在函式內部定義的那個迴圈的下一次,再返回那個值,直到沒有可以返回的。  如果生成器內部沒有定義 yield 關鍵字,那麼這個生成器被認為成空的。這種情況可能因為是迴圈進行沒了,或者是沒有滿足 if/else 條件。

Z

二、Python自帶周圍庫的一些方法

1、defaultdict類的初始化函式接受一個型別作為引數,當所訪問的鍵不存在的時候,可以例項化一個值作為預設值

from collections import defaultdict
#defaultdict類的初始化函式接受一個型別作為引數,當所訪問的鍵不存在的時候,可以例項化一個值作為預設值
ddict = defaultdict(list)
print(ddict)  #輸出型別是列表,defaultdict類就好像是一個dict,但是它是使用一個型別來初始化的

2、global全域性變數:python使用的變數預設一定是用區域性變數;如果想使用作用域之外的全域性變數,則需要加global宣告。不加global的時候,在函式內部是改不了外面的全域性變數的(list型別例外)。

a = 100 
print('Global_test_out: a = %d' % a)
def Global_test():
    global a  #此處宣告,告訴執行引擎:我要用全域性變數a,不要整成區域性的了!
    a = 2018
    print('Global_test_in: a = %d' % a)
Global_test()
print('Global_test: a = %d' % a)

(1)、網路上推崇的一種方法來使用全域性變數:使用單獨的global檔案

 #myglobal.py檔案中放置全域性變數
a = 2017
b = 2016
c = 2015


#global_test.py檔案中是測試程式碼,其中可以使用全域性變數
import myglobal
 
def global_test():
    myglobal.a = 2018
print('myglobal a = %d' % myglobal.a)
global_test()
print('after global_test, myglobal a = %d' % myglobal.a)