一、字符串的相关操作

"""
(1)字符串的拼接
(2)字符串的重复
(3)字符串跨行拼接
(4)字符串的索引
(5)字符串的切片:
语法 => 字符串[::] 完整格式:[开始索引:结束索引:间隔值]
(1)[开始索引:] 从开始索引截取到字符串的最后
(2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
(3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
(4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取字符
(5)[:]或[::] 截取所有字符串 """

1、字符串的拼接

# (1)字符串的拼接 +
strvar = "今天是" + "星期一"
strvar += ",今天非常开心"
print(strvar)

2、字符串的重复

# (2)字符串的重复 *
strvar = "重要的事情说三遍" * 3
print(strvar)

3、字符串跨行拼接

strvar = "sdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdfsdf" \
"多余的几行放在第二行进行显示"
print(strvar)

4、字符串的索引

# 正向索引   0123
strvar = ""
# 逆向索引 -4-3-2-1

5、字符串的切片

# (5)字符串的切片:(切片 <=> 截取)
# (1)[开始索引:] 从开始索引截取到字符串的最后
strvar = "黑夜给我了黑色的眼睛,但是我却用翻白眼"
res = strvar[11:]
print(res) # (2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
res = strvar[:10]
print(res) # (3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
res = strvar[8:10]
print(res) # (4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取字符
# 正序
res = strvar[::3] # 0 3 6 9 12 15 ....从开始截取到最后
print(res)
# 倒序
res = strvar[::-1] # -1 -2 -3 -4 -5 -6 -7 ...
print(res) # (5)[:]或[::] 截取所有字符串
res = strvar[:]
res = strvar[::]
print(res)

二、字符串相关函数

# ### 字符串相关函数
# *capitalize 字符串首字母大写
strvar = "how old are you"
res = strvar.capitalize()
print(res) # *title 每个单词的首字母大写
strvar = "how old are you"
res = strvar.title()
print(res) # *upper 将所有字母变成大写
strvar = "to be or not to be that is a question"
res = strvar.upper()
print(res) # *lower 将所有字母变成小写
res = strvar.lower()
print(res) # *swapcase 大小写互换
strvar = "I Love You"
res = strvar.swapcase()
print(res) # *len 计算字符串的长度
strvar = "adfs234sdfsa"
res = len(strvar)
print(res) # *count 统计字符串中某个元素的数量
strvar = "adfs234sdfsa"
res = strvar.count("a")
print(res) # *find 查找某个字符串第一次出现的索引位置 (推荐)
"""字符串.find("字符",开始索引,结束索引) 如果找不到直接返回-1"""
strvar = "oh Father this is my Favorate dog"
res = strvar.find("F")
res = strvar.find("F",4)
res = strvar.find("Fav",5,10) # 结束索引本身取不到,取到之前的那个值
print(res) # *index 与 find 功能相同 find找不到返回-1,index找不到数据直接报错
# res = strvar.index("Fav",5,10) error # *startswith 判断是否以某个字符或字符串为开头
"""字符串.startswith("字符",开始索引,结束索引) 如果存在返回True,否则返回False"""
strvar = "oh Father this is my Favorate dog"
res = strvar.startswith("oh")
res = strvar.startswith("this",10)
res = strvar.startswith("this",10,13) # 10 11 12
print(res) # *endswith 判断是否以某个字符或字符串结尾
res = strvar.endswith("dog")
res = strvar.endswith("rate",-12)
res = strvar.endswith("rate",-12,-4)
print(res) # *isupper 判断字符串是否都是大写字母
strvar = "ABCD"
res = strvar.isupper()
print(res) # *islower 判断字符串是否都是小写字母
strvar = "abcdd12345"
res = strvar.islower()
print(res) # *isdecimal 检测字符串是否以数字组成 必须是纯数字
strvar = ""
strvar = "12354.8979112"
res = strvar.isdecimal()
print(res) strvar = "abc"
#ljust 填充字符串,原字符居左 (默认填充空格)
res = strvar.ljust(10)
print(res)
#rjust 填充字符串,原字符居右 (默认填充空格)
res = strvar.rjust(10,"&")
print(res)
# *center 填充字符串,原字符居中 (默认填充空格) res = strvar.center(10) # 原字符串长度 + 填充字符长度 = 10 ,默认填充空格
res = strvar.center(10,"#")
print(res) # *strip 默认去掉首尾两边的空白符
strvar = "@@@@@ 周杰伦 @@@@@"
res = strvar.strip()
res = strvar.strip("@") # 指定去掉的符号
print(res) strvar = "@@@@@ 周杰伦 @@@@@"
#rstrip 去掉右边某个字符
print( strvar.rstrip("@") )
#lstrip 去掉左边某个字符
print( strvar.lstrip("@") ) # 重要!!!
# *split 按某字符将字符串分割成列表(默认字符是空格)
strvar = "you can you up no can no bb"
lst = strvar.split()
strvar = "you-can-you-up-no-can-no-bb"
lst = strvar.split("-") # 从左到右分隔
lst = strvar.rsplit("-",2)# 从右到左分隔,(可以指定分隔的次数)
print(lst) # *join 按某字符将列表拼接成字符串(容器类型都可)
lst = ['you', 'can', 'you', 'up', 'no', 'can', 'no', 'bb']
res = "-".join(lst)
print(res) # *replace 替换,把字符串的旧字符换成新字符
"""replace(要替换的字符,替换成什么,替换的次数)"""
strvar = "可爱的小青蛙喜欢吃蚊子,有没有,有没有,还有没有"
res = strvar.replace("有没有","真没有")
res = strvar.replace("有没有","真没有",1)
print(res)

