上篇教程稍提了一下什么是變量,字面意思就是可以變的一個量,也就是說變量的值是可以變得
比如 name = “max” 指定義一個變量name,它的值是字符串max,當(dāng)然這個時候你print的時候父晶,就會輸出max曲梗,可如果不print回俐,直接重新給name 賦值
name = “something”這個時候,沒有重新生成一個變量稀并,而是把something 賦值給name仅颇。
如上圖,我們連續(xù)給name賦值兩次碘举,最后print的時候忘瓦,name的值就是最后一次賦值的結(jié)果。
變量不止可以是字符串,也可以是一個數(shù)字(int, long, float, complex)也可以是一個數(shù)組a = [1,2,3,4]
數(shù)據(jù)類型
1. String 字符串:
字符串是由多個字符組成的耕皮,一般用“ ”或‘ ’引號引起來境蜕,對于字符串,比較重要的是字符串的拼接
比如: 我們想輸出一個人的名和姓凌停,年齡和性別粱年,
first_name = “張”
last_name = “三”
age = 18
gender = “男”
我們想輸出型如 “姓張名三,今年18罚拟,性別男“
如果是一個人台诗,我們可以直接print(“姓張名三,今年18赐俗,性別男”)就行拉队,但是實際情況往往非常復(fù)雜,比如一個公司100個人阻逮,就要寫100條print嗎粱快,一萬人呢,顯然不可能叔扼,我們只需寫成下面的形式就行了
print(“姓”+first_name + “名”+last_name + “事哭,今年”+str(age)+”性別”+gender)
這樣只需一條print即可,需要變得便只是我們之前定義的first_name, last_name, age, gender 這些變量的值即可瓜富,這些值可能保存在一個excel表格里慷蠕,也可能保存在一個數(shù)據(jù)庫里.
這里可以發(fā)現(xiàn),在age這里食呻,我加了一個str(),我們先看看不加str( ) 會怎么樣
可以看最下面一行流炕,can only concatenate str (not “int ”) to str
懂英語的話,就很簡單了仅胞,只能將str(字符串)跟字符串聯(lián)接起來每辟,而不是”int” int 指的是整數(shù)integer。 這里age = 18 的時候age 是一個int干旧,因為沒有用“”引起來所以age 此時是一個int
可以用type( )這個方法(一般字母帶()的都是方法)渠欺,type() 可以返回里面元素的類型,上圖可以看出椎眯,age 是一個int 整數(shù)(integer)挠将,而first_name 則是一個str 字符串(string)
str( )這個方法的作用就是把里面的元素轉(zhuǎn)變成一個字符串的形式,會經(jīng)常用到编整,也不難理解
string有很多內(nèi)置的方法舔稀,你可以創(chuàng)建一個str= “max”,然后打出str. 摁下tab鍵,就會看到所有可用的方法
可以自己實驗一下具體的效果掌测,如下圖内贮,capitalize就是首字母大寫,而title是將每一個單詞的首字母大寫,看方法名也可以猜到它的作用夜郁,例如upper就是所有字母大寫uppercase什燕,方法前面帶is的一般是判斷,是不是竞端,返回True或者False
注 1.使用方法后的數(shù)據(jù)需要重新賦值給變量屎即,不然不會改變的
str = str.title() 這樣才會改變
如果想在字符串里加符號,最好使用在符號前使用
str = “call me \”max\””
這樣才會輸出call me “max”
如果是str = “call me “max””會報錯事富,因為它不知道””哪里結(jié)束
\ 叫做轉(zhuǎn)義符數(shù)字類:
int, integer 的簡寫技俐,指整數(shù)
float 浮點數(shù),也就是帶小數(shù)的
long 就是比int的值大赵颅,python3已經(jīng)刪除虽另,因為int已經(jīng)不限制了暂刘。
運算符號 + - * /
更高級的數(shù)學(xué)用法饺谬,可以import math,導(dǎo)入math拓展包
比如
import math
math.pow(2,3)就是算2的三次方,同樣可以用math.的方式看math的方法
當(dāng)然也可以用2**3,表示2的三次方,不過math包支持更多的運算,早點熟悉較好
我們主要學(xué)就是int 跟 float, 這里需要注意的點就是float的精度問題
問一個問題0.1 + 0.2 = 谣拣?正常人都知道是0.3
可python不這樣想募寨,或者說計算機(jī)不這樣想,在python里他的結(jié)果是
0.30000000000000004
這是因為在計算機(jī)里森缠,是用二進(jìn)制0拔鹰,1來表示和儲存數(shù)據(jù)的,十進(jìn)制0.1 在計算機(jī)里轉(zhuǎn)化成二進(jìn)制是0.00011001100110011001100110011001100110011001100110011001100
無限循環(huán)的贵涵,這時就需要我們自己指定精度了列肢,就是小數(shù)點后多少位是我們需要的
比如我們只需要小數(shù)點后一位,那就是round(0.1+0.2, 1)前面是要處理的數(shù)據(jù)宾茂,逗號后面的1是精度瓷马,指我們只需要小數(shù)點后一位
10/3 是個無限循環(huán)小數(shù),自己數(shù)數(shù)兩次結(jié)果保留了多少小數(shù)點后的3.
代碼一定要自己敲一敲跨晴,試一試欧聘,才能發(fā)現(xiàn)問題,解決問題端盆,熟悉操作