- Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
- 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
- 等号(=)用来给变量赋值。
- 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。
Python3 中常见的数据类型有:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
Python3 的六个标准数据类型中:
- 不可变数据(3 个): Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个): List(列表)、Dictionary(字典)、Set(集合)。
数据类型
数字
- 在python中,数据类型有六种:数字、字符串、列表、元组、集合和字典;
方法
int(): 强制转为为int类型,向下取整
float(): 强制转化为float类型:
字符串
python中,字符串可以使用单引号、双引号以及三引号表示: 字符串拼接:
使用+可以将不同字符串拼接成为一个新字符串
注意: 如果字符串+数字,要报错。需要对数字进行类型转化
大小写转化
capitalize() 第一个单词首字母大写
title() 每一个单词的首字母大写
upper() 将所有字母转大写
lower() 将所有字母转小写
居中:
center(宽度,填充) 将字符串在给定范围居中
统计:
count() 统计字符串中字符出现的次数
编码:
字符串->字节码: encode(编码格式) xxx.encode('GBK')
字节码->字符串: decode() xxx.decode('GBK')
判断是否以xx字符结束: endswith()
判断是否以xx字符开始: startswith()
判断是否为数字: isdigit() isnumeric()
判断是否为字母: isalpha()
判断是否为字母或者数字: isalnum()
判断是否为大写或者小写: isupper() islower()
字符串拆分:
找字符串中的某个字符:
index() 返回被查找的字符下标(索引),如果没找到抛出valueerror异常
find() 返回被查找的字符下标,如果没找到返回-1
rindex() 找最后一次出现的字符索引,找不到报错
rfind() 找最后一次出现的字符索引,找不到返回-1
以某个字符拆分字符串:split(字符) 返回以拆分字符前后的字符串为元素的列表
替换字符串中的字符: replace(old,new,count) 可以指定替换次数
去除字符串前后字符串(默认空格和换行): strip()
string=" hello world\n"
string.strip() 去除空格和换行
string=“1abdc1”
string.strip('1') 去除前后的字符‘1’
字符串切片:
获取字符串中的内容:
string = "1234567890"
按索引获取指定字符:string[4] ==>5
按反方向通过索引获取指定字符:string[-6]==>5
获取连续的字符串:string[起始索引:结束索引+1] 左闭右开[起始,结束)
步长:string[start:end:step] 通过指定step的值,确定取值方式
字符串反向输出:string[::-1] ==> '0987654321'
列表
列表可以看出一个容纳所有类型数据的容器。列表不限制大小,且内容可以随时被修改。
列表有长度,有下标(索引)
列表定义:
li = [] 或者 li = list() 创建一个空列表
列表拼接:
li3 = li1+li2 => [1,2,3,'a','b','c']
列表的方法:
向列表中添加元素:
append():将目标整体作为一个元素添加到指定列表中
li1.append(li2) ==> [1,2,3,[4,5,6]]
extend():将目标按迭代顺序分别放入列表中。
li1.extend(li2) ==> [1,2,3,4,5,6]
insert(索引,元素) 在指定位置插入数据
li2.insert(1,55) ==> [4,55,5,6]
删除数据:
pop() : 默认移除最后一个元素,也可以按索引移除元素
remove() : 按元素名称移除元素
查找索引位置:
index() 效果跟字符串相同,如果没找到报错
统计:
count() 统计列表中元素出现次数,与字符串count不同在于字符串可以指定范围
排序:sort()
li.sort() ==> [1,2,3,4,5,6]
li.sort(reverse=True) ==> [6,5,4,3,2,1]
反向:reverse()
li.reverse() ==> [5,1,4,6,3,2]
清空:clear() 将列表中所有元素删除
li.clear() ==> []
浅复制: copy()
li1=li.copy() 将外层列值赋值给li1.
切片
li=[1,2,3,4,5,6,7]
元素获取:
li[5] ==>6
li[-3] ==> 5
修改元素的值:
li[索引]=值
li[0]=11 ==> [11,2,3,4,5,6,7]
获取多个元素:
li[起始:结束+1] 左闭右开
li[:4] ==> [1,2,3,4]
li[1:] ==> [2,3,4,5,6,7]
步长:
li[起始:结束+1:步长] 间隔几个元素获取
元组
元组与列表有相似的部分,元组中可以放入任意数据类型,元组也有下标(索引),不同之处子在于,元组一旦被创建,不能改变(不能对元组进行修改、添加、删除)。
元组创建:
tup=(元素1,元素2,...)
tup = (1,2,3) 创建后不能被修改
拼接:
tup = tup1+tup2 使用+,生存新的元组
方法:
统计元素出现次数
count()
tup.count(3)
查找元素所在的索引
index()
tup.index(3)
切片:
与列表相同:
集合
以大括号定义的容器,其中可以放入数字和字符串类型,但集合中不允许出现重复数据(自动去重复)
集合是无序的容器。不能通过下标获取元素
集合不能使用+拼接。
定义:
s=set() 定义空集合
s={1,'a'}
s = set(变量) 类型强转
集合拼接
s1 = {1,2,3}
s2 = {3,4,5}
取并集:
print(s1|s2) # | 并集 & 交集 ^ 对称差集
通过方法update()
s1.update(s2)
print(s1)
集合方法:
向集合添加元素: add()
清空集合 clear()
删除元素:
pop() 默认移除第一个元素,不能添加参数
remove(元素) 按元素名称移除元素
拼接集合 union() update()
s.union(s1) s.update(s1)
集合中元素获取一般通过遍历(循环取值)
字典
在python中,字典是以键值对方式保存数据,定义是通过大括号,字典无序,所有的数据获取通过键完成。键不能重复。
字典也不能通过+拼接
定义
di = {} | di = dict() 创建空字典
di = {key:value,key1:value1,key2:value2}
拼接
di1 = {1:'a',2:'b'}
di2 = {3:'c',4:'d'}
di1.update(di2)
print(di1)
方法
添加元素:
update()
setdefault() 第一个功能,当键不存在时,向当前字典添加新键值对,第二个功能,当键存在时,返回该键所对应的值。
fromkeys(可迭代数据,值) 将可迭代数据逐个拆分,作为键,每个键都有相同的值。返回新字典
查找元素
get(键) 通过键找值
setdefault(键,值) 当键存在时,返回原值
keys() 返回所有键的对象,取值前需要类型强转
dict_keys(['a', 'b', 'c'])
values() 返回所有的值的对象,需要强转
dict_values([1, 2, 3])
items() 返回所有的键值对对象,需要强转
dict_items([('a', 1), ('b', 2), ('c', 3)])
删除元素:
pop(键) 按键删除键值对
clear() 清空
查看键对应的值:
print(di[键]) 等价于di.get(键)
对字典进行数据添加:
di[键]=值 di[2]='bb'
删除键值对:
del di[键]
删除字典:
del di