字符串相关函数

# test = "username\temail\tpassword\nkxssq\t113555\t123456\nkxq\t113555\t123456\nkxq\t113555\t123456"
# v = test.expandtabs(10)
# print(v) # 首字母大写
# test = "adfs"
# v = test.capitalize()
# print(v) # 大写转小写 lower只能对应英文字符 casefold可以特殊字符
# test = "aSdf"
# v1 = test.casefold()
# print(v1)
# v2 = test.lower()
# print(v2) # 设置宽度,并将内容居中
# 20总长度,把aSdf居中
# test = "aSdf"
# v = test.center(20, '*')
# print(v) # 空白未知填充,一个字符可有可无
# test = "kxq"
# v1 = test.ljust(20, '*')
# print(v1)
# v2 = test.rjust(20, '*')
# print(v2)
# v3 = test.zfill(20)
# print(v3) # 字符串出现的次数
# test = "aSdffaSdff"
# v = test.count('a')
# print(v) # 字符串在第几个字符之间出现的次数 a 0
# test = "aSdffaSdff"
# v = test.count('aS', 5, 11)
# print(v) # encode
# decode
# test = "aSdffaSdff"
# print(test.encode("gbk"))
# print(test.encode("utf-8")) # 以什么结尾
# test = "asdf"
# v = test.endswith('f')
# print(v)
# # 以什么开始
# test = "asdf"
# v = test.startswith('a')
# print(v) # 从开始往后找,找到第一个后,获取下标 >=5 <7 未找到-1
# 方法index() 找不到会报错 忽略用find 找不到返回-1
# test = "asdfasdf"
# v = test.find('sd', 5, 7)
# print(v) # 格式化,将字符串中的占位符替换为指定的值
# test = "i an {name}"
# v = test.format(name = 'kxq')
# print(v)
# test = "i an {0}"
# v = test.format('kxq')
# print(v)
#
# test = "i an {name}"
# v = test.format_map({"name": "kxq"})
# print(v) # 字符串中是否只包含字母数字
# test = "adf89-_"
# v = test.isalnum()
# print(v) # 字符串中是否是字母、汉字
# test = "adf89-_"
# v = test.isalpha()
# print(v) # 判定当前输入的是否是数字 isdigit()可以判定特殊的数字 例:圈2
# test = "123"
# v1 = test.isdecimal()
# v2 = test.isdigit() # 圈 2
# v3 = test.isnumeric() # 这种“二”也是数字
# print(v1, v2) # 是否存在不可显示的字符 \t \n
# test = "af\nds"
# v = test.isprintable()
# print(v) # 判断是否全部是空格
# test = "af dsd"
# v = test.isspace()
# print(v) # 判断是否是标题
# test = " Return True if the string is a title-cased string, False otherwise"
# v1 = test.istitle()
# print(v1)
# v2 = test.title()
# print(v2)
# v3 = v2.istitle()
# print(v3) # 将字符串中的每一个元素按照指定分隔符进行拼接
# test = "你是风儿我是沙"
# print(test)
# t = " "
# v = t.join(test)
# print(v) # lower:判断字符串是否全部为小写,字符串都变为小写 upper:判断字符串是否全部为大写,字符串都变为大写
# test = "Kxq"
# v1 = test.islower()
# v2 = test.lower()
# v3 = v2.islower()
# print(v1, v2, v3)
# v4 = test.isupper()
# v5 = test.upper()
# v6 = v5.isupper()
# print(v4, v5, v6) # # 去除左右 全部空格 \n \t 可移除指定字符串,有限最多匹配 test.rstrip(qx)
# test = " kxq "
# v1 = test.lstrip()
# v2 = test.rstrip()
# v3 = test.strip()
# print(v1)
# print(v2)
# print(v3) # v1建立对应关系,v1把test中字符aeiou替换为12345
# test = "fdasfgdasgas;aeiouasdfg;erwqiopjmfa"
# v1 = str.maketrans("aeiou", "12345")
# v2 = test.translate(v1)
# print(v2) # 以‘f’ 为分隔符,进行分割 parttition:从左到右 rpartition:从右到左 包含字符‘f’
test = "adfajlkupowerfsd"
v1 = test.partition('f')
print(v1)
# v2 = test.rpartition('f')
# print(v2)
# # 不包含字符'f'
# v3 = test.split('f')
# print(v3)
# v4 = test.rsplit('f')
# print(v4)
#
# # 分割,只能根据\n True包含\n False不包含\n
# test = "fasfs\ngasgf\natsgf"
# v1 = test.splitlines(True)
# print(v1)
# v2 = test.splitlines(False)
# print(v2) # 以***开头,以***结尾
# test = "fasgsafg"
# v1 = test.startswith('fa')
# print(v1)
# v2 = test.endswith('fg')
# print(v2) # 大小写转换
test = "kXq"
v1 = test.swapcase()
print(v1)

