python自學日記 第二課 變量及數(shù)據(jù)類型

上篇教程稍提了一下什么是變量,字面意思就是可以變的一個量,也就是說變量的值是可以變得

比如 name = “max” 指定義一個變量name,它的值是字符串max,當然這個時候你print的時候,就會輸出max,可如果不print,直接重新給name 賦值

name = “something”這個時候,沒有重新生成一個變量,而是把something 賦值給name。


image.png

如上圖,我們連續(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( ) 會怎么樣


image.png

可以看最下面一行,can only concatenate str (not “int ”) to str
懂英語的話,就很簡單了,只能將str(字符串)跟字符串聯(lián)接起來,而不是”int” int 指的是整數(shù)integer。 這里age = 18 的時候age 是一個int,因為沒有用“”引起來所以age 此時是一個int


image.png

可以用type( )這個方法(一般字母帶()的都是方法),type() 可以返回里面元素的類型,上圖可以看出,age 是一個int 整數(shù)(integer),而first_name 則是一個str 字符串(string)
str( )這個方法的作用就是把里面的元素轉(zhuǎn)變成一個字符串的形式,會經(jīng)常用到,也不難理解
string有很多內(nèi)置的方法,你可以創(chuàng)建一個str= “max”,然后打出str. 摁下tab鍵,就會看到所有可用的方法
image.png

可以自己實驗一下具體的效果,如下圖,capitalize就是首字母大寫,而title是將每一個單詞的首字母大寫,看方法名也可以猜到它的作用,例如upper就是所有字母大寫uppercase,方法前面帶is的一般是判斷,是不是,返回True或者False


image.png

注 1.使用方法后的數(shù)據(jù)需要重新賦值給變量,不然不會改變的
str = str.title() 這樣才會改變

  1. 如果想在字符串里加符號,最好使用在符號前使用
    str = “call me \”max\””
    這樣才會輸出call me “max”
    如果是str = “call me “max””會報錯,因為它不知道””哪里結(jié)束
    \ 叫做轉(zhuǎn)義符

  2. 數(shù)字類:
    int, integer 的簡寫,指整數(shù)
    float 浮點數(shù),也就是帶小數(shù)的
    long 就是比int的值大,python3已經(jīng)刪除,因為int已經(jīng)不限制了。

運算符號 + - * /
更高級的數(shù)學用法,可以import math,導(dǎo)入math拓展包
比如
import math
math.pow(2,3)就是算2的三次方,同樣可以用math.的方式看math的方法
當然也可以用2**3,表示2的三次方,不過math包支持更多的運算,早點熟悉較好


image.png

我們主要學就是int 跟 float, 這里需要注意的點就是float的精度問題
問一個問題0.1 + 0.2 = ?正常人都知道是0.3
可python不這樣想,或者說計算機不這樣想,在python里他的結(jié)果是
0.30000000000000004
這是因為在計算機里,是用二進制0,1來表示和儲存數(shù)據(jù)的,十進制0.1 在計算機里轉(zhuǎn)化成二進制是0.00011001100110011001100110011001100110011001100110011001100
無限循環(huán)的,這時就需要我們自己指定精度了,就是小數(shù)點后多少位是我們需要的


image.png

比如我們只需要小數(shù)點后一位,那就是round(0.1+0.2, 1)前面是要處理的數(shù)據(jù),逗號后面的1是精度,指我們只需要小數(shù)點后一位


image.png

10/3 是個無限循環(huán)小數(shù),自己數(shù)數(shù)兩次結(jié)果保留了多少小數(shù)點后的3.

代碼一定要自己敲一敲,試一試,才能發(fā)現(xiàn)問題,解決問題,熟悉操作

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容