【人生苦短,我学 Python】(4)Python 常用内置数据类型 II —— 序列数据类型(str、tuple、list、bytes和bytearray)
目录
- 简述 / 前言
- 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)
'2023'
>>> str(False)
'False'
>>> str(3.141592)
'3.141592'
>>> str('小邓在森林')
'小邓在森林'
>>> str([1, 2, 3])
'[1, 2, 3]'
>>> str(None)
'None'
1.2 str对象属性和方法
-
转成大写
>>> s = 'abc' >>> s.upper() # 字符串对象s的方法。输出:'ABC' 'ABC' >>> str.upper(s) # str类方法,字符串s作为参数。输出:'ABC' 'ABC' -
转成小写
>>> s = 'AbC' >>> s.lower() 'abc' >>> str.lower(s) 'abc' >>> s = '小邓在森林' >>> s.lower() '小邓在森林' >>> str.lower(s) '小邓在森林'注:大小写转换只对英文字符有用~
Python还提供了另一个内置函数
repr(),函数repr()返回一个对象的更精确的字符串表示形式,但是经过实操没发现它和str()有什么区别。>>> c = 1 / 3 >>> str(c) '0.3333333333333333' >>> repr(c) '0.3333333333333333'
1.3 字符串编码
- Python 3 字符默认为16位Unicode编码。
- 使用内置函数
ord()可以把字符转换为对应的Unicode码;使用内置函数chr()可以把十进制数转换为对应的字符。
>>> ord('a')
97
>>> ord('A')
65
>>> chr(97)
'a'
>>> chr(65)
'A'
>>> ord('森')
26862
>>> chr(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))1 >>> print(format("121", "^10"))121 >>> print(format("12321", "^10"))12321 - 右对齐
>>> print("1".rjust(10, "*")) *********1 >>> print(format("121", "*>10")) *******121 >>> print(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, 2
>>> t3 = 1,
>>> t4 = (1, 2, 3)
>>> t5 = 'a', 'b', 'c'
>>> t6 = 3.14 # 后面没加逗号,所以不是元组!
>>> print(t1, t2, t3, t4, t5, t6)
() (1, 2) (1,) (1, 2, 3) ('a', 'b', 'c') 3.14
3. 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 位置插入对象x |
| s.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)
'a'
>>> s
[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 'str'
>>> s.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%2==1] # 取奇数
[1, 3, 5, 7, 9]
4. 系列数据的基本操作
| 函数 | 功能 |
|---|---|
| len() | 获取系列的长度 |
| max() | 获取系列中元素最大值 |
| min() | 获取系列中元素最小值 |
| sum() | 获取列表或元组中各元素之和 |
| x in s | 元素x在s中吗?是的话为True,否则为False |
| x not in s | 元素x不在s中吗?是的话为True,否则为False |
| s.count(x) | 返回x在s中出现的次数 |
| s.index(x) | 返回x在s中第一次出现的下标 |
| sorted(iterable, key=None, reverse=False) | 返回系列的排序列表 |
| all(iterable) | 如果序列的所有值都为True,返回True;否则,返回False |
| any(iterable) | 如果序列的任意值为True,返回True;否则,返回False |
-
字符串
>>> s = '小邓在森林-2023' >>> len(s) 10 >>> max(s) '邓' >>> min(s) '-' >>> s1 = 'abcd' >>> len(s1) 4 >>> max(s1) 'd' >>> min(s1) 'a' >>> s2 = '' >>> len(s2) 0 >>> max(s2) Traceback (most recent call last):File "<stdin>", line 1, in <module> ValueError: max() arg is an empty sequence >>> min(s2) Traceback (most recent call last):File "<stdin>", line 1, in <module> ValueError: min() arg is an empty sequence >>> '小' in s True >>> '1' in s False >>> '1' not in s True >>> s.count('2') 2 >>> s.count('1566') 0 >>> s.index('森林') 3 >>> s.index('6') # '6'不在s中 Traceback (most recent call last):File "<stdin>", line 1, in <module> ValueError: substring not found >>> sorted(s) ['-', '0', '2', '2', '3', '在', '小', '林', '森', '邓'] >>> sorted(s, reverse=True) ['邓', '森', '林', '小', '在', '3', '2', '2', '0', '-'] >>> s1 = 'abAD' >>> sorted(s1, key=str.upper) ['a', 'A', 'b', 'D'] >>> sorted(s1, key=str.lower) ['a', 'A', 'b', 'D']注:汉字求
max,min是先将汉字转为汉字编码再进行大小比较,而英文则是转为 ASCII 码。空字符串不能求max和min! -
元组
>>> t = (1, 2, 3) >>> len(t) 3 >>> max(t) 3 >>> min(t) 1 >>> t1 = () >>> len(t1) 0 >>> max(t1) Traceback (most recent call last):File "<stdin>", line 1, in <module> ValueError: max() arg is an empty sequence >>> min(t1) Traceback (most recent call last):File "<stdin>", line 1, in <module> ValueError: min() arg is an empty sequence >>> 1 in t True >>> -1 in t False >>> -1 not in t True >>> t.count(1) 1 >>> t.index(2) 1 >>> t.index(1) 0 >>> sorted(t) [1, 2, 3] >>> sorted(t, reverse=True) [3, 2, 1]注:空元组不能求
max和min! -
列表
>>> l = [1, 2, 3] >>> len(l) 3 >>> max(l) 3 >>> min(l) 1 >>> l1 = [] >>> len(l1) 0 >>> max(l1) Traceback (most recent call last):File "<stdin>", line 1, in <module> ValueError: max() arg is an empty sequence >>> min(l1) Traceback (most recent call last):File "<stdin>", line 1, in <module> ValueError: min() arg is an empty sequence >>> 3 in l True >>> 3 not in l False >>> l.count(3) 1 >>> l.index(2) 1 >>> sorted(l) [1, 2, 3] >>> sorted(l, reverse=True) [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 = 'abcdefg' >>> s[0] 'a' >>> s[-1] 'g' >>> s[10] # 越界 Traceback (most recent call last):File "<stdin>", line 1, in <module> IndexError: string index out of range -
元组
>>> t = (1, 2, 3) >>> t[0] 1 >>> t[-1] 3 >>> t[-3] 1 >>> t[100] # 越界 Traceback (most recent call last):File "<stdin>", line 1, in <module> IndexError: tuple index out of range -
列表
>>> l = [1, 2, 3] >>> l[0] 1 >>> l[-1] 3 >>> l[2023] Traceback (most recent call last):File "<stdin>", line 1, in <module> IndexError: list index out of range
5. 系列的切片操作
前面只说了取一个元素,那么能不能一次性取多个元素呢?答案是可以的。
用 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 = 'abcdefg' >>> s[0:2] 'ab' >>> s[1:3] 'bc' >>> s[1:6:2] # 会间隔一个元素再取 'bdf' >>> s[::2] # 从第一个元素开始取,然后间隔一个元素再取 'aceg' >>> s[::-1] # 从后往前取 'gfedcba' >>> s[::-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 位字节数据组成的系列数据类型,即 0<=x<256 的整数系列。
6.1 bytes常量
使用字母 b 加单引号或双引号括起来的内容。
bytes常量与字符串定义方式类似:
- 单引号(
b' ')。包含在单引号中的字符串,其中可以包含双引号; - 双引号(
b" ")。包含在双引号中的字符串,其中可以包含单引号; - 三单引号(
b''' ''')。包含在三单引号中的字符串,可以跨行; - 三双引号(
b""" """)。包含在三双引号中的字符串,可以跨行。
6.2 创建 bytes 和 bytearrary 对象
| 函数 | 功能 |
|---|---|
| bytes() | 创建空的bytes对象 |
| bytes(n) | 创建长度为n的bytes对象,各字节为0 |
| bytearrary() | 创建空的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\x97'
>>> b.decode()
'小邓在森林'
这里只展示了字符串和字节码之间的转换,字符串还可以和 UTF-8、GBK 等编码进行转换!
文章传送门
上一篇文章:【人生苦短,我学 Python】(3)Python 常用内置数据类型 I —— 数值数据类型(int、float、complex、bool)
下一篇文章:
相关文章:
【人生苦短,我学 Python】(4)Python 常用内置数据类型 II —— 序列数据类型(str、tuple、list、bytes和bytearray)
目录 简述 / 前言1. str 数据类型(字符串)1.1 str对象1.2 str对象属性和方法1.3 字符串编码1.4 转义字符1.5 字符串的格式化 2. tuple 数据类型(元组)2.1 创建元组对象 3. list 数据类型(列表)3.1 创建列表…...
Android 9.0 系统默认显示电量百分比
Android 9.0 系统默认显示电量百分比 近来收到项目需求需要设备默认显示电量百分比,具体修改参照如下: /frameworks/base/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java private void updateShowPercent() {final boolean showin…...
原神:夏洛蒂是否值得培养?全队瞬抬治疗量不输五星,但缺点也很明显
作为四星冰系治疗角色,夏洛蒂的实战表现可以说相当让人惊喜。不仅有相当有意思的普攻动作以及技能特效,而且她还有治疗和挂冰等功能性。下面就来详细聊聊夏洛蒂是否值得培养。 【治疗量让人惊喜,但也有缺点】 说实话,在使用夏洛蒂…...
Sublime text 添加到鼠标右键菜单,脚本实现
Sublime text 添加到鼠标右键菜单 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\SublimeText] "Open with Sublime Text" "Icon""D:\\Program Files\\Sublime Text\\sublime_text.exe,0" [HKEY_CLASSES_ROOT\*\shell\Subl…...
【算法】离散化 与 哈希 之间的区别
离散化(Discretization)和哈希(Hashing)是两种不同的数据处理技术,用于处理不同类型的问题。 1. 离散化(Discretization): 离散化是将一组连续的数据映射到有限个离散值的过程。主要…...
Android : GPS定位 获取当前位置—简单应用
示例图: MainActivity.java package com.example.mygpsapp;import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.ActivityCompat; import androidx.core.content.ContextCompat;import android.Manif…...
目标检测——R-CNN算法解读
论文:Rich feature hierarchies for accurate object detection and semantic segmentation 作者:Ross Girshick, Jeff Donahue, Trevor Darrell, Jitendra Malik 链接:https://arxiv.org/abs/1311.2524 代码:http://www.cs.berke…...
基于傅里叶变换的运动模糊图像恢复算法matlab仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、傅里叶变换与图像恢复 4.2、基于傅里叶变换的运动模糊图像恢复算法原理 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 %获取角度 img…...
使用mock.js模拟数据
一、安装mock.js npm i mockjs 二、配置JSON文件 我们创建一个mock文件夹,用于存放mock相关的模拟数据和代码实现。 我们将数据全部放在xxx.json文件夹下,里面配置我们需要的JSON格式的数据。 注意:json文件中不要留有空格,否则…...
Android Handler同步屏障:深入解析
Android Handler同步屏障:深入解析 在Android开发中,Handler和MessageQueue是处理线程间通信的重要组件。除了常见的消息发送和处理功能,Handler还提供了一个高级特性:同步屏障。本文将深入探讨这一特性,包括它的工作…...
HT for Web (Hightopo) 使用心得(5)- 动画的实现
其实,在 HT for Web 中,有多种手段可以用来实现动画。我们这里仍然用直升机为例,只是更换了场景。增加了巡游过程。 使用 HT 开发的一个简单网页直升机巡逻动画(Hightopo 使用心得(5)) 这里主…...
Leetcode(面试题 08.01.)三步问题
文章目录 前言一、题目分析二、算法原理1.状态表示2.状态转移方程3.初始化4.填表顺序5.返回值是什么 三、代码实现总结 前言 在本文章中,我们将要详细介绍一下Leetcode(面试题 08.01.)三步问题相关的内容 一、题目分析 1.小孩可以上一阶,两阶ÿ…...
AIGC: 关于ChatGPT中输出表格/表情/图片/图表这些非文本的方式
ChatGPT 不止是 文本输出 ChatGPT是一个文本模型, 它本身并不能直接去生成图片图表等内容在我们的工作当中,经常需要通过表格, 图表的方式去进行数据的处理和展示在这种情况下,GPT由于不支持去直接的生成图片和图表,我们还能够使用它的GPT帮…...
聊聊logback的addtivity属性
序 本文主要研究一下logback的addtivity属性 LoggerModel ch/qos/logback/classic/model/LoggerModel.java PhaseIndicator(phase ProcessingPhase.SECOND) public class LoggerModel extends Model {private static final long serialVersionUID 5326913660697375316L;S…...
在网络安全护网中,溯源是什么?
在网络安全护网中,溯源是什么? 在网络安全护网中,溯源是指通过收集、分析和解释数字证据来追踪和还原网络攻击或其他网络犯罪活动的过程。它旨在确定攻击者的身份、行为和意图,以便采取适当的对策,并为法律机构提供必…...
【刷题】动态规划
动态规划 139. 单词拆分(一维) 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 示例 1&…...
hadoop操作
文件操作 注意当前所在的路径,创建一个mytest文件夹 创建一个1.txt文件 将1.txt文件移动到mytest中,通过mv改名字,然后查看mytest文件夹的txt文件变成了test.txt 删除文件 上传下载文件 新建1.txt 然后编辑它 随便输入什么 上传 然后看看网…...
角色管理--高级产品经理岗
研发组织管理--角色管理--高级产品经理岗 定位 产品从规划到推进落地的绝对主力,同时能赋能新人,带领新人高质,高效的完成产品的各项工作; 所需资质 某一领域产品专家,有产品架构能力,熟悉产品落地流程…...
nginx: [alert] could not open error log file
先把cmd的报错信息粘出来 nginx: [alert] could not open error log file: CreateFile() “logs/error.log” failed (3: The system cannot find the path specified) 2023/11/29 11:27:37 [emerg] 5040#18772: CreateDirectory() “D:\enviroment\nginx-1.24.0\conf/temp/cli…...
MySQL数据库:外键、唯一键、唯一索引
目录 说明 一、如果要使用外键,表的存储引擎选择哪个? 1.1 答 1.2 示范 1.2.1 主表 (1)MyISAM的表:masterTable2 (2)InnoDB的表:masterTable1 1.2.2 从表 (1&am…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