相对完整举例字符串函数

三、字符串的格式化 format

# (1)顺序传参
strvar = "{}向{}开了一枪,银弹而亡".format("李志辉","明浩")
print(strvar) # (2)索引传参
strvar = "考试时{1},游戏时{0}".format("唯唯诺诺","重拳出击")
print(strvar) # (3)关键字传参
strvar = "{who2}甩了一个飞吻,{who1}神魂颠倒".format(who1="刘彩霞",who2="马生平")
print(strvar) # (4)容器类型数据(列表或元祖)传参
strvar = "{1[2]}向{0[0]}抛了一个媚眼,鼻血直冒三万多尺,失血而亡".format(["孙翔群","曹晨光","宋云杰"],("李亚","孙致和","温子月"))
print(strvar) # format当中,不能使用逆向下标,不识别
strvar = "{group2[0]}向{group1[-1]}抛了一个媚眼,鼻血直冒三万多尺,失血而亡".format(group1 = ["孙翔群","曹晨光","宋云杰"],group2 = ("李亚","孙致和","温子月"))
print(strvar) # 如果容器是字典,直接写键值,不需要加上引号
strvar = "{group1[ccg]}向{group2[1]}抛了一个媚眼,鼻血直冒三万多尺,失血而亡".format(group1 = {"kxq":"孙翔群","ccg":"曹晨光","syj":"宋云杰"},group2 = ("李亚","孙致和","温子月"))
print(strvar)

format

1、format填充符号的使用

