01.基本數據類型
1.1 數字型
數字類型包含int、float、decimal、fraction等,同時還支持複數運算,直接以j或J定義虛部即可
>>> 3+2
5
>>> 8-6
2
>>> 16-3
13
>>> 16-3*2
10
>>> (17-2)/5
3.0
>>> 8/5
1.6
>>> 7/3
2.3333333333333335
>>> 7//3
2
>>> 7%3
1
>>> 5**2
25
>>> 2**7
128
>>> width=100
>>> height=3*7
>>> width*height
2100
#複數的運算
>>> a=1+3J
>>> b=2+5J
>>> a+b
(3+8j)
1.2字符串類型
①字符串類型以’‘或“”括起來,同時“\”表示轉義字符
>>> "how are you"
'how are you'
>>> "I\'m fine"#反斜槓表示轉義字符
"I'm fine"
②字符的運算:*表示重複多少次,+來連接兩個字符串;
兩文字之間可以自動相連“”“”,但是涉及變量計算必須帶“+”號(建議全部帶“+”)
#*表示重複,+表示相連
>>> 3*'am'+'fine'
'amamamfine'
>>> 'Py''thon'#自動相連
'Python'
>>> prefix='Py'
>>> prefix'thon'#涉及變量無法自動相連
File "<stdin>", line 1
prefix'thon'
SyntaxError: invalid syntax
>>> prefix+'thon'
'Python
③字符的索引及切片
字符可以按數組形式【】索引,切片用【起始索引:結束索引】(切片結果包含起始索引,不包含結束索引)
【】的索引不能超出索引範圍;
【:】切片可以超出索引範圍,起始和結束索引可以空缺默認爲開頭和結尾,索引值可以爲負數
#索引
>>> word='Python'
>>> word[0]
'P'
>>> word[5]
'n'
#索引值可爲複數,從右至左依次爲-1、-2、-3、、、、
>>> word[-1]
'n'
>>> word[-6]
'P'
>>> word[-0]
'P'
#切片
>>> word[0:2]
'Py'
>>> word[2:5]
'tho'
#切片可空缺,存在默認參數
>>> word[:2]
'Py'
>>> word[2:]
'thon'
>>> word[-1:]
'n'
>>> word[-6:]
'Python'
>>> word[:-1]
'Pytho'
>>> word[0:-5]
'P'
#索引不可超界限
>>> word[10]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>> word[-10]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>> word[1*3]
'h'
#切片可超界限
>>> word[4:100]
'on'
>>> word[100:]
''
④字符串的唯一性
字符串創建之後便不再改變,任意切邊只是生成新的字符串
>>> word[0]='J'#無法重新賦值
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
>>> new_word='J'+word[1:]
>>> new_word
'Jython'
⑤len()獲取字符串長度(列表長度也可以獲取)
>>> len('word')
4
>>> len(word)
6
>>> len('你好')#中文佔用一個字符位
2
1.3列表
列表的索引和切片操作同字符串操作,但是列表的成員可以被改變
>>> squares=[1,1,2,3,5,8]
>>> squares
[1, 1, 2, 3, 5, 8]
>>> squares[0]#列表的索引
1
>>> squares[5]
8
>>> squares[0:]#列表的切片
[1, 1, 2, 3, 5, 8]
>>> squares[:100]
[1, 1, 2, 3, 5, 8]
>>> squares[100:]
[]
>>> b=squares[:]#利用切片複製列表
>>> b[0]=3
>>> b
[3, 1, 2, 3, 5, 8]#列表元素可被重寫
1.4布爾類型
True和False(注意:大小寫必須一致)
02.基本運算符
2.1算術運算符
操作符 | 含義 |
---|---|
+ | 數字相加或字符相連 |
- | 數字相減 |
* | 數字相乘或字符重複 |
/ | 數字相除(結果爲浮點數) |
% | 相除取餘 |
** | 次方 |
// | 相除取整 |
2.2比較運算符
操作符 | 含義 | 備註 |
---|---|---|
== | 比較是否相等,返回布爾值 | ==判斷的是值是否相等,is判斷地址是否相等 |
!= | 比較值是否不等 | |
> | 大於判斷 | |
< | 小於判斷 | |
>= | 大於等於 | |
<= | 小於等於 |
2.3複製運算符
操作符 | 含義 | 備註 |
---|---|---|
= | 賦值語句 | |
+=b | a=a+b | 沒有a++ |
-=b | a=a-b | |
*=b | a=a*b | |
/=b | a=a/b | |
%=b | a=a%b | |
**=b | a=a**b | |
//=b | a=a//b |
2.4位運算符
操作符 | 含義 | 備註 |
---|---|---|
& | 與關係 | |
| 或關係 | ||
~ | 取反關係 | 結果相當於-a-1 |
^ | 異或關係 對應位置相同則爲0,否者爲1 | |
<<b | 將左側操作數向左移b位 | 4=0100 4<<2 結果爲10000 爲16 |
>>b | 將左側操作數向右移b位 | 與上述操作相反 |
2.5邏輯運算符
操作符 | 含義 | 備註 |
---|---|---|
and | 與 | |
or | 或 | |
not | 非 |
2.6關鍵字
操作符 | 含義 | 備註 |
---|---|---|
in | 判斷字符串或列表中是否包含元素 | |
is | 判斷地址是否相等 | 注意與==的區別 |
#in關鍵字判斷包含關係(字符串和列表)
>>> squares
[1, 1, 2, 3, 5, 8]
>>> 5 in squares
True
>>> 6 in squares
False
>>> word
'Python'
>>> 'P' in word
True
>>> 'X' in word
False
>>>
>>>
#is關鍵字判斷地址關係(注意字符串的問題)
>>> a=20
>>> b=20
>>> a is b
True
>>> a="word"
>>> b='w'+a[1:]
>>> b
'word'
>>> a is b
False#值相等,但是地址不等,與字符串的特殊性有關
>>>
>>> a='word'
>>> b='word'
>>> a is b
True
>>> a==b
True
>>> c='w'+a[1:]
>>> a==c
True
2.7註釋
#表示註釋