数据类型
Number : 数字
int = 整数
float = 浮点数
--- 其他语言:单精度(float),双精度(double)
--- int 与 int 的加减乘得到的是 int ,int 与 float 的加减乘得到的是 float
--- int 相除(/)得到的数据类型是 float ,如果需要得到 int 使用(//)相除
bool : 布尔,表示真和假
True = 真 >> 非数字 0 >> 字符串 >> 列表
False = 假 >> 数字 0 >> 空字符 >> 空列表 >> None
--- 首字母需要大写
complex : 复数 = *j
>> 36j
str : 字符串 (单引号,双引号,三引号)
'Hello world'
"Hello world"
'1'
"Let's go"
'Let"s go'
'Let\' go'
>>> Let' go
--- 引号表示字符串时,成对出现
--- \ 为转义字符,转义为原始字符
'''
Hello world
Hello world
'''
"""
Hello world
Hello world
"""
>>> Helllo world\nHello world
--- 三引号可以用与换行
--- \n 回车转义字符
'Hello\
world'
>>> 'Hello world'
--- 单引号加 \ 也能实现 IDLE 换行
1. 转义字符 (特殊的字符)
\n = 换行
\r = 回车
\' = 单引号
\t = 横向制表符
\* = 转义为原始字符
r字符串 = 转义为原始字符串
--- 当一个字符串前面加入 r ,字符串将转义为原始字符串
2. 字符串运算
\+ = 拼接
'hello' + 'world'
>>> helloworld
\* = 出现次数相乘
'hello' * 2
>>> hellohello
[*] = 获取字符串内字符
'hello world'[1] >>> e
'hello world'[-1] >>> d
'hello world'[5] >>> 空格(空格也是一个字符)
'hello world'[0:4] >>> hell
'hello world'[0:5] >>> hello
'hello world'[0:-1] >>> hello worl
'hello world'[6:] >>> world
'hello world'[:-6] >>> hello
'hello world'[-5:] >>> world
--- : 取第几个到第几个
--- []内正数为正向取数,从0开始计数。[]内为负数为反向取数,从1开始计数
进制表示和转换
0b = 二进制 >>> 0b10
0o = 八进制 >>> 0o11
0x = 十六进制 >>> 0x1F
1. 任意进制转换为二进制 = bin(*)
bin(10) >>> 0b1010
bin(0o7) >>> 0b111
bin(0xE) >>> 0b1110
2. 任意进制转换为十进制 = int(*)
3. 任意进制转换为十六进制 = hex(*)
4. 任意进制转换为八进制 = oct(*)
序列的概念和定义
列表定义及操作 (list)
1. 定义列表
[1,2,3,4,5,6]
[1,2,'a','b',True,False]
[1,2,['abc','efg'],'a',[True,False]] = 嵌套列表
[] = 定义空的列表
--- 列表内可以是不同数据类型,数字、字符串、布尔甚至列表都可以,几种类型混合也可以的
2. 列表基本操作
列表内访问
['a','b','c'][0] >>> a
['a','b','c'][0:2] >>> ['a','b']
['a','b','c'][-1:] >>> ['c']
列表内追加
['a','b','c']+['d'] >>> ['a','b','c','d']
['a','b','c']*2 >>> ['a','b','c','a','b','c']
元组定义及操作 (tuple)
1. 定义元组
(1,2,3,4,5,6)
(1,2,'a','b',True,False)
(1,2,('abc','efg'),'a',(True,False)) = 嵌套元组
(1,) = 定义1个字符的元组
() = 定义空的元组
--- 元组内可以是不同数据类型,数字、字符串、布尔甚至元组都可以,几种类型混合也可以的
2. 元组基本操作
元组内访问
('a','b','c')[0] >>> a = 序列
('a','b','c')[0:2] >>>(['a','b') = 切片
('a','b','c')[-1:] >>> ('c')
--- 元组是不可变的,可以访问但不能像列表那样去追加
ps:序列包含 str、list、tuple,这几种都可以看作序列、切片
in = 肯定判断
3 in [1,2,3,4,5] >>> True = 判断3是不是在列表内,得到的结果是布尔类型
not in = 否定判断
8 not in [1,2,3,4,5] >>> False = 判断8是不是不在列表内,得到的结果是布尔类型
len = 获取列表、元组字符长度
len[1,2,3,4,5,6] >>> 6
len('hello world') >>> 11
max = 获取列表、元组最大值
max[1,2,3,4,5,6] >>> 6
max('hello world') >>> w
min = 获取列表、元组最大值
min[1,2,3,4,5,6] >>> 1
min('helloworld') >>> d
ps:max,min 使用数据类型是 str 的时候,按字母 a-z(阿斯克码 / ASCII)来排序大小
ord = 任意字符获取(阿斯克码 / ASCII) 大小
ord('w') >>> 119
ord('d') >>> 100
ord(' ') >>> 32
集合
set = 集合
{1,2,3,4,5,6} = 定义一个集合
set() = 定义一个空的集合
--- 集合是无序的,不能用顺序的方式访问、不能切片
{1,1,2,2,3,3,4,4} >>> {1,2,3,4}
--- 集合是不重复的
ps:集合是支持 len 、in 、not in 等操作的
集合运算
1. 差集 -
{1,2,3,4,5,6} - {3,4} >>> {1,2,5,6}
2. 交集 &
{1,2,3,4,5,6} & {3,4} >>> {3,4}
3. 合集 |
{1,2,3,4,5,6} | {3,4,7} >>> {1,2,3,4,5,6,7}
字典
dict = 字典
{} = 定义一个空的字典
{key1:value1,key2value2,key3:value3} = 定义字典
--- key 必须是不可变的类型,不能有重复相同的,如有相同则只会“认”最后一个
--- value 可以是可变的类型,可以是嵌套字典
--- 字典是用单个或者多个 key 和 value 组成的集合类型,也是无序的,key 和 value 是同时出现的
{'q':'换枪','w':'向前','e':'换刀','r':'换弹'}['q'] >>> 换枪
--- 使用 key 来访问 value