JavaScript物件建立模式與繼承
Python 是一種面向物件的解釋型計算機程式設計語言
什麼是Python的執行環境
- Python需要Python直譯器(軟體)
- PHP需要PHP超文字預編譯器(軟體)
- Java需要JVM虛擬機器
輸入&輸出
#接收輸入資訊 username = input("請輸入使用者名稱") password = input(“請輸入密碼”) #列印 print(username) print(password)
#print特殊用法
1.一次性可以列印多個數據print("xiaosan","美麗","想要")
2.每次print結束自動換行
3.如果想讓print()不換行,應該print(資料,end="")
變數
type(變數):獲取變數的資料型別
id(變數):獲取變數的地址值
身份運算子
is 概念:判斷變數的地址是否相同(如果地址相同內容肯定相同)
語法:a,b兩個變數,判斷地址是否相同,返回bool值(True,False)
is: a is b == True,地址值一樣
is not: a is not b == True,地址值不一樣
is:判斷變數的地址是否相同
簡單資料型別值相同,變數地址就相同,如整型,字元型
複雜資料型別值相同,變數地址不相同,如列表
==:判斷值是否相同
六大資料型別
數字、字串、列表、字典、元組、集合
python file write之後無法read的原因和處理辦法
方法一:
with open('lei.txt','a+') as file_obj:
file_obj.write("234")
with open('lei.txt', 'r') as file_obj1:
content = file_obj1.read()
print(content)
方法二:
with open('lei.txt','a+') as file_obj:
file_obj.write("234")
file_obj.seek(0)
content = file_obj.read()
print(content)
'r'->只讀
'w'->只寫,檔案已存在則清空,不存在則建立。
'a'->追加,寫到檔案末尾
'b'->二進位制模式,比如開啟影象、音訊、word檔案。
'+'->更新(可讀可寫)
一些人可能會有迷惑,既然帶'+'號是可讀可寫,那'w+'跟'r+'有什麼不同。
那就是,
'w+'會清空,會建立 (檔案已存在則清空,不存在則建立。)
'r+'不清空,不建立
"a+":追加讀寫。與"a"模式類似,但可以讀。
pickle模組/json模組
https://www.cnblogs.com/yyds/p/6563608.html
將物件轉換為可通過網路傳輸或可以儲存到本地磁碟的資料格式(如:XML、JSON或特定格式的位元組串)的過程稱為序列化;反之,則稱為反序列化。
dumps就是序列化:將Python物件轉換成json字串/
dump就是序列化並儲存到一個檔案:將Python物件轉換成json字串並存儲到檔案中
loads就是反序列化:將json字串轉換成Python物件
load就是從一個檔案中取出來反序列化:讀取指定檔案中的json字串並轉換成Python物件
使用pickle很簡單,只需匯入所需的模組,然後使用dump()儲存資料,以後某個時間使用load()恢復資料。處理醃製資料的唯一要求是,必須以二進位制訪問模式開啟這些檔案:
import pickle with open("mydata.pickle","wb") as mysavedata: pickle.dump([1,2,"three"],mysavedata) ... with open("mydata.pickle","rb") as myrestoredata: a_list=pickle.load(myrestoredata) print(a_list) import pickle data={'k1':123,'k2':’Hello’} #pickle.dumps 將資料通過特殊的形式轉換為只有python語言認識的字串 p_str=pickle.dumps(data) print(p_str) #pickle.dump將資料通過特殊的形式轉換為只有python語言認識的字串,並寫入檔案 with open('D:/result.pk','w') as fp: pickle.dump(data,fp)
Json模組也提供了四個功能:dumps、dump、loads、load,用法跟pickle一致
JSON:
優點:跨語言(不同語言間的資料傳遞可用json交接)、體積小
缺點:只能支援int\str\list\tuple\dict
Pickle:
優點:專為python設計,支援python所有的資料型別
缺點:只能在python中使用,儲存資料佔空間大
類的繼承概念
“__init__”這個建構函式,具有初始化的作用,也就是當該類被例項化的時候就會執行該函式。那麼我們就可以把要先初始化的屬性放到這個函式裡面。
“__del__”就是一個析構函數了,當使用del 刪除物件時,會呼叫他本身的解構函式,另外當物件在某個作用域中呼叫完畢,在跳出其作用域的同時解構函式也會被呼叫一次,這樣可以用來釋放記憶體空間。
python對資料排序有兩種方式
原地排序 sort()
複製排序 sorted()
>>>data=[6,3,1,2,4,5]
>>>data.sort()
>>>data
[1,2,3,4,5,6]
>>>data=[6,3,1,2,4,5]
>>>data2=sorted(data)
>>>data
[6,3,1,2,4,5]
>>>data2
[1,2,3,4,5,6]
預設地,sort()方法和sorted()BIF都會按升序對資料排序。要以降序對資料排序,需要向sort()或者sorted()傳入引數
reverse=True,python會負責具體處理。
正則表示式的元字元有. ^ $ * ? { [ ] | ( )
.表示任意字元
[]用來匹配一個指定的字元類別,所謂的字元類別就是你想匹配的一個字符集,對於字符集中的字元可以理解成或的關係。
^ 如果放在字串的開頭,則表示取非的意思。[^5]表示除了5之外的其他字元。而如果^不在字串的開頭,則表示它本身。
具有重複功能的元字元:
* 對於前一個字元重複0到無窮次
+對於前一個字元重複1到無窮次
?對於前一個字元重複0到1次
{m,n} 對於前一個字元重複次數在為m到n次,其中,{0,} = *,{1,} = + , {0,1} = ?
{m} 對於前一個字元重複m次
\d 匹配任何十進位制數;它相當於類 [0-9]。
\D 匹配任何非數字字元;它相當於類 [^0-9]。
\s 匹配任何空白字元;它相當於類 [ fv]。
\S 匹配任何非空白字元;它相當於類 [^ fv]。
\w 匹配任何字母數字字元;它相當於類 [a-zA-Z0-9_]。
\W 匹配任何非字母數字字元;它相當於類 [^a-zA-Z0-9_]。