寫在前面本來想分開寫的,但發(fā)現好像分不開,所幸內容也不多,廢話不多說,直接正文懟上來。Excel中有3種基本的數據類型:數值型、字符型和邏輯型,在python中也不例外,我們可以一一對應來看。 1.數值型先來想一下Excel中的數值類型的數據是什么樣的,數字、百分數、分數、小數、貨幣、科學計數、日期和時間這些單元格格式都是數值型的數據,只是展示的形式不一樣,并且他們都有一個共同的特點,在單元格的顯示中靠右對齊,這里劃重點,因為字符型數據是靠左對齊的,用來加以區(qū)分。 在python中,數值型用于存儲數字變量,比如整數和小數。 整型數值為整數的變量類型(int),用于存儲整數變量,如10,可以用Type()函數查看具體的數值類型,如type(20) 輸出int,就可以知道20是整型。 In [1]: # 整型 type(20)Out[1]:int浮點型數值為小數的變量類型(float),如3.5,輸出float,說明5.5是一個浮點型數據。 In [2]: # 浮點型 type(5.5)Out[2]:float數值型數據的計算整數和浮點數都可以進行算術運算和比較運算,在說運算前,要先來認識運算符。 In [3]:# 算術運算符 x = 5 y = 10 print("加:x+y=",x+y) print("減:x-y=",x-y) print("乘:x*y=",x*y) print("除:x/y=",x/y) print("取余:x%y=",x%y) print("取整:x//y=",x//y) print("x的y次冪:x**y=",x**y)Out[3]:加:x+y= 15 減:x-y= -5 乘:x*y= 50 除:x/y= 0.5 取余:x%y= 5 取整:x//y= 0 x的y次冪:x**y= 9765625對比Excel:和Excel對比起來其實都差不多,需要注意一點的是取余相當于Excel里的mod函數,取整可以用Excel里的int函數。 || 這里還要說一個小坑,可樂以前電腦上裝的是python2.7,在做除法(/)計算的時候,得到的結果只能取整,得不到后面小數的部分,現在都是python3.X的版本沒有這種問題,但假如你和可樂一樣恰好是以前裝的2.7版本,要怎么解決這個問題呢?答案也很簡單,做一個類型轉換,將除數或者被除數轉換成浮點型即可,所以說,還是用最新版本的吧,沒毛病。 # python 2.7In [4]:2/5Out[4]:0---------------------# 解決方法In [5]:float(2)/5Out[5]:0.25? 比較運算符 In[6]: # 關系運算符 x = 5 y = 10 print("大于:x>y = ",x>y) print("小于:x<y = ",x<y) print("等于:x==y = ",x==y) print("大于等于:x>=y = ",x>=y) print("小于等于:x<=y = ",x<=y) print("不等于:x!=y = ",x!=y) Out[6]:大于:x>y = False 小于:x<y = True 等于:x==y = False 大于等于:x>=y = False 小于等于:x<=y = True 不等于:x!=y = True對比Excel:不等于在python中是!=表示,在excel中是<>表示。 2.字符型字符型的數據在Excel中就是文本格式的數據,不能進行加減乘除這樣的四則運算,前面說過它是靠左對齊。 Python中字符類型的變量用于存儲字符串,也就是一系列字符,python中用單引號、雙引號或三引號括起來的內容表示字符串。 In [7]:# 字符串 type("student")Out[7]:str 字符串的運算字符串雖然不能進行加減乘除這樣的四則運算,但可以做其他的一系列的運算,如: + 號可以將兩個或多個字符串連接起來 In [8]:# 字符串連接 "data"+"cola"Out[8]:'datacola'? 復制 In [9]:# 字符串復制 "data_cola"*2Out[9]:'data_coladata_cola'? 刪除 In [10]:# 字符串刪除 "Ddata_cola".strip("D") #刪除D字符Out[10]:'data_cola'也可以刪除末尾的空格: In [11]:# 刪除空格 "data_cola ".strip()Out[11]:'data_cola'? 查找 In [12]:# 字符串查找 "a" in "data_cola"Out[12]:True除了in,還可以用find()函數來查找,與in不同的是,查找的結果是字符在字符串中的位置,如下第一個出現的a在data_cola中是第二個位置,因此輸出1,這個后面馬上寫到。 In [13]:# 字符串查找 "data_cola".find("a")Out[13]:1? 字符串索引 In [14]:# 字符串索引:獲取第一個字符的值 a = "python" a[0] Out[14]:'p'In [15]:# 字符串索引:獲取最后一個字符的值 a[-1]Out[15]:n【切片】是python中常用的操作,對字符串切片用來獲取字符串的一部分字符,下面的[0:2]指的是獲取第1到3位的值,不包括第三位 In [16]:# 獲取1-3位的值,不包括第三位(左閉右開) a[0:2]Out[16]:'py'[:4],指取第一位到第5位之間的值,不包括第五位 In [17]:a[:4]Out[17]:'pyth'[3:],指取第4位開始到最后的值 In [18]:a[3:]Out[18]:'hon'? 可選地,還有大小寫轉換 In [19]:# 首字母大寫 "data_cola".title(Out[19]:'Data_cola'所有字母大寫,upper()函數 In [20]:# 所有字母大寫 "data_cola".upper()Out[20]:'DATA_COLA'所有字母小寫,lower()函數 In [21]:# 所有字母小寫 "DATA_COLA".lower()Out[21]:'data_cola'3.邏輯型邏輯型數據實際上就是TRUE / FALSE這兩種值,在Excel中E1單元格輸入公式“=3>5”,會顯示FALSE,這很容易理解,因為3>5在邏輯上是假的。 在Excel里直接這樣用很少,通常是和if函數結合起來進行邏輯判斷,再對結果進行展示。 Python中,也是這樣顯示的。 IN [22]:1>2Out[22]:False邏輯值的運算邏輯值可以用邏輯運算符進行運算。 In [23]:# 邏輯運算符 x = 5 y = 10 print("and: x and y:",x and y) print("or: x or y:",x or y) print("not: not x:",not x)Out[23]:and: x and y: 10 or: x or y: 5 not: not x: False4.類型轉換這里主要是數字和字符串之間的轉化 Int(a),把變量a轉化成整型 In [24]:# 浮點型轉整型 int(3.3)Out[24]:3Str(b),把變量b轉換成字符型 In [25]:# 整型轉字符型 type(str(13555556555))Out[25]:str以上是3種基本的運算符,專講python的教程里還會有位運算符、賦值運算符、成員運算符等,我們這個筆記里就不說了先,后續(xù)用到再補充。 寫在后面工作的時間越長,越發(fā)現自己在做一些機械性、重復性的東西,這樣對自己的成長其實是沒有幫助的,學python可能不是你工作必需,但絕對能提升你的工作效率,多學一點總是好的,并且很多東西你現在學了不知道有什么用,說不定以后哪天就用上了呢? 越學python吧,越發(fā)現一個道理,最能提高你學習效率的,其實是剛需。你學一個東西要是沒有剛需,你其實是不會特別在乎它的,別人2個月入門,你可能要搞一年,這個我太有體會了,之前python于我就不是剛需,有它是錦上添花,無它無非我多花1、2個小時,但每天重復工作2個小時,一個月就是60個小時,有這個時間,我python早就學會了好嗎。 于是我重新開始審視自己,找到自己學python的剛需,希望大家也能找到,動起來吧! |
|
|