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注释
#表示注释