网站建设的方案,茂名网站建设电话,a5wordpress模板,口红网络营销策划方案目录 简述 / 前言1. str 数据类型#xff08;字符串#xff09;1.1 str对象1.2 str对象属性和方法1.3 字符串编码1.4 转义字符1.5 字符串的格式化 2. tuple 数据类型#xff08;元组#xff09;2.1 创建元组对象 3. list 数据类型#xff08;列表#xff09;3.1 创建列表… 目录 简述 / 前言1. str 数据类型字符串1.1 str对象1.2 str对象属性和方法1.3 字符串编码1.4 转义字符1.5 字符串的格式化 2. tuple 数据类型元组2.1 创建元组对象 3. list 数据类型列表3.1 创建列表对象3.2 list 对象的方法3.3 列表解析表达式 4. 系列数据的基本操作5. 系列的切片操作6. 字节系列6.1 bytes常量6.2 创建 bytes 和 bytearrary 对象6.3 字节编码和解码 文章传送门 简述 / 前言
前面主要了解了 Python 的语言基础现在我们来了解 Python 给我们提供了哪些数据类型以及如何使用这些数据类型。
Python语言中一切皆为对象而每个对象都属于某个数据类型Python的数据类型包括内置的数据类型、模块中定义的数据类型和用户自定义的类型 数值数据类型int、bool、float、complex序列数据类型不可变str、tuple、bytes和可变list、bytearray集合数据类型set、frozenset字典数据类型dict。例如{1: “one”, 2: “two”}NoneType、NotImplementedType和EllipsisType。
上一篇文章我们介绍了数值数据类型这篇我们介绍序列数据类型str、tuple、list、bytes和bytearray。
1. str 数据类型字符串
Python中没有独立的字符数据类型字符即长度为1的字符串。Python内置数据类型str用于字符串处理 str对象的值为字符系列str对象字符串是不可变对象。 使用单引号或双引号括起来的内容是字符串字面量。
单引号(’ )。包含在单引号中的字符串其中可以包含双引号。双引号( )。包含在双引号中的字符串其中可以包含单引号。三单引号(“” “”)。包含在三单引号中的字符串可以跨行。三双引号(“” “”)。包含在三双引号中的字符串可以跨行。
1.1 str对象
用 str() 可以将任何数据类型转为str类型。 str(2023)
2023str(False)
Falsestr(3.141592)
3.141592str(小邓在森林)
小邓在森林str([1, 2, 3])
[1, 2, 3]str(None)
None1.2 str对象属性和方法 转成大写 s abcs.upper() # 字符串对象s的方法。输出ABC
ABCstr.upper(s) # str类方法字符串s作为参数。输出ABC
ABC转成小写 s AbCs.lower()
abcstr.lower(s)
abcs 小邓在森林s.lower()
小邓在森林str.lower(s)
小邓在森林注大小写转换只对英文字符有用~ Python还提供了另一个内置函数repr()函数 repr() 返回一个对象的更精确的字符串表示形式但是经过实操没发现它和 str() 有什么区别。 c 1 / 3str(c)
0.3333333333333333repr(c)
0.33333333333333331.3 字符串编码
Python 3 字符默认为16位Unicode编码。使用内置函数 ord() 可以把字符转换为对应的Unicode码使用内置函数 chr() 可以把十进制数转换为对应的字符。 ord(a)
97ord(A)
65chr(97)
achr(65)
Aord(森)
26862chr(26862)
森1.4 转义字符
转义字符功能/作用转义字符功能/作用\’单引号\n换行LF\双引号\r回车CR\\反斜杠\t水平制表符HT\a响铃BEL\v垂直制表符VT\b退格BS\ooo八进制Unicode码对应的字符\f换页FF\xhhh十六进制Unicode码对应的字符
注标粗的 5 个转义字符是本人觉得最常用的~
1.5 字符串的格式化
字符串.format(value1, value2, …) 我是{0}, 加入CSDN已经{1}年了.format(小邓在森林, 2)
我是小邓在森林, 加入CSDN已经2年了str.format(格式字符串, value1, value2, …) str.format(我是{0}, 加入CSDN已经{1:.1f}年了, 小邓 在森林, 2)
我是小邓在森林, 加入CSDN已经2.0年了format(value, 格式字符串) format(99.99, 0.4f)
99.9900格式字符串 % (value1, value2, …) 兼容Python2的格式但是这里不建议使用 我是%s, 加入CSDN已经%2d年了 % (小邓在森林, 2)
我是小邓在森林, 加入CSDN已经 2年了更多示例画三角形
居中对齐 print(1.center(10))1print(format(121, ^10))121print(format(12321, ^10))12321右对齐 print(1.rjust(10, *))
*********1print(format(121, *10))
*******121print(format(12321, *10))
*****12321左对齐 print(1.ljust(10, *))
1*********print(format(121, *10))
121*******print(format(12321, *10))
12321*****2. tuple 数据类型元组 一组有序系列包含0个或多个对象引用。 元组可以通过创建 tuple 对象来创建在 Python 中用小括号表示。
2.1 创建元组对象 t1 ()t2 1, 2t3 1,t4 (1, 2, 3)t5 a, b, ct6 3.14 # 后面没加逗号所以不是元组print(t1, t2, t3, t4, t5, t6)
() (1, 2) (1,) (1, 2, 3) (a, b, c) 3.143. list 数据类型列表
类似下面这种形式的数据就是 list [x1, x2, [x3, …, xn]]可以通过创建 list 对象来创建。
3.1 创建列表对象 l1 []l2 [2023]l3 [a, b, c]print(l1, l2, l3)
[] [2023] [a, b, c]3.2 list 对象的方法 s [1, 2, 3]方法功能s.append(x)把对象x追加到列表s尾部s.clear()删除所有元素。相当于del s[:]s.copy()拷贝列表s.extend(f)把序列t附加到s尾部s.insert(index, x)在下标 index 位置插入对象xs.pop([index])返回并移除下标 index 位置对象省略 index 时为最后对象。若超出下标将导致IndexError !s.remove(x)移除列表中第一个出现的x。若对象不存在将导致ValueError !s.reverse()逆置列表s.sort()列表排序 s [1, 2, 3]s.append(abc)s
[1, 2, 3, abc]s.clear()s
[]s [1, 2, 3]s1 s.copy()s1
[1, 2, 3]s.extend(abc)s
[1, 2, 3, a, b, c]s.pop(3)
as
[1, 2, 3, b, c]s.remove(b)s
[1, 2, 3, c]s.reverse()s
[c, 3, 2, 1]s.sort() # 注意排序时不能有字符串只支持数值类型的元素排序
Traceback (most recent call last):File stdin, line 1, in module
TypeError: not supported between instances of int and strs.remove(c)s
[3, 2, 1]s.sort()s
[1, 2, 3]3.3 列表解析表达式
value for i_1 in 序列1 ... for i_N in 序列N迭代序列里面的所有内容并计算生成列表。value for i_1 in 序列1 ... for i_N in 序列N if ...按照条件迭代并计算生成列表。 [val**2 for val in range(5)] # 平方
[0, 1, 4, 9, 16][(val, val**2) for val in range(5)] # 原值平方
[(0, 0), (1, 1), (2, 4), (3, 9), (4, 16)][val for val in range(10) if val%21] # 取奇数
[1, 3, 5, 7, 9]4. 系列数据的基本操作
函数功能len()获取系列的长度max()获取系列中元素最大值min()获取系列中元素最小值sum()获取列表或元组中各元素之和x in s元素x在s中吗是的话为True否则为Falsex not in s元素x不在s中吗是的话为True否则为Falses.count(x)返回x在s中出现的次数s.index(x)返回x在s中第一次出现的下标sorted(iterable, keyNone, reverseFalse)返回系列的排序列表all(iterable)如果序列的所有值都为True返回True否则返回Falseany(iterable)如果序列的任意值为True返回True否则返回False 字符串 s 小邓在森林-2023len(s)
10max(s)
邓min(s)
-s1 abcdlen(s1)
4max(s1)
dmin(s1)
as2 len(s2)
0max(s2)
Traceback (most recent call last):File stdin, line 1, in module
ValueError: max() arg is an empty sequencemin(s2)
Traceback (most recent call last):File stdin, line 1, in module
ValueError: min() arg is an empty sequence小 in s
True1 in s
False1 not in s
Trues.count(2)
2s.count(1566)
0s.index(森林)
3s.index(6) # 6不在s中
Traceback (most recent call last):File stdin, line 1, in module
ValueError: substring not foundsorted(s)
[-, 0, 2, 2, 3, 在, 小, 林, 森, 邓]sorted(s, reverseTrue)
[邓, 森, 林, 小, 在, 3, 2, 2, 0, -]s1 abADsorted(s1, keystr.upper)
[a, A, b, D]sorted(s1, keystr.lower)
[a, A, b, D]注汉字求 max, min 是先将汉字转为汉字编码再进行大小比较而英文则是转为 ASCII 码。空字符串不能求 max 和 min 元组 t (1, 2, 3)len(t)
3max(t)
3min(t)
1t1 ()len(t1)
0max(t1)
Traceback (most recent call last):File stdin, line 1, in module
ValueError: max() arg is an empty sequencemin(t1)
Traceback (most recent call last):File stdin, line 1, in module
ValueError: min() arg is an empty sequence1 in t
True-1 in t
False-1 not in t
Truet.count(1)
1t.index(2)
1t.index(1)
0sorted(t)
[1, 2, 3]sorted(t, reverseTrue)
[3, 2, 1]注空元组不能求 max 和 min 列表 l [1, 2, 3]len(l)
3max(l)
3min(l)
1l1 []len(l1)
0max(l1)
Traceback (most recent call last):File stdin, line 1, in module
ValueError: max() arg is an empty sequencemin(l1)
Traceback (most recent call last):File stdin, line 1, in module
ValueError: min() arg is an empty sequence3 in l
True3 not in l
Falsel.count(3)
1l.index(2)
1sorted(l)
[1, 2, 3]sorted(l, reverseTrue)
[3, 2, 1]注空列表不能求 max 和 min
如何访问系列元素 用 s[index] 即可访问不同数据类型的 index 位置的数据注意它是从 0 开始计算的访问时不能越界
python 中如果 index 为负数表示从尾部向前取元素最后一个元素索引为 -1。
其中 s [ 0 ] s [ − l e n ( s ) ] s[0] s[-len(s)] s[0]s[−len(s)] 字符串 s abcdefgs[0]
as[-1]
gs[10] # 越界
Traceback (most recent call last):File stdin, line 1, in module
IndexError: string index out of range元组 t (1, 2, 3)t[0]
1t[-1]
3t[-3]
1t[100] # 越界
Traceback (most recent call last):File stdin, line 1, in module
IndexError: tuple index out of range列表 l [1, 2, 3]l[0]
1l[-1]
3l[2023]
Traceback (most recent call last):File stdin, line 1, in module
IndexError: list index out of range5. 系列的切片操作
前面只说了取一个元素那么能不能一次性取多个元素呢答案是可以的。
用 s[start:stop] 或者 s[start:stop:step] 就可以一次性取多个元素。
-含意start取值的开始索引stop取值的终止索引step取值步长
注切片操作的区间是左闭右开的即只能取到 s[start], ..., s[stop-1] s[stop] 无法取到
如果 stop len(s)-1 , 则只会取到索引为 len(s)-1 的元素。 字符串 s abcdefgs[0:2]
abs[1:3]
bcs[1:6:2] # 会间隔一个元素再取
bdfs[::2] # 从第一个元素开始取然后间隔一个元素再取
acegs[::-1] # 从后往前取
gfedcbas[::-2] # 从后往前取每次间隔一个元素
geca元组 t (1, 2, 3, 4, 5, 6)t[2:6]
(3, 4, 5, 6)t[::-3]
(6, 3)t[::-1]
(6, 5, 4, 3, 2, 1)t[2:6:2]
(3, 5)t[2:10] # 等价于t[2:6]
(3, 4, 5, 6)t[2:6]
(3, 4, 5, 6)列表 l [1, 2, 3, 4, 5, 6]l[-5:-1]
[2, 3, 4, 5]l[-5:-1:2]
[2, 4]l[-5:-1:-1]
[]l[-1:-5:-1]
[6, 5, 4, 3]6. 字节系列
字节系列bytes 和 bytearray是由 8 位字节数据组成的系列数据类型即 0x256 的整数系列。
6.1 bytes常量
使用字母 b 加单引号或双引号括起来的内容。
bytes常量与字符串定义方式类似
单引号b 。包含在单引号中的字符串其中可以包含双引号双引号b 。包含在双引号中的字符串其中可以包含单引号三单引号b 。包含在三单引号中的字符串可以跨行三双引号b 。包含在三双引号中的字符串可以跨行。
6.2 创建 bytes 和 bytearrary 对象
函数功能bytes()创建空的bytes对象bytes(n)创建长度为n的bytes对象各字节为0bytearrary()创建空的bytearrary对象bytearrary(n)创建长度为n的bytearrary对象各字节为0
还有一些创建 bytes 和 bytearrary 对象的方法因为这个不常用所以不具体介绍下面主要讲讲编码和解码的问题就结束了。
6.3 字节编码和解码
字符串可以通过 s.encode() 方法编码为字节码通过 s.decode() 方法解码为字符串。 s 小邓在森林b s.encode()b
b\xe5\xb0\x8f\xe9\x82\x93\xe5\x9c\xa8\xe6\xa3\xae\xe6\x9e\x97b.decode()
小邓在森林这里只展示了字符串和字节码之间的转换字符串还可以和 UTF-8、GBK 等编码进行转换
文章传送门
上一篇文章【人生苦短我学 Python】3Python 常用内置数据类型 I —— 数值数据类型int、float、complex、bool 下一篇文章 文章转载自: http://www.morning.cjqcx.cn.gov.cn.cjqcx.cn http://www.morning.rlksq.cn.gov.cn.rlksq.cn http://www.morning.kkysz.cn.gov.cn.kkysz.cn http://www.morning.hjjfp.cn.gov.cn.hjjfp.cn http://www.morning.fgtls.cn.gov.cn.fgtls.cn http://www.morning.bsjpd.cn.gov.cn.bsjpd.cn http://www.morning.tsyny.cn.gov.cn.tsyny.cn http://www.morning.hdzty.cn.gov.cn.hdzty.cn http://www.morning.knsmh.cn.gov.cn.knsmh.cn http://www.morning.cknsx.cn.gov.cn.cknsx.cn http://www.morning.wjzzh.cn.gov.cn.wjzzh.cn http://www.morning.mrgby.cn.gov.cn.mrgby.cn http://www.morning.qrpdk.cn.gov.cn.qrpdk.cn http://www.morning.qgbfx.cn.gov.cn.qgbfx.cn http://www.morning.shsh1688.com.gov.cn.shsh1688.com http://www.morning.wmqrn.cn.gov.cn.wmqrn.cn http://www.morning.kaoshou.net.gov.cn.kaoshou.net http://www.morning.plznfnh.cn.gov.cn.plznfnh.cn http://www.morning.cjmmn.cn.gov.cn.cjmmn.cn http://www.morning.qwzpd.cn.gov.cn.qwzpd.cn http://www.morning.xmxbm.cn.gov.cn.xmxbm.cn http://www.morning.qjfkz.cn.gov.cn.qjfkz.cn http://www.morning.krxzl.cn.gov.cn.krxzl.cn http://www.morning.cbvlus.cn.gov.cn.cbvlus.cn http://www.morning.jfmjq.cn.gov.cn.jfmjq.cn http://www.morning.fesiy.com.gov.cn.fesiy.com http://www.morning.srkqs.cn.gov.cn.srkqs.cn http://www.morning.yfpnl.cn.gov.cn.yfpnl.cn http://www.morning.rnds.cn.gov.cn.rnds.cn http://www.morning.njftk.cn.gov.cn.njftk.cn http://www.morning.hdpcn.cn.gov.cn.hdpcn.cn http://www.morning.qnbgh.cn.gov.cn.qnbgh.cn http://www.morning.qwbht.cn.gov.cn.qwbht.cn http://www.morning.rbqlw.cn.gov.cn.rbqlw.cn http://www.morning.ptmsk.cn.gov.cn.ptmsk.cn http://www.morning.qrwnj.cn.gov.cn.qrwnj.cn http://www.morning.gtylt.cn.gov.cn.gtylt.cn http://www.morning.wjplm.cn.gov.cn.wjplm.cn http://www.morning.bjndc.com.gov.cn.bjndc.com http://www.morning.zgqysw.cn.gov.cn.zgqysw.cn http://www.morning.xzkgp.cn.gov.cn.xzkgp.cn http://www.morning.srrzb.cn.gov.cn.srrzb.cn http://www.morning.blxor.com.gov.cn.blxor.com http://www.morning.mfmrg.cn.gov.cn.mfmrg.cn http://www.morning.rqfkh.cn.gov.cn.rqfkh.cn http://www.morning.zybdj.cn.gov.cn.zybdj.cn http://www.morning.twwzk.cn.gov.cn.twwzk.cn http://www.morning.nbrdx.cn.gov.cn.nbrdx.cn http://www.morning.mjdbd.cn.gov.cn.mjdbd.cn http://www.morning.youngbase.cn.gov.cn.youngbase.cn http://www.morning.pqnps.cn.gov.cn.pqnps.cn http://www.morning.lwcgh.cn.gov.cn.lwcgh.cn http://www.morning.jjzrh.cn.gov.cn.jjzrh.cn http://www.morning.yxzfl.cn.gov.cn.yxzfl.cn http://www.morning.zqsnj.cn.gov.cn.zqsnj.cn http://www.morning.pdkht.cn.gov.cn.pdkht.cn http://www.morning.tfzjl.cn.gov.cn.tfzjl.cn http://www.morning.jfch.cn.gov.cn.jfch.cn http://www.morning.mtrfz.cn.gov.cn.mtrfz.cn http://www.morning.hxlch.cn.gov.cn.hxlch.cn http://www.morning.dkslm.cn.gov.cn.dkslm.cn http://www.morning.slzkq.cn.gov.cn.slzkq.cn http://www.morning.fkcjs.cn.gov.cn.fkcjs.cn http://www.morning.xckdn.cn.gov.cn.xckdn.cn http://www.morning.tgpgx.cn.gov.cn.tgpgx.cn http://www.morning.fjkkx.cn.gov.cn.fjkkx.cn http://www.morning.ggtkk.cn.gov.cn.ggtkk.cn http://www.morning.yrccw.cn.gov.cn.yrccw.cn http://www.morning.tndhm.cn.gov.cn.tndhm.cn http://www.morning.skrrq.cn.gov.cn.skrrq.cn http://www.morning.bnygf.cn.gov.cn.bnygf.cn http://www.morning.hlnys.cn.gov.cn.hlnys.cn http://www.morning.nsjpz.cn.gov.cn.nsjpz.cn http://www.morning.c7498.cn.gov.cn.c7498.cn http://www.morning.smmrm.cn.gov.cn.smmrm.cn http://www.morning.kwz6232.cn.gov.cn.kwz6232.cn http://www.morning.gjlst.cn.gov.cn.gjlst.cn http://www.morning.mtbsd.cn.gov.cn.mtbsd.cn http://www.morning.splkk.cn.gov.cn.splkk.cn http://www.morning.ryfq.cn.gov.cn.ryfq.cn