Python3的基本数据类型
- 变量不需要提前声明
- 每个变量使用前必须赋值,赋值之后能会被建立
- Python中,变量是没有类型的,这里所说的“类型”是指内存中所存储的对像的类型。
- Python中有六种标准数据类型
- Number (数字)
- String (字符串)
- List (列表)
- Tuple (元组)
- Dictionary (字典)
- Sets (集合)
- 不可变:Number(数字)、String(字符串)、Tuple(元组)
- 可变:List(列表)、Dictionary(字典)、Set(集合)
1. Number
2. String
- 定义方法:
a = 'abc' 或 a = str()
- 字符串常用操作方式:索引、查找、切片、相加、复制、输出
-
字符串常用方法
-
例:
#字符串相乘(复制)
‘8’ * 8
#字符串相加
name = 'yhyang'
city = 'beijing'
infor = name + ' ' + city
#字符串索引
name[0] # 返回第一个值:y
name[-1] # 返回最后一个值:g
#字符串切片
name[:] # :前后都不写,取整个字符串
name[0:3] # 从第一个到第4个,不取第四个:yhy
name[:-1] # 从第一个到倒数第二个:yhyan
#字符串输出,用f''格式输出
print(f'名字:{name},城市:{city}')
输出内容为: 名字:yhyang,城市:beijing
#字符串常用方法:
name.upper() # 将name的值变为大写,对就的小写为name.lower()
info.title() # 标题样式,把每个单词第一个字母大写
name.strip(‘h’) # 移除头、尾指定的字符串
info.capitalize() # 将字符串的第一个字母大写
name.replace('y', 'Y') # 用Y替换y
name.zfill(10) # 字符串右对齐,不够10位的用0补全
name.rjust(10, '$' ) # 字符串右对齐,不够10位用$符补全
name.center(10, '$' ) # 字符串中间对齐,不够10位用$符补全
name.count('y') # 计算字符串中y的个数
name.index('a') # 返回字符串中a的位置,如果有多个,返回的是第一个的位置
name.find('hy') # 找到hy在字符串中的位置
info[1:6:2] # 取字符串第二到第六个,步长为2,取隔一个取一个
info[::-1] # 返转字符串
info.split('y') # 以y 为分隔符,分隔字符串
3. 列表
- 列表定义方法:
a = [] 或 a = list()
- 列表元素类型:数值、字符串
-
列表操作方式:增、删、改、查、反转、相加
-
例:
# 定义列表
a = ['zhangsan', 'lisi', 'wangwu']
b = [1, 3, 2, 5, 4]
#元素类型
注:虽然一个列表中的元素可以有字符串,和数值
但是,不建议定义字符串时混着用,建议一个字符串中只有一种数据类型
#操作方式
a.append('yhy') # 增加列表元素,新元素在最后面追加
a.insert(2, 'e') # 在列表第三个位置插入值e
a.pop(n) # n为数值,删除列表中第n个元素,参数为空时从最后一个删除
a.[::-1] # 反转列表
a.reverse() # 反转列表
a[3] # 取列表中第四个元素的值
a[-1] # 取列表中倒数第一个元素的值
a[1:3] # 取列表中第二到第3个元素的值
a[1] = 'aaa' # 修改列表第二个元素的值
a = [] # 清空列表
4. 元组
5. 字典
- 字典(dictionary)是Python中另一个非常有用的内置数据类型
- 列表是有序的对象集合,字典是无序的对象集合
- 字典当中的元素是通过键来存取的
- 字典用{}来定义,是一组组的键值对,key:value
-
键是唯一的,不可变的
-
例:
# 字典定义
dic = {} 或 dic = dict()
dic = dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
print(dic) 输出 {'Taobao': 3, 'Runoob': 1, 'Google': 2}
{x: x**2 for x in (2, 4, 6)} 生成字典为{2: 4, 4: 16, 6: 36}
dic = dict(Runoob=1, Google=2, Taobao=3)
dic的值为 {'Taobao': 3, 'Runoob': 1, 'Google': 2}
#字典取值
用dic['key']的方式取值
dic['Taobao'] # 值为 3
for key,value in dic.items():
print(f'{key}:{value}') # 用for循环输出字典的key:vlaue
#字典的相关方法
dic.clear() # 删除字典内所有元素
dic.copy() # 返回一个字典的浅复制
dic().fromkeys() # 创建一个新字典,以序列seq元素做字典的键,val为字典键对应的值
dic.get() # 返回指定键的值
key in dic # 如果键在字典则返回true,否则false
dic.items() # 以里边返回遍历的元组
dic.keys() # 以列表返回一个字典所有的键
dic.values() # 以列表返回字典中所有值
dic.setdefault(key,default) # 和get()类似,如果键不存在于字典中,添加键并设值为default
dic.pop(key) # 删除指定键key的值,并返回该值
6. 集合
- 一个无序不重复元素的序列
- 基本功能是进行成员关系测试和删除重复元素
- 可以使用大括号 { } 或者 set() 函数来定义集合
- 注意:创建空集合必须用set(),不能用{},因为{}是空字典
-
Set可以进行集合运算
-
例:
# 创建格式
s = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
或 s = set(('Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'))
或 s = set(['Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'])
得到的s是一样的
#集合运算
a=set('abcdefgabcdefg')
b=set('acbcdc')
print(a - b) # a和b的差集
print(a | b) # a和b的并集
print(a & b) # a和b的交集
print(a ^ b) # a和b不同时存在的元素
- 使用
s.add(key)可以添加元素到集合当中,可以重复添加,但没有效果
- 使用
s.remove(key)可以删除元素
- 注意,集合当中不能放入可变对象
7. 数据类型转换
| 函数 |
描述 |
| int(x [,base]) |
将x转换为一个整数 |
| float(x) |
将x转换到一个浮点数 |
| complex(real [,imag]) |
创建一个复数 |
| str(x) |
将对象 x 转换为字符串 |
| repr(x) |
将对象 x 转换为表达式字符串 |
| eval(str) |
用来计算在字符串中的有效Python表达式,并返回一个对象 |
| tuple(s) |
将序列 s 转换为一个元组 |
| list(s) |
将序列 s 转换为一个列表 |
| set(s) |
转换为可变集合 |
| dict(d) |
创建一个字典。d 必须是一个序列 (key,value)元组 |
| frozenset(s) |
转换为不可变集合 |
| chr(x) |
将一个整数转换为一个字符 |
| ord(x) |
将一个字符转换为它的整数值 |
| hex(x) |
将一个整数转换为一个十六进制字符串 |
| oct(x) |
将一个整数转换为一个八进制字符串 |
|