微信公众号

Python 3 极简教程 之 基本数据类型

Python3 中有六个标准的数据类型:

Number(数字)

String(字符串)

List(列表)

Tuple(元组)

Dictionary(字典)

Sets(集合)

Number(数字)

支持 int(整数类型)、float(浮点型)、bool(布尔)、complex(复数)。

# 整型变量
a = 100
# 浮点型变量
b = 100.0
# 布尔,True 或 False
c = True
print(a, b, c)

复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示,复数的实部 a 和虚部 b 都是浮点型。

数值运算

有加(+)、减(-)、乘(*)、除(/)、取余(%)、乘方(**):

print(9 / 4) # 返回 2.25
print(9 // 4) # 返回 2
print(2 ** 3) # 返回 8

注意:数值的除法(/)总是返回一个浮点数,要获取整数使用(//)操作符。

String(字符串)

字符串用单引号 ‘ 或双引号 “ 括起来,同时使用反斜杠 \ 转义特殊字符。

name = 'I\'am WuXiaolong'
print(name) # 输出字符串,打印:I'am WuXiaolong
print(len(name)) # 输出字符串长度
print(name[0]) # 输出第 1 个字符
print(name[0: - 1]) # 输出下标第 1 个位置到倒数第 2 位置的所有字符,打印:I'am WuXiaolon
print(name[5: 15]) # 输出下标从第 5 个到第 14 个位置的字符,打印:WuXiaolong
print(name[5:]) # 输出下标从第 5 个起后面所有的字符,打印:WuXiaolong
print(name * 2) # 输出 2 次字符串
print('Hello,' + name) # 字符串拼接,打印:Hello,I'am WuXiaolong
print('Wu' in name) # True
print(name.find('Wu')) # 查找,打印 5,即返回开始的索引值,否则返回-1
print(name.index('Wu')) # 查找,打印 5,即返回开始的索引值,没有则抛异常
print('Wu' not in name) # False
print(name.upper()) # 全部转大写
print(name.lower()) # 全部转小写
print(name.capitalize()) # 把字符串的第一个字符大写
print(name.isspace()) # 是否包含空格
print(name.replace('Wu', '')) # 替换操作
print(name.split('m')) # 分割操作,打印: ["I'a", ' WuXiaolong']
print(name.strip()) # 去掉字符串的左右空格
print(name.lstrip()) # 去掉字符串的左空格
print(name.rstrip()) # 去掉字符串的右空格

占位符

和 Java 一样,Python 也有占位符。

%d 表示那个位置是整数;%f 表示浮点数;%s 表示字符串。

print('Hello,%s' % 'Python')
print('Hello,%d%s%.2f' % (666, 'Python', 9.99)) # 打印:Hello,666Python10.00

其中:

1、 % 是转换开始的标志;

2、如果不止一个占位符,要写在一个圆括号内,中间用逗号(半角)隔开;

3、%.2f 代表两位小数,不是两位会四舍五入。

字符串换行

1、三个单引号

Python 三个单引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。

2、三个双引号

3、\结尾

List(列表)

列表是写在方括号 [] 之间、用逗号分隔开的元素列表,列表中元素的类型可以是不相同。如:

s = [100, 100.0, 'wxl', True, 'I\'am WuXiaolong']

访问元素

print(s) # 输出 list,打印:[100, 100.0, 'wxl', True, "I'am WuXiaolong"]
print(len(s)) # 输出 list 长度
print(s[0]) # 输出 list 第 1 个元素
print(s[2:5]) # 输出 lsit 下标从第 2 个到第 4个元素,打印:['wxl', True, "I'am WuXiaolong"]
print(s[2:]) # 输出 lsit 下标从第 2 个起后面所有元素,打印:['wxl', True, "I'am WuXiaolong"]

添加元素

s1 = [False]
print(s + s1) # list 拼接,打印:[100, 100.0, 'wxl', True, "I'am WuXiaolong", False]
# 在列表末尾一次性追加另一个列表
s.extend(s1)
print('extend 添加 = ' + str(s)) # extend 添加 = [100, 100.0, 'wxl', True, "I'am WuXiaolong", False]
# append 方法拼接,列表末尾添加新的对象
s.append('测试拼接')
print('append 方法拼接 = ' + str(s)) # append 方法拼接 = [100, 100.0, 'wxl', True, "I'am WuXiaolong", False, '测试拼接']
s.insert(0, '测试拼接') # 指定位置插入元素
print('insert 插入 = ' + str(s)) # insert 插入 = ['测试拼接', 100, 100.0, 'wxl', True, "I'am WuXiaolong", False, '测试拼接']

更新元素

s[0] = '1024'
print('更新元素 = ' + str(s)) # 更新元素 = ['1024', 100, 100.0, 'wxl', True, "I'am WuXiaolong", False, '测试拼接']

删除元素

s.pop() # pop 方法删除,可指定位置,默认最后一个
print(s) # 打印:['1024', 100, 100.0, 'wxl', True, "I'am WuXiaolong", False]
s.pop(0) # pop 指定位置删除
print(s) # 打印:[[100, 100.0, 'wxl', True, "I'am WuXiaolong", False]
del s[0]
print(s) # 打印:[100.0, 'wxl', True, "I'am WuXiaolong", False]
# 移除列表中某个值的第一个匹配项,没有会抛异常
s.remove('wxl')
print(s)

其他

print(s * 2) # 打印两次
s.reverse() # 反向列表中元素
print(s)
s2 = s.copy() # 复制
print(s2)
s.clear() # 清空
print(s)

Tuple(元组)

元组写在小括号 () 里,元素之间用逗号隔开,元组的元素不能修改,没有 append(),insert() 这样的方法。

s = (100, 100.0, 'wxl', True, 'I\'am WuXiaolong', [1, 2, 3])
print(s) # 输出 list,打印:(100, 100.0, 'wxl', True, "I'am WuXiaolong", [1, 2, 3])
print(s[0]) # 输出 list 第 1 个元素
print(s[2:5]) # 输出 lsit 下标从第 2 个到第 4个元素,打印:('wxl', True, "I'am WuXiaolong")
print(s[2:]) # 输出 lsit 下标从第 2 个起后面所有元素,打印:('wxl', True, "I'am WuXiaolong", [1, 2, 3])
s1 = (1, False) # 单独一个元素 bool 类型不能加入 Tuple
print(s + s1) # list 拼接,打印:(100, 100.0, 'wxl', True, "I'am WuXiaolong", [1, 2, 3], 1, False)
print(s * 2) # 打印两次
print(len(s)) # 输出 list 长度

注意:虽然元组元素不能修改,但能把 list 当特殊元素。

Dictionary(字典)

字典用 { } 标识或者 dict() 方法创建字典,它是一个无序的键 (key) : 值 (value) 对集合。键 (key) 必须使用不可变类型。在同一个字典中,键 (key) 必须是唯一的(不唯一,取最后一个值,不建议这样写)。{ } 是用来创建一个空字典。

dic = {'name': 'WuXiaolong', 'site': 'http://wuxiaolong.me/', 'code': 1024}

访问元素

print(dic)
print(dic['site']) # 输出键为 site 的值

修改元素

dic['code'] = 520 # 修改元素
print(dic['code']) # 打印:520

新增元素

dic['id'] = 1314 # 新增元素
print(dic) # 打印:{'name': 'WuXiaolong', 'site': 'http://wuxiaolong.me/', 'code': 520, 'id': 1314}

删除元素

dic.pop('code') # 删除 code 键
print(dic) # 打印:{'name': 'WuXiaolong', 'site': 'http://wuxiaolong.me/', 'id': 1314}
dic.clear() # 清空
print(dic) # 打印:{}
# del dic # 删除

其他

# dict() 方法创建字典
d = dict(id=1024, name='wxl', site='http://wuxiaolong.me/')
print(d)
print(d.copy()) # 浅复制
print(dic.keys()) # 输出所有键,打印:dict_keys(['name', 'site', 'code'])
print(dic.values()) # 输出所有值,打印:dict_values(['WuXiaolong', 'http://wuxiaolong.me/', 1024])

Sets(集合)

集合是一个无序不重复元素的序列,用大括号 { } 或者 set() 函数创建。创建一个空集合必须用 set(),因为 { } 是用来创建一个空字典。

s = {'name', 'site', 'code', 1, 1}
print(s) # 输出集合,重复的元素被自动去掉

空值

空值是 Python 里一个特殊的值,用 None 表示。

数据类型转换

内置的一些函数可以进行数据类型之间的转换,如:

int(x):将 x 转换为一个整数

float(x):将 x 转换到一个浮点数

str(x):将对象 x 转换为字符串

list(s):将序列 s 转换为一个列表