"""
^ 原字符串居中
> 原字符串居右
< 原字符串居左 {who:*^10}
who : 关键字参数
* : 要填充的字符
^ : 原字符串居中
10 : 总长度 = 原字符串长度 + 填充字符长度
""" strvar = "{who:*^10}在{where:>>10},{do:!<10}".format(who="刘鹏",where="电影院",do="拉屎")
print(strvar) # (6)进制转换等特殊符号的使用( :d :f :s :, ) # :d 整型占位符 (要求类型必须是整型)
strvar = "刘子豪昨天买了{:d}个花露水".format(100) # 100.5error
print(strvar)
# :2d 占用两位,不够两位拿空格来补,默认居右
strvar = "刘子豪昨天买了{:2d}个花露水".format(3)
# < > ^ 调整对应的位置
strvar = "刘子豪昨天买了{:<2d}个花露水".format(3)
strvar = "刘子豪昨天买了{:^3d}个花露水".format(3)
print(strvar) # :f 浮点型占位符 (要求类型必须是浮点型)
strvar = "刘心毕业时,找工作的薪资是{:f}".format(2.5)
# :.2f 小数点保留2位
strvar = "刘心毕业时,找工作的薪资是{:.2f}".format(2.56789)
print(strvar) # :s 字符串占位符 (要求类型必须是浮点型)
strvar = "{:s}".format("今天天气不错,万里无云")
print(strvar) # :, 金钱占位符
strvar = "{:,}".format(123456789)
print(strvar)

填充符号的使用

四、练习

'''
1.有变量name = "aleX leNb" 完成如下操作: 移除 name 变量对应的值两边的空格,并输出处理结果
1)移除name变量左边的"al"并输出处理结果
2)移除name变量右面的"Nb",并输出处理结果
3)移除name变量开头的a与最后的"b",并输出处理结果
4)判断 name 变量是否以 "al" 开头,并输出结果
5)判断name变量是否以"Nb"结尾,并输出结果
6)将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果
7)将name变量对应的值中的第一个"l"替换成"p",并输出结果
8)将 name 变量对应的值根据 所有的"l" 分割,并输出结果。
9)将name变量对应的值根据第一个"l"分割,并输出结果。
10)将 name 变量对应的值变大写,并输出结果
11)将 name 变量对应的值变小写,并输出结果
12)将name变量对应的值首字母"a"大写,并输出结果
13)判断name变量对应的值字母"l"出现几次,并输出结果
14)如果判断name变量对应的值前四位"l"出现几次,并输出结果
15)从name变量对应的值中找到"N"对应的索引(如果找不到则报错),并输出结果
16)从name变量对应的值中找到"N"对应的索引(如果找不到则返回-1)输出结果
17)从name变量对应的值中找到"X le"对应的索引,并输出结果
18)请输出 name 变量对应的值的第 2 个字符?
19)请输出 name 变量对应的值的前 3 个字符?
20)请输出 name 变量对应的值的后 2 个字符?
21)请输出 name 变量对应的值中 "e" 所在索引位置? 2.实现一个整数加法计算器(两个数相加):
如:content = input("请输入内容:") 用户输入:5+9或3+ 9或5 + 6,然后进行分割再进行计算 3.升级题:实现一个整数加法计算器(多个数相加):
如:content = input("请输入内容:") 用户输入:5+9+6 +12+ 13,然后进行分割再进行计算。 4.计算用户输入的内容中有几个整数(以个位数为单位)。
如:content = input("请输入内容:") # 如fhdal234slfh98769fjdla 5.等待用户输入内容,是否包含敏感字符?
如果存在敏感字符提示“存在敏感字符请重新输入”,敏感字符:“粉嫩”、“铁锤” 6.制作趣味模板程序需求:等待用户输入名字、地点、爱好
拼装数据打印出:敬爱可亲的xxx,最喜欢在xxx地方xxx
'''

# 0)移除 name 变量对应的值两边的空格,并输出处理结果
res = name.strip()
print(res)

1.0

# 1)移除name变量左边的"al"并输出处理结果
res = name.lstrip("al")
res = name[2:]
print(res)

1.1

# 2)移除name变量右面的"Nb",并输出处理结果
res = name.rstrip("Nb")
res = name[:-2]
print(res)

1.2

# 3)移除name变量开头的a与最后的"b",并输出处理结果
print(name[1:-1])
res = name.strip("ab")
print(res)

1.3

# 4)判断 name 变量是否以 "al" 开头,并输出结果
print(name.startswith("al"))

1.4

# 5)判断name变量是否以"Nb"结尾,并输出结果
print(name.endswith("Nb"))

