剛開始學習一門程式語言,除了了解執行環境與語言型別之外,最基本還是從該語言的基本資料型別開始學起。
python六大常用資料型別:
int 整數
float 浮點數
str 字串
list 列表
tuple 元組
dict 字典
講解這些先說一下python中的變數與變數名。
變數其實本質上是乙個具有特殊格式的記憶體,變數名則是指向這個記憶體的別名。
python中的變數不需要宣告,所有的變數必須賦值了才能使用。
賦值的步驟:
a = 100
第一步:準備好值100
第二部:準備好變數名a
第三部:將值與名字進行關聯
一、整數
python將其他一些靜態語言中的int、long,也就是整型和長整型合併為了乙個。
python中的int是邊長的,也就是說可以儲存無限大的整數,但是這是不現實的,因為
沒有這麼多的記憶體夠分配。
整型不僅支援十進位制,還支援二進位制、八進位制、十六進製制。
可以通過下面的方式來互相轉換:
print(bin(20)) #轉換二進位制
print(oct(20)) #轉換八進位制
print(hex(20)) #轉換十六進製制
二、浮點型
浮點數也就是小數,如22.1,44.2,也可以使用科學計數法,比如:1.22e8。
python支援對整數和浮點數直接進行四則混合運算。
整數運算結果仍然是整數,浮點數運算結果仍然是浮點數,但整數和浮點數混合運算的結果就變成浮點數了。
a = 1
b = 1.1
print(type(a+b)) #
三、字串
字串在任何程式語言中都是最常用的資料型別。
字串的建立很簡單,也是上面所說的三步,但是要加上單引號或者雙引號。
a = "hello python"
也可以使用 """ 建立多行字串:
a = """
hello
python
"""
字串可以通過下面方式進行擷取或者連線:
print (str[0:4]) 輸出第乙個到倒數第四個的所有字元
print (str[0]) 輸出單字元 第1個字元
print (str[3:]) 輸出從第四個開始之後的所有字元
print (str * 2) 輸出字串兩次
print (str + "bbbb") 連線字串
字串常用函式:
str.strip() 消除字串s左右兩邊的空白字元(包括't','n','r','')
len(str) 獲取字串長度
str.upper() 轉換為大寫
str.lower() 轉換為小寫
str.title() 每個單詞首字母大寫
str.capitalize() 首字母大寫
字串翻**
a = 'abcde'
print(a[::-1])
字串分割:
a = 'hello,python'
print(a.split(',')) #['hello', 'python'] 返回乙個列表
相對應的還有乙個將列表元素連線成字串:
a = ['hello', 'python']
str = '-'
print(str.join(a)) # hello-python
四、列表
列表的寫法是乙個方括號內的值用逗號分隔。比如上面的['hello', 'python']。
列表的資料項不需要具有相同的型別,列表中的每個元素都分配乙個數字索引,第乙個索引是0,第二個索引是1,依此類推。
訪問列表中的值可以通過下面的方式:
list1 = [1, 2, 3, 4, 5, 6]
print(list1[2])
print ("list1[2:5]: ", list1[2:5])
a = ['a', 'b', 'c']
print(a) # ['a', 'b', 'c', ['d', 'e']]
b = ['a', 'b', 'c']
b.extend(['d', 'e'])
print(b) # ['a', 'b', 'c', 'd', 'e']
五、元組
元組的建立也很簡單,和list類似,只是把''換成了'()'。
tup1 = ('hello', 'python')
元組中只有乙個元素的時候要注意:
tup2 = (10)
tup3 = ('a')
print(type(tup2)) #print(type(tup3)) #
因為這樣會被直譯器當做運算子,所以正確的方法是在第乙個元素後面新增逗號。
tup4 = ('a',)
print(type(tup4)) #
元組同樣可以使用下標索引來訪問元組中的值:
tup5 = ('hello', 'python', 'hello', 'word')
print(tup5[1]) #python
print(tup5[1:3]) #('python', 'hello')
注意:
元組是不可以被修改的。
tup6 = ('hello', 'python', 'hello', 'word')
tup6[2] = 'aaa'
上面會出現乙個異常: typeerror: 'tuple' object does not support item assignment
但是元組中如果包含了乙個列表,那麼這個列表是可以被修改的。
tup7 = ('hello', 'python', 'hello', 'word', ['aa', 'bb', 'cc'])
tup7[-1][1] = 'ddd'
print(tup7) # ('hello', 'python', 'hello', 'word', ['aa', 'ddd', 'cc'])
元組運算子:
len(tup) 計算元素個數
tup1 + tup2 連線生成新元組
tup * 4 元組複製
num in tup 元素是否存在,返回true/false
六、字典
python中的字典就是key,value的形式。使用大括號包含起來。字典中的成員的鍵是唯一的,如果出現多個同名的鍵,那麼寫在後面覆蓋前面的值。
形式如下:
dict1 =
字典的常用操作最基本的也就是增刪改查:
獲取:直接通過鍵來獲取。
dict['b'] # 2
dict.keys() 獲取字典中所有的鍵
dict.values()獲取字典中的所有的值
增加:
dict1['c'] = 3 # #如果鍵存在則更新對應的值
修改:
直接給鍵進行再次賦值就可以修改鍵對應的值了。
如果鍵不存在,則變成新增成員。
還可以通過:
dict1.update()
dict1.setdefault("a", "222") # 已存在的鍵則修改無效
dict1.setdefault("d","222") # 不存在的話則建立
dict1.setdefault("e") # 沒有設定值為none
刪除:
使用pop刪除指定鍵對應的成員,同時返回該值
print(dict1) #
print(dict1.pop("a")) # a
print(dict1) #
#在不設定預設值的情況下,使用pop刪除不存在的鍵,會報錯。
print(dict1.pop("f")) # 報錯 keyerror: 'f'
如果設定了預設值, print(dict1.pop("f", none)),則不會報錯,返回這個預設值。
判斷是否刪除成功可以通過下面方式來判斷:
if dict1.pop("f", none) == none:
print('鍵不存在')
else:
print('刪除成功')
以上則是python中最基本的資料型別以及用法,當然還有其他的資料型別,作者暫時只列舉了這些。 機器學習常用六大演算法
機器學習是人工智慧行業的乙個創新且重要的領域。我們為機器學習程式選擇的演算法型別,取決於我們想要實現的目標。現在,機器學習有很多演算法。可能對於初學者來說,這是相當不堪重負的。此前,educative.io 聯合創始人法希姆烏爾哈克 fahim ul haq 發文簡要介紹了幾種流行的機器學習演算法,...
Python六大設計原則
定義 顧名思義,單一職責的原則是說乙個類直負責一項職責 操作 如果乙個類負責多個職責,其中一項職責發生變化就需要修改整個類,這可能會導致其他的職責執行錯誤。乙個類,只應該有乙個引起它變化的原因。其優點有 定義 黎克特制替換的意思是說所有引用基類的地方必須能透明地使用其子類的物件。這種情況在 中隨處可...
六大設計原則之SRP
簡介 單一職責原則 single responsibility principle 簡稱srp。定義 有且僅有乙個原因引起介面或類的變更。舉例 通話的過程將會伴隨四個過程 撥號,通話,掛機。對應的 模擬過程如下 public inte ce iphone但是這個介面是有問題的,因為它沒有實現srp原...