目标
- 了解基本类型
- 了解如何声明变量与赋值
- 了解数值计算方法
- 了解字符串操作方法
数据类型
Python 内置四种数据类型:
- 布尔型
- 整型
- 浮点型
- 字符串型
注意 数字0不能作为前缀放在其他数字前面。
基数
在 Python 中,整数默认使用十进制数,除非你在数字前加前缀,显示地指定使用其他“基数”,例如:
- 0b 或 0B 代表二进制数
- 0o 或 0O 代表八进制数
- 0x 或 0X 代表十六进制数
变量声明与赋值
可以使用的字符
- 小写字母
- 大写字母
- 数字
- 下划线
名字不允许以数字开头。此外,Python 中以下划线开头的名字有特殊的含义,之后的文章会介绍。
声明与赋值
无需指明变量类型,直接为变量赋值即可。
a = 10
print(a)
数值计算
Python 支持以下运算符:
- + (加)
- - (减)
- * (乘)
- / (除)
- % (模)
- // (除法计算后取整数部分)
- ** (幂)
类型转换
转换成布尔型
- 整数转布尔:0转换成False;0以外转成True。
- 浮点转布尔:0.0转换成False;0.0以外转成True。
- 字符转布尔:’’(空)转换成False;非空字符串转换成True。
转换成整数型
- 布尔转整数:True转换成1;False转换成0。
- 浮点转整数:舍掉小数点以后的部分。
- 字符转整数:由数字组成的字符串转换成对应的整数;其他类型字符串转换时会抛出异常。
转换成浮点数型
- 布尔转浮点:True转换成1.0;False转换成0.0。
- 整数转浮点:转换成小数部分是0的浮点数。
- 字符转浮点:整数或者浮点数形式的字符串转换成对应的浮点数;其他类型字符串转换时会抛出异常。
转换成字符串型
- 一句话,数据长什么样,就转换成什么样的字符串。
int型有多大
在 Python 2 里,一个 int 是32位整数,一个 long 是 64 位整数。到了 Python 3,long 型已经不存在了,int 型可以存储任意大小的整数,甚至可以超过 64 位,这也意味着使用 Python 进行大数计算时,不会发生整数溢出的问题。
str型的常用操作
创建
- 将一系列字符包含在一对单引号或者双引号中即可创建字符串。
- 也可以使用连续三个引号来创建,这种写法主要用来创建多行字符串。
- 使用 \ 作为转义符。
- 使用 + 作为拼接符。
- 使用 * 复制,例如:
s = 'A' * 4 + 'B'
会输出'AAAAB'
使用 [] 提取字符
在字符串后面添加 [],并在中括号内指定偏移量,就可以提取指定位置的单个字符。 最左侧字符的偏移量是从 0 开始的。在 Python 中,偏移量也可以从最右侧字符开始计算,最右侧字符的偏移量是 -1,以此类推。
使用 [start:end:step] 切片
- [:] 提取从开头到结尾的整个字符串。
- [start:] 从 start 提取到结尾。
- [:end] 从开头提取到 end - 1。
- [start:end] 从 start 提取到 end - 1。
- [start:end:step] 从 start 提取到 end - 1,每 step 个字符提取一个。
常用函数
- 使用 len() 获得长度:
len('ABC')
,会返回3
。 - 使用 split() 分割:
'A,B,C'.split(',')
,会返回['A', 'B', 'C']
;如果不指定分隔符,默认使用空白字符分隔:'A B\tC\nD'.split()
,会返回['A', 'B', 'C', 'D']
。 - 使用 join() 合并:
', '.join(['A', 'B', 'C'])
,会返回'A, B, C'
。 - 使用 startwith() 判断是否以指定字符串开头:
'ABCDEF'.startwith('ABC')
,会返回True
。 - 使用 endwith() 判断是否以指定字符串结尾:
'ABCDEFG'.endwith('DEF')
,会返回False
。 - 使用 find() 查找指定字符串第一次出现的偏移量:
'ABCABC'.find('A')
,会返回0
。 - 使用 rfind() 查找指定字符串最后一次出现的偏移量:
'ABCABC'.rfind('A')
,会返回3
。 - 使用 count() 查找指定字符串一共出现了几次:
'ABCABC'.count('C')
,会返回2
。 - 使用 upper() 让字符串所有字母变成大写:
'abcabc'.upper()
,会返回ABCABC
。 - 使用 lower() 让字符串所有字母变成小写:
'ABCABC'.lower()
,会返回abcabc
。 - 使用 replace() 替换:
'ABCABC'.replace('A', 'XX')
,会返回XXBCXXBC
;我们也可以指定替换字符串中的前几处:'ABCABC'.replace('A', 'XX', 1)
,会返回XXBCABC
。