1.5

# 6)将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果
print(name.replace("l","p") )

1.6

# 7)将name变量对应的值中的第一个"l"替换成"p",并输出结果
print(name.replace("l","p",1) )

1.7

# 8)将 name 变量对应的值根据 所有的"l" 分割,并输出结果。
print(name.split("l"))

1.8

# 9)将name变量对应的值根据第一个"l"分割,并输出结果。
print(name.split("l",1))

1.9

# 10)将 name 变量对应的值变大写,并输出结果
print(name.upper())

1.10

# 11)将 name 变量对应的值变小写,并输出结果
print(name.lower())

1.11

# 12)将name变量对应的值首字母"a"大写,并输出结果
print(name.capitalize())

1.12

# 13)判断name变量对应的值字母"l"出现几次,并输出结果
name.count("l")

1.13

# 14)如果判断name变量对应的值前四位"l"出现几次,并输出结果
print(name.count("l",0,4))

1.14

# 15)从name变量对应的值中找到"N"对应的索引(如果找不到则报错),并输出结果
name.index("N")

1.15

# 16)从name变量对应的值中找到"N"对应的索引(如果找不到则返回-1)输出结果
name.find("N")

1.16

# 17)从name变量对应的值中找到"X le"对应的索引,并输出结果
name.find("X le")

1.17

# 18)请输出 name 变量对应的值的第 2 个字符?
name[1]

1.18

# 19)请输出 name 变量对应的值的前 3 个字符?
name[:3]

1.19

# 20)请输出 name 变量对应的值的后 2 个字符?
name[-2:]

1.20

# 21)请输出 name 变量对应的值中 "e" 所在索引位置?
name = "aleX leNb"
print(name.find("e")) i = 0
while i<len(name):
if name[i] == "e":
print(i)
i+=1

1.21

# 2.实现一个整数加法计算器(两个数相加):
# 如:content = input("请输入内容:") 用户输入:5+9或3+ 9或5 + 6,然# 后进行分割再进行计算
content = input("请输入内容:")
print(content)
a,b = content.split("+")
total = int(a) + int(b)
print(total) print( int(" 6 ") )

2

# 3.升级题:实现一个整数加法计算器(多个数相加):
# 如:content = input("请输入内容:") 用户输入:5+9+6 +12+ 13,然后进行分割再进行计算。
content = input("请输入内容:")
lst = content.split("+")
total = 0
print(lst)
for i in lst:
total += float(i)
print(total) total = 0
content = input("请输入内容:")
for i in content :
if i.isdecimal():
total += 1 print(total)

3

# 5.等待用户输入内容,是否包含敏感字符?
# 如果存在敏感字符提示“存在敏感字符请重新输入”,敏感字符:“粉嫩”、“铁锤”
while True:
sign = False
strvar = input("请输入内容:")
lst = ["粉嫩","铁锤"]
for i in lst:
if i in strvar:
sign = True
print("有敏感词汇") if sign == False:
print("这个名字可以使用") # for .. else .. 如果遇到break终止循环,else这个分支不执行;
for i in range(3):
print(i)
if i == 1:
break
else:
print("ok") while True:
sign = False
strvar = input("请输入内容:")
lst = ["粉嫩","铁锤"]
for i in lst:
if i in strvar:
print("有敏感词汇!")
break
else:
print("这个名字可以使用!")

5

# 6.制作趣味模板程序需求:等待用户输入名字、地点、爱好
# 拼装数据打印出:敬爱可亲的xxx,最喜欢在xxx地方xxx name = input("请输入名字:")
place = input("请输入地点:")
hobby = input("请输入爱好:") print("敬爱可亲的{},最喜欢在{}地方{}".format(name,place,hobby))

6

