赞
踩
Python系列文章主要是记录自己学习成果及知识输出整合,提供一个温故而知新的场所。
Python六大类型包含:String(字符串)、List(列表)、Set(集合)、Number(数字)、Tuple(元组)、Dict(字典)。
其中可变数据类型:List(列表)、Set(集合)、Dict(字典)
不可变数据类型:Number(数字)、Tuple(元组)、String(字符串)
可变和不可变数据类型详解见总结。
下面会详细介绍数据类型的语法。
定义:Python中的字符串用单引号/双引号/三个单/双引号括起来
# 不包含索引为4的字符串也就是第五位‘t’
st[0:4]
写起始位置,不写截止位置:默认获取剩余全部内容
st[2:]
-----------------------------------
# 输出结果:autiful
写截止位置,不写起始位置:从头开始截取
st[:3]
-----------------------------------
# 输出结果:bea
起始、截止都不写:获取全部序列内容
st[:]
-----------------------------------
# 输出结果:beautiful
负数:表示从右往左截取,右边第一位就是-1
st[-5:-1]
-----------------------------------
# 输出结果:tifu
如果截止下标大于序列的最大下标值,默认依然是取序列全部内容
st[0:20]
-----------------------------------
# 输出结果:beautiful
加号(+)实现字符串的拼接:‘a’+‘b’ 输出结果为:ab
星号(*)实现字符串的复制: ‘a’*2 输出结果为:aa
print(“%数据类型” % 变量),代码示例如下:
address = '某某省'
year = 15
print("他在%s,工作了%d年" %(address, year))
-----------------------------------------------------------------
输出结果为:他在某某省,工作了15年
以上格式化输出用起来还是有些麻烦,Python3.9及以上版本可支持更简单的格式化输出格式:在引号前加个’f‘,用大括号把变量括起来
print(f'他在{address},工作了{year}年')
-----------------------------------------------------------------
输出结果跟%格式化输出结果一致
支持的函数 | 释义 |
---|---|
capitalize() | 将字符串第一个字符大写 |
title() | 将所有单词的首字母大写 |
lower() | 将整个字符串都小写 |
upper() | 将整个字符串都大写 |
replace(old,[,new][,count]) | 将字符串中的old子串替换为new,替换count次,默认全部替换 |
split(sep) | 将字符串用给定的标准分割,并且以列表形式返回分割后的列表 |
join() | 按照指定分割符连接字符串各个元素 |
find(‘sample’,起始位置,结束位置)/index() | find,如果未查找到结果,返回-1;index如果未查找到结果,报错 |
以split() 函数示例:
st = 'bea-uti-f-ul'
v = st.split('-')
print(v)
-----------------------------
输出结果为:['bea', 'uti', 'f', 'ul']
使用一对[]包起来的数据集合,元素可以是任意类型的数据
变量名 = [值1,值2,….]
获取值可以通过下标
变量名[下标]:下标从0开始算
具体使用方法可参考字符串的切片方式
支持的函数 | 释义 |
---|---|
L.append(var) | 追加元素,var为需要追加到列表里面的值 |
L.insert(index,var) | 在指定位置插入元素,如果下标大于列表下标最大值,实现追加的功能,index为想要指定的下标位置数字,var为想要插入的值 |
L.pop(index) | 返回最后一个元素,并从list中删除之,入参必须是下标,index表示下标 |
L.remove(var) | 删除第一次出现的该元素,var为指定要删除的值 |
L.count(var) | 该元素在列表中出现的个数,var为指定要统计的值 |
L.index(var) | 该元素的位置,无则抛异常 |
L.extend(list) | 追加list,即合并另一个list到L上 |
L.sort() | 排序 |
L.reverse() | 反转 |
L = ['fs', 'asda', 'serw', 'fs']
v = L.pop(0)
print(v)
-------------------------
输出结果为:fs
L = ['fs', 'asda', 'serw', 'fs']
v = L.remove('fs')
print(v)
-------------------------
输出结果为:None
使用一对“{}”包起来数据集合
特点:集合是一个无序不重复(自动去重)元素的序列,只能存储不可变数据类型
空集合:set1 = set()
非空集合:set1 = {1,2,3,8}
集合运算符包含:交集 &,并集 |,异或集 ^,差集-
交集:两个集合相同元素的集合
并集:两个集合所有元素去重的集合
异或集:两个集合除去重复元素的集合
差集:前一个集合在后一个集合不重复的集合数据
set1 = {1, 2, 3, 4, 5} set2 = {2, 6, 8, 3, 10} # 求集合的交集 new1 = set1 & set2 print(f"交集:{new1}") ------------------------- 输出结果为:{2,3} ------------------------- # 求集合的并集 new2 = set1 | set2 print(f"并集:{new2}") ------------------------- 输出结果为:{1, 2, 3, 4, 5, 6, 8, 10} ------------------------- # 求集合的异或集 new3 = set1 ^ set2 print(f"异或集:{new3}") ------------------------- 输出结果为:{1, 4, 5, 6, 8, 10} ------------------------- # 求集合的差集 new4 = set1 - set2 new4 = set2 - set1 print(f"差集:{new4}") ------------------------- 输出结果为:set1 - set2={1, 4, 5} set2 - set1 = {8, 10, 6} -------------------------
支持的函数 | 释义 |
---|---|
set1.add | 添加元素 |
set1.remove(‘sample’) | 移除元素 |
len() | 统计集合元素个数 |
set1.remove(‘sample’) | 删除第一次出现的该元素,var为指定要删除的值 |
set1.remove(‘sample’) | 该元素在列表中出现的个数,var为指定要统计的值 |
set1.remove(‘sample’) | 该元素的位置,无则抛异常 |
set1.remove(‘sample’) | 追加list,即合并另一个list到L上 |
包含:int float bool(0/1) complex(复数)
运算符 | 释义 |
---|---|
+ | 数字之间的加运算 |
‘-’ | 数字之间的减运算 |
‘*’ | 数字之间的乘运算 |
/ | 数字之间的除运算 |
** | 数字的多少次幂 |
// | 数字的商取整数 number = 8//3 = 2 整数为 2 |
% | 数字取余数 |
支持的函数 | 释义 |
---|---|
isinstance(s, int) | 判断是否为int类型 |
abs() | 取数字的绝对值 |
ceil(x) | 返回数字的上入整数 ceil(4.1) 返回 5 |
floor(x) | 返回数字的下舍整数(取整) floor(5.4) 返回 5 |
round(x, n) | 四舍五入,n保留几位小数 |
使用一对“()”包起来的数据集合,每个数据之间通过‘,’隔开
特点:python序列数据类型,可以存储多个元素
注:一个元素的元组,需在元素后添加逗号,例:l = (‘sample’,)
具体使用方法可参考字符串的切片方式
虽然元组属于不可变数据类型,不可修改,但可以通过 +号 连接组合
tup1 = ('sample', '1123', '234')
tup2 = ('sv234',)
new = tup1[0:2]+tup2
print(new)
-------------------------
输出结果为:('sample', '1123', 'sv234')
支持的函数 | 释义 |
---|---|
len() | 元组元素的个数 |
max() | 元组里最大值 |
min() | 元组里最小值 |
使用一对{}包起来的数据集合,元素以key:value(键值对)的方式表示
dict1 = {‘name’:‘张三’,‘age’:12}
注意事项:
1、key必须唯一,value可以不唯一
2、key必须是不可变数据类型,value可以是任意数据类型
info = {'name': '张三', 'age': 18, 'adress': '长沙市'} # 获取元素 # 1、可直接通过key获取 adress1 = info['adress'] print(adress1) # 2、通过get()函数获取 adress2 = info.get('adress') print(adress2) # 修改字典某个值 #1、如果key存在,修改key的值 #2、如果key不存在,添加一个新的键值对 info['name'] = '李四' print(info) # 删除 del info['age'] # 删除所有元素 info.clear()
支持的函数 | 释义 |
---|---|
len() | 统计个数 |
str() | 字典转化为字符串 |
fromkeys(seq,默认值) | 通过传入一个序列,序列中的元素作为key,默认值为value,生成一个字典 |
pop(‘key’) | 删除,无返回值 |
popitem() | 删除字典中最后一个元素 |
get(‘key’) | 获取值,若字典无该key,则返回None |
setdefault() | 类似get,但当key不存在,会新增key,可设置默认值 setdefault(‘key’,‘235’) |
keys() | 获取字典所有key |
values() | 获取字典所有value |
items() | 同时获取所有key,value的值 |
update() | 两个字典进行合并 dict1.update(dict2),如有重复的key,取后面key的值进行合并 |
什么是可变数据类型?什么是不可变数据类型?
每个变量都有一个代表变量空间的id
可变,例:列表,修改列表里的元素,不会改变列表的id,在不改变id的情况下,能修改值那么就是可变
不可变,例:字符串, 无法直接修改字符串的元素,只能重新定义变量,所以id会改变,无法直接修改就是不可变
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。