利用Python自動化開發-變數、資料類型和運算方法介紹

來源:互聯網
上載者:User
一、變數

變數定義:Variables are used to store infomation to referrenced and manipulated in a computer program.

用於儲存程式啟動並執行中間運算結果

  • 標識

  • 儲存

變數在程式中用一個變數名表示

  • 變數名必須是大小寫英文、數字和_的組合,且不能用數字開頭

  • 對大小寫敏感

  • 推薦小駝峰命名法,如myFirstName, myLastName

  • 關鍵字不能聲明為變數

在Python中,等號 = 是指派陳述式,可以把任意資料類型賦值給變數,同一個變數可以反覆賦值,而且可以是不同類型的變數

myFisrtName = "Jonathan"

myLastName = "Ni"

請不要把指派陳述式的等號等同於數學的等號。比如下面的代碼:

x = 8

x = x + 2

從數學上理解 x = x + 2 是不成立的。在程式中,指派陳述式先計算右側的運算式x + 2,得到結果10,再賦給變數x。

由於x之前的值是8,重新賦值後,x的值變成10。

理解變數在電腦記憶體中的表示非常重要,如以下聲明變數並賦值。

a = "ABC"

Python解譯器幹了兩件事情:

  1. 在記憶體中建立了一個"ABC"的字串;

  2. 在記憶體中建立了一個名為a的變數,並把它指向"ABC"。

常量就是不能變的量,通常用全部大寫的變數名表示。  

PI = 3.14159265359

總結:

在電腦內部,任何資料都看成一個“對象”,而變數就是在程式中用來指向這些資料對象的,對變數賦值就是把資料和變數給關聯起來。

二、資料類型

電腦就是可以做數學計算的機器。電腦程式理所當然要處理各種數值。除了數值,電腦還可以處理文本、圖形、音頻、視頻、網頁等

各種資料。不同的資料,需要定義不同的資料類型。

1、數字

整數:表示方法和數學上的寫法一樣,如1, -100, 0, 1000等。或16進位表示,0xffffff, 0xabcd等

浮點數:也就是小數,如0.99, -1.25, 88.88等。或者科學計數法表示1.23e8, 1.2e-8等

複數:由實數部分和虛數部分組成,一般形式為 x + yj,如(-5+4j)等

數字沒有大小限制,超出一定範圍就直接表示為inf(無限大)

2、字串

字串是以單引號'或雙引號"括起來的任意文本,比如'abc',"XYZ"等等。' 或 " 本身只是一種表示方式,不是字串的一部分,

例如 'abc'只有a,b,c 這3個字元。

如果 ' 本身也是一個字元,那就可以用 "" 括起來,比如 "I'm OK" 包含的字元是I, ', m, 空格, O, K這6個字元。

字串內部既包含 ' 又包含 " 可以用逸出字元 \ 來標識。如'I\'m \"OK\"!',表示I'm "OK"!

逸出字元可以轉義很多字元,比如\n表示換行,\t表示定位字元,\\表示字元\

如果字串內部有很多換行,可用'''.......'''的格式表示多行內容。

字串常用功能

  • string.strip([chars]) 方法用於移除字串頭尾指定的字元(預設為空白格)

" Jonathan ".strip() >>> "Jonathan"

";Jonathan;;".strip(";") >>> "Jonathan"

參數: chars -- 移除字串頭尾指定的字元

傳回值:返回移除字串頭尾指定的字元產生的新字串。原字串保持不變。

  • len(string)方法返回字串長度。

len("Jonathan") >>> 8


參數: str -- 字串

傳回值:字串長度

  • string.index(str, beg=0, end=len(str))方法檢測字串中是否包含子字串 str

"Jonathan".index("J") >>> 0

"Jonathan".index("J",1) >>> substring not found

"Jonathan".index("an") >>> 6

參數:

str -- 指定檢索的字串

beg -- 開始索引,預設為0

end -- 結束索引,預設為字串的長度

傳回值:如果包含子字串返回開始的索引值,否則拋出異常。

  • 訪問字串中的值

Python 不支援單字元類型,單字元也在Python也是作為一個字串使用。
訪問子字串,可以使用方括弧來截取字串

"Jonathan"[0] >>> "J" # 下標從0開始

"Jonathan"[0:3] >>> "Jon" # 顧頭不顧尾

"Jonathan"[-1] >>> "n" # 倒數第一個

"Jonathan"[-3:-1] >>>"ha" # 顧頭不顧尾

"Jonathan"[-3:0] >>> "" # 不存在從後往前截取情況

"Jonathan[-3:] >>> "han" # 解譯器識別為從倒數第三個一直到最後全部字元

"Jonathan"[] >>> invalid syntax # 解譯器區分不了到底時單個字元還是區間字元

"Jonathan"[:] >>> "Jonathan" # 解譯器識別為全部字元

"Jonathan"[0:len("Jonathan")] >>> "Jonathan"

"Jonathan"[-len("Jonathan"):] >>> "Jonathan"

"Jonathan"[::-2] >>> "Jnta" # 最後一位表示步長 2

  • 字串拼接

"Jon" + "nathan" >>> "Joanthan" # 遇 + ,解譯器需重新申請記憶體

  • 格式化輸出

name = "Jonathan"

print("My name is %s."%(name) >>> "My name is Jonathan."

3、布爾型

布爾值和布爾代數的表示完全一致,一個布爾值只有True,False兩種值(注意大小寫),布爾值可以用 and、or、not運算

and運算是與運算,只有所有都為True,and運算結果才是True

or運算是或運算,只要其中有一個為True,or運算結果就是True:

not運算是非運算,它是一個單目運算子,把True變成False,False變成True

布爾值經常用在條件判斷中

if age >= 18:

print("adult")

else:

print("teenager")

4、空值

空值是Python裡一個特殊的值,用None表示。None不能理解為0,因為0是有意義的,而None是一個特殊的空值。

5、列表

列表是Python中最常用的資料類型,通過列表可以對資料進行最方便的儲存修改等操作

定義列表 names = ["Jon", "Alex", "Tom", "Catherine"]

通過下標訪問列表中的元素,下標從0開始計數

names[0] >>> "Jon"

names[-1] >>> "Catherine"

對列表進行操作

names[0] = "Jonathan" # 修改元素

names.append("Jim") >>> ["Jonathan", "Alex", "Tom", "Catherine", "Jim"] # 在列表最後附件元素

names.insert(2, "Linda") >>> ["Jonathan", "Alex", "Linda", "Tom", "Catherine", "Jim"] # 在下標為2的地方插入元素,其他元素後移動

names.remove("Linda") >>> ["Jonathan", "Alex", "Tom", "Catherine", "Jim"] # 刪除第一個檢索到的元素

del names[4] >>> ["Jonathan", "Alex", "Tom", "Catherine"] # 按下標刪除元素

names.index("Alex") >>> 1 # 返回下標

names.sort() >>> ["Alex", "Catherine", "Jonathan", "Tom"] # 按照ASCII正序排列

names.reverse() >>> ["Tom", "Jonathan", "Catherine", "Alex"] # 元素反轉

names.count("Tom") >>> 1 # 返回出現次數

三、運算

1、算術運算

2、比較運算

3、賦值運算

4、邏輯運算

5、成員運算

6、身份運算

7、位元運算

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.