[Python]数据类型、常量、变量和运算符(未完待续)
標識符
一個ASCII標識符需要同時滿足以下三個條件:
1、第一個字符必須是字母表中的字母或者下劃線_
2、標識符的其他部分由字母、數字、下劃線組成
3、標識符對大小寫是敏感的,即A與a是不同的
一般來說ASCII標識符是用來給變量命名的。
?
Python保留字
Python保留字指的是Python中的關鍵字,意思是這些詞有特殊的意思和用途,不能拿來當做ASCII標識符,也就是說不能拿來作變量的名字。
在Python的標準庫中可以查詢到所有的關鍵字:
>>> import keyword >>> keyword.kwlist ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']?
數據類型
為了方便處理不同的數據(比如數字、文本、圖像等等),我們需要不同的數據類型。Python3中有六個標準的數據類型:
1、Number(數字)
2、String(字符串)
3、List(列表)
4、Tuple(元組)
5、Set(集合)
6、Dictionary(字典)
這六個標準的數據類型能夠直接被Python處理,它們可以分為兩大類:
1、不可變數據類型:Number(數字)、String(字符串)、Tuple(元組)
2、可變數據類型:List(列表)、Set(集合)、Dictionary(字典)
下面將具體介紹這六種標準數據類型,并說明什么叫做可變、不可變。
?
Number(數字)
數字,能想到就是我們熟悉的諸如2、3.1415926等數字。在Python3中,Number(數字)這個標準數據類型又被分為四種小類型:int、float、bool、complex。
int(整型)
指的是整數類型,比如2,100,-8等等。
由于計算機使用的是二進制,所以用十六進制表示整數是很常見的,在Python中十六進制用0x前綴和0-9以及a-f表示,比如0xff00。
float(浮點型)
指的是浮點數,也就是小數。
浮點數有兩種寫法,一是數學寫法,比如3.1415926,-95.488等等;二是科學計數法(廣義的),用e來代替10,比如1.23*10^9就可以寫作1.23e9或者12.3e8。對于很大和很小的浮點數必須使用科學計數法。
bool(布爾型)
布爾型只有兩個可能的取值,True和False。
布爾型數據之間的運算稱為邏輯運算,布爾型數據之間的運算符稱為邏輯運算符,一共有三種:and(與)、or(或)、not(非)。and(與)和or(或)是二元運算符,not(非)是一元運算符,真值表如下:
| and(與) | True | False |
| True | True | False |
| False | False | False |
| or(或) | True | False |
| True | True | True |
| False | True | False |
| not(非) | 運算結果 |
| True | False |
| False | True |
?
?
?
?
事實上,True的取值為1,False的取值為0,是可以與數字進行計算的。但布爾型的數據存在的主要價值并不是拿來做數字運算,而是做邏輯運算,所以通常情況下我們不會將布爾型與其他數字類型混在一起運算。
complex(復型)
指的是復數,在Python3中復數有兩種表示法,一是復數單位用j表示,形式是“a+bj”,比如1.5+6.8j;二是用complex(a,b)表示,比如complex(1.5,6.8)。
?
String(字符串)
Python中單引號與雙引號的被認為是等價的,即'zyy'與"zyy"是完全一樣的,都是字符串。需要注意的是,引號必須正確配對,單引號、雙引號不能混用。并且,要注意這里的引號都是英文字符。
一個字符串中的每個位置(或者說每個字符)可以由索引來訪問,索引值從0開始,格式為[索引值],比如
>>> str = 'The quick brown fox jumps over a lazy dog.' >>> str[0] 'T' >>> str[4] 'q' >>> str[29] 'r'要想訪問字符串中的一個子段,同樣由索引來訪問,格式為[起始索引值:終止索引值+1],注意這里的冒號是英文字符。比如:
>>> str = 'The quick brown fox jumps over a lazy dog.' >>> str[4:19] 'quick brown fox'索引值一般來說是從0到字符串的長度-1,但也可以用-1表示倒數第一位,用-2表示倒數第二位,以此類推。實際上這種訪問方式叫做切片,詳細請移步:(挖坑)
String(字符串)作為一個數據類型也是可以進行運算的。
字符串1+字符串2將得到一個新的字符串,是由之前的兩個字符串連接而成,比如
>>> 'zyy'+'是一只超級大沙茶' 'zyy是一只超級大沙茶'字符串*整數將得到一個新的字符串,是之前的字符串復制這個整數次后連接而成,比如
>>> '哈'*13 '哈哈哈哈哈哈哈哈哈哈哈哈哈'字符串還有一個問題是字符串的格式化。我們經常會需要輸出某個具有固定格式的字符串,比如'尊敬的旅客您好!我們抱歉地通知,由于惡劣天氣原因,您所乘坐的xxxxx航班已取消。請您盡快到xxx柜臺辦理改簽或退票手續。'這里的xx處的內容都是變化的,而其余的都是固定的,于是我們希望使用一種簡便的方法來使得每次都只需要考慮變化的部分。這就是字符串的格式化。
為了實現字符串的格式化,一共有兩種方法。一種是利用占位符,另一種是利用字符串的format()函數。
對于第一種方法,需要先了解一下占位符。常見的占位符如下:
| 占位符 | 替換內容 |
| %d | 整數 |
| %f | 浮點數 |
| %s | 字符串 |
| %x | 十六進制整數 |
在格式化的字符串中需要替換的位置使用占位符,在后面依次填上替換的內容即可。格式為:格式化字符串 % 替換的內容。比如:
>>> 'My name is %s' % 'zyy' 'My name is zyy' >>> 'the price of %s is $%f' % ('shirt', 49.9) 'the price of shirt is $49.900000'對于數字的占位符來說,還有控制長度和補0的用法,比如:
>>> print('%2d - %02d' % (3, 1))3 - 01 >>> print('%.2f' % 3.1415926) 3.14還有更多的一些用法可以百度,一般記住這幾個常用的就足夠了。
另一種格式化字符串的方法需要用到字符串的format()函數,在格式化的字符串中需要替換的位置使用{n}或{n:格式控制}來占位,其中n從0開始編號,在format()函數中傳入需要替換的內容。格式為:格式化字符串.format(替換的內容)。比如:
>>> 'My name is {0}'.format('zyy') 'My name is zyy' >>> 'the price of {0} is ${1:.2f}'.format('shirt', 49.9) 'the price of shirt is $49.90'?
List(列表)
List(列表)是一堆數據按順序放在一起構成的一個數據類型,將數據用一對[]括起來,數據之間用逗號隔開。
列表的訪問方式與字符串相似,使用索引。比如:
?
>>> L = ['Alice', 'Bob', 9.15, True] >>> L[0] 'Alice' >>> L[2] 9.15 >>> L[1:] ['Bob', 9.15, True]?
注意,列表中的某個或某幾個數據也可以是列表,而當列表中有數據是列表時,可以使用多重索引的方式訪問元素,比如:
>>> L = [1, [2, 3]] >>> L[0] 1 >>> L[1] [2, 3] >>> L[1][0] 2與字符串相似,列表也有+和*運算,比如:
>>> L1 = ['Alice', 'Bob', 9.15, True] >>> L2 = [-8, 'zyy', 6] >>> L1 + L2 ['Alice', 'Bob', 9.15, True, -8, 'zyy', 6] >>> L1 * 3 ['Alice', 'Bob', 9.15, True, 'Alice', 'Bob', 9.15, True, 'Alice', 'Bob', 9.15, True]與字符串不同的是,字符串是不能被改變的,而列表可以添加數據、刪除數據、更改數據。格式如下:
| 代碼 | 含義 |
| L[i] = x | 將列表L中索引位置為i處的數據替換為x |
| L.append(x) | 在列表末尾添加數據x |
| L.insert(i, x) | 在列表的索引位置為i處添加數據x |
| L.pop() | 刪除列表L末尾的數據,并打印 |
| L.pop(i) | 刪除列表L的索引位置為i處的數據 |
下面給出幾個實例:
>>> L = ['Alice', 'Bob', 9.15, True]>>> L[0] = 'zyy'#將索引位置為0處的數據替換為'zyy' >>> L ['zyy', 'Bob', 9.15, True]>>> L.append(9)#在列表末尾添加數據9 >>> L ['zyy', 'Bob', 9.15, True, 9]>>> L.insert(1, False)#在列表的索引位置為1處添加數據False >>> L ['zyy', False, 'Bob', 9.15, True, 9]>>> L.pop()#刪除列表末尾的數據,并打印 9 >>> L ['zyy', False, 'Bob', 9.15, True]>>> L.pop(2)#刪除列表的索引位置為2處的數據,并打印 'Bob' >>> L ['zyy', False, 9.15, True]Tuple(元組)
Set(集合)
Dictionary(字典)
?
?
?
?
參考:Python教程-廖雪峰、Python3教程-菜鳥教程
轉載于:https://www.cnblogs.com/CQBZOIer-zyy/p/9400432.html
總結
以上是生活随笔為你收集整理的[Python]数据类型、常量、变量和运算符(未完待续)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: React 的 PureComponen
- 下一篇: Flutter实现动画卡片式Tab导航