五、數值型別
1、整型
宣告:通過賦值來宣告;浮點型可以將0省略0.3=.3如下面**:
a = .3 //等效於a = 0.3
表示式:包括加+、減、乘*、除/;
顯示:浮點型的資料顯示,可以控制顯示的小數字數,如下面**:
a=0.3333
『'.format(a) 表示顯示時,只保留兩位小數,0時佔位符,對應後面的變數a,f表示以浮點數形式顯示。
傳統的將多個字串顯示時,會用到+,拼接字串,而使用format的形式顯示字串時,能更準確,防止混淆。
比較:數值型別物件的比較運算子包括:,小於,大於等於,<=小於等於,等於,!=不等於
>
大於<
小於》=
大於等於
<=
小於等於
==等於
!=不等於
除法:一般除法,使用/,//表示取整,當使用//時,同時存在兩種型別,結果顯示位兩種型別中精度高的型別。
a=10
a=2.0
取整:math模組中floor可以正向取整,在數軸上看會有限選擇左側第乙個整數,trunc是向零方向取整,標準庫中的round表示四捨五入。
import math
a=math.floor(3.14)
b-math.floor(-3.14)
c=math.floor(2.5)
d=math.floor(-2.5)
a=3,b=-4,c=3,d=-3
十六進製制、八進位制、二進位制:十六進製制的數值前有0x,8進製的數值前有0o,二進位制的數值前有0b,將有乙個數轉換成十六進製制hex(),將乙個數轉換成八進位制oct(),將乙個數轉換成二進位制bin()。
decimal:是單獨乙個模組,能顯示高精度小數
>1.1+2.2
>3.3000000003
>decimal.decimal(1.1)+decimal.decimal(2.2)
>3.3
布林型:
py中,布林型本質上是int
>>> isinstance(true,int)
true
2、字串
宣告:可以使用,單引號、雙引號、三引號來宣告字串變數,當字串內部有引號時,可以使用兩種字串區別顯示,也可以使用轉義字元,使用同一引號。
a="what『s your name"
a='what\'s your name'
轉義符:在字串前加r,可以消除字串的轉義,\a表示鍵盤響鈴,當在外層加r可以消除轉義。
基本操作:
len,基本庫函式,可以測量字串含有的字元個數,不好含結尾的\0。
+可以拼接兩個字串。
可以重複拼接同一字串,重複次數等於後的數字
可以使用s[n:m],來切割字串s,即取字串的第n個元素到第m-1個元素。
獲得字串的最後乙個字元有兩種方法,s[len(s)-1]或者s[-1]
取整個字串的副本,可以使用s[:],可以按照一定的步長取字串,如s[1:5:2],即每隔1個元素取字串中的乙個元素。步長可以取-1,即表示從右向左取。
系統函式ord(『x』),可以產看某個字元的anscii的值
l='codeclassroom.cn' //定義l位字串
>>> b=list(l) //將字串轉換成列表
>>> b
['c', 'o', 'd', 'e', 'c', 'l', 'a', 's', 's', 'r', 'o', 'o', 'm', '.', 'c', 'n']
>>> s=''.join(b) //將列表元素之間以空拼接起來
>>> s
'codeclassroom.cn'
>>> s='|'.join(b) //將列表元素用『|』拼接起來
>>> s
'c|o|d|e|c|l|a|s|s|r|o|o|m|.|c|n'
>>> url='codeclassroom.cn,uke.cc,youpinketang.com'
>>> url=url.split(',') //將字串以,為分隔符拆成各子字串
>>> url
['codeclassroom.cn', 'uke.cc', 'youpinketang.com']
>>> h.startswith('abc') //判斷字串是否以『abc』開頭
false
>>> h.endswith('llo') //判斷字串是否以『llo』結尾
true
>>> h.find('e') //查詢字串中『e』的位置
1>>> h.upper() //將字串大寫
'hello'
修改:字串不支援原位改變,但可以生成新字串。
>h='hello'
>h.replace('e','a')
>h
hello
>a=h.replace('e','a')
>a
hallo
3、列表
列表是任意物件的有序集合,通過索引的偏移,訪問元素;可變長度、屬於可變序列。
基本操作:
可以使用in來判斷某個元素是否在列表中
>>> l=['a',1,2,3,'c']
>>> 'c'in l
true
可以通過for迴圈來操作列表:
>>> for i in l:
print(i,end='|')
a|1|2|3|c|
其他基本操作,如下**:
>>> l=[1,3,5,7]
>>> res=
>>> for i in l:
>>> res
[1, 9, 25, 49]
//擴充套件列表
>>> res.extend([1,2,3])
>>> res
[1, 9, 25, 49, 1, 2, 3]
//排序
>>> res.sort()
>>> res
[1, 1, 2, 3, 9, 25, 49]
//反轉
>>> res.reverse()
>>> res
[49, 25, 9, 3, 2, 1, 1]
//彈出
>>> a=res.pop()
>>> a
1>>> res
[49, 25, 9, 3, 2, 1]
//基本庫函式del,可以直接刪除列表某個元素
>>> del res[0]
>>> res
[25, 9, 3, 2, 1]
//計數
>>> res.count(1)
1//檢索某一項
>>> res.index(2)
3//列表推導式
>>> li=[i**2 for i in l] //表明了生成結果的型別
>>> li
[1, 9, 25, 49]
//改變列表內容
>>> li[1:2]=[2,5]
>>> li
[1, 2, 5, 25, 49]
>>> li*3
[1, 2, 5, 25, 49, 1, 2, 5, 25, 49, 1, 2, 5, 25, 49]
列表是原位可變型別,因此列表的方法都是在原有的內容上直接修改。
當兩個變數指向同乙個列表時,當列表內容改變時,兩個變數的內容同時改變,有時不想要這種效果,因此會使用深複製,複製原列表的乙個副本,可以採用[:],或者.copy的方法進行複製。
>>> a=[1,2,3,4,5]
>>> b=a
>>> a[0]=100
>>> a
[100, 2, 3, 4, 5]
>>> b
[100, 2, 3, 4, 5]
>>> b=a[:] //b=a.copy()
>>> a[0]=99
>>> a
[99, 2, 3, 4, 5]
>>> b
[100, 2, 3, 4, 5]
Python 機器學習基礎
pandas matplotlib reference numpy 的資料結構 numpy的基本操作 當進行 和 等邏輯判斷時,numpy會對array中所有元素進行判斷。import numpy vector numpy.array 5,10,6,7 vector 10 output array ...
python基礎(機器學習)
高階函式 import time def deco func starttime time.time func endtime time.time msecs endtime starttime 100 print time is d ms msecs def func print hello ti...
python機器學習基礎
可定義為 機器學習是從資料中自動分析獲得的模型,並利用模型對未知資料進行 可分為 監督學習 主要特點是要在訓練模型時提供給學習系統訓練樣本以及樣本隊員的類別標籤,因此又稱為有導師學習。例 學生從老師那裡獲取知識,資訊,老師提供對錯知識 告知最終答案的學習過程。典型的監督學習方法 決策樹,支援向量機 ...