day7.关于字符串的相关操作的更多相关文章

  1. Python字符串的相关操作

    1.大小写转换 判断字符串 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.islower() #所有字 ...

  2. 路径打印(set以及字符串的相关操作)

    题目链接 题目描述 给你一串路径,譬如: a\b\c a\d\e b\cst d\ 你把这些路径中蕴含的目录结构给画出来,子目录直接列在父目录下面,并比父目录向右缩一格,就像这样: a   b     ...

  3. Java 常用知识点汇总(数据类型之间转换、字符串的相关操作-截取、转换大小写等)

    1.Java四类八种数据类型 byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围- ...

  4. Python中的字符串及其相关操作

    1.表示: 字符串可以用单引号或者双引号括起来,两者效果是完全一样的. 针对较长的字符串,也可以用三个引号括起来,即"""..."""或者' ...

  5. JS中字符串的相关操作

    一.字符串的创建 创建一个字符串有几种方法.最简单的是用引号将一组字符包含起来,可以将其赋值给一个字符串变量. var myStr = "Hello, String!"; 可以用双 ...

  6. python基础学习一 字符串的相关操作

    python的字符串 在python中,字符串是以unicode编码的,所以python的字符串支持多语言 对于单个字符的编码,python提供了ord()函数获取字符的整数表示,chr()函数是把编 ...

  7. Python 字符串的相关操作

    s = "abcdefg" s1 = s.capitalize() # 把首字母变成大写, 返回给你一个新的字符串 print(s) print(s1) s = "ale ...

  8. python基础===【字符串】所有相关操作

    #字符串的相关操作 #基本操作 #+ 字符串连接操作 str1 = '来是come走是go' str2 = '点头yes摇头no' result = str1 + str2 print(result) ...

  9. DateTimeHelper【日期类型与字符串互转以及日期对比相关操作】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 实现日期和字符串之间的转换以及日期的相关操作: 1.日期格式的字符串输出为Date类型: 2.将Date类型以指定格式输出: 3.将 ...

随机推荐

  1. Django---进阶8

    目录 前后端传输数据的编码格式(contentType) ajax发送json格式数据 ajax发送文件 django自带的序列化组件(drf做铺垫) ajax结合sweetalert 批量插入 分页 ...

  2. 仅需5步,轻松升级K3s集群!

    Rancher 2.4是Rancher目前最新的版本,在这一版本中你可以通过Rancher UI对K3s集群进行升级管理. K3s是一个轻量级Kubernetes发行版,借助它你可以几分钟之内设置你的 ...

  3. 开发者必备——API设计问题

    本文主要探讨RPC和RESTFul两种API风格的特点以及在开发中应该如何进行技术选型,同时截取了网上社区,文章一部分关于API设计的想法和观点供读者参考,取舍. 1,背景简述 API学名:应用程序接 ...

  4. day25 ATM项目(第一天)

    项目的说明书 项目:ATM + 购物车 项目需求: 1.额度15000或自定义 --> 注册功能 2.实现购物商城,买东西加入购物车,调用信用卡接口结账 --> 购物功能.支付功能 3.可 ...

  5. day21 模块与包+软件开发目录规范

    目录 一.导入模块的两种方式 二.模块搜索的路径的优先级 三.循环导入 四.区分py文件的两种用途 五.编写一个规范的模板 五.包 1 什么是包 2 为什么要有包 3 包的相关使用 3.1 在当前文件 ...

  6. 关于小白一天摆弄Axure产品原型的心得

    因为项目所需,被迫快速设计产品原型,制作app使用视频,这里简单分享一些一个小白第一次触碰产品原型设计的一些心得: 原型设计工具的选用 我这里针对的是贫穷学生党,分享的是自己尝试的几款.有钱大佬自行绕 ...

  7. Mysql基础(五):多表查询、pymysql模块

    目录 数据库04 /多表查询.pymysql模块 1. 笛卡尔积 2. 连表查询 3. 子查询 4. pymysql模块 数据库04 /多表查询.pymysql模块 1. 笛卡尔积 将两表所有的数据一 ...

  8. Python之常用模块学习(二)

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  9. keyring源码加密解密函数分析

    Encrypt the page data contents. Page type can't be FIL_PAGE_ENCRYPTED, FIL_PAGE_COMPRESSED_AND_ENCRY ...

  10. git的撤销、删除和版本回退

    目录 备注: 知识点: 查看git仓库的状态 查看历史记录. 版本回退 备注: 本文参考于廖雪峰的博客Git教程.依照其博客进行学习和记录,感谢其无私分享,也欢迎各位查看原文. 知识点: 1.git ...