字符串

字符串的基础结构

字符串:存储一些数据

字符串是有序的,有顺序就意味着有索引,有索引就意味着可以切片和步长

下面是帅帅的外号,一般叫这些,帅帅都会知道是在叫他

print(name[0]) #结果:人

索引:准确而快速的查找

切片:顾头不顾尾

  1. 固定结构 字符串名[起始索引:终止索引]

    1. 获取’‘吴彦祖’’

      print(name[14:17])
      
    2. 获取’‘迷人’'后面的内容

      print(name[12:])  #因为是获取迷人后面的内容,知道是从帅开始,但是切片顾头不顾尾,所直接匹配所有即可
      

索引超出会报错,而切片超出不会报错

步长:确定查找的方向和迈的步子

查找偶数位的字符:name[::2]
获取'博一王':name[-1:-4:-1]

淇淇的进阶课堂

判断一个数是不是回文数

num_input = input("请输入进行判断是否回文")
def palin_num(num):return 1 if num[::] == num[-1::-1] else 0
print("是回文数" if palin_num(num_input) else "不是回文数")
#此题还可以精简,但是为了把切片跟步长都用上,故此这样写

字符串一旦创建就不能被修改(比如淇淇,生下来就不能在回炉重造一样)

字符串的方法

字符串常用方法

#字符串大小写转换
capitalize:将字符串的第一个字母变为大写
casefold:将字符串中的内容变为小写
title:检测字符串中首字母大写,其他字母为小写upper:将字符串中的小写字母转换为大写字母
isupper:检测字符串中所有的字符是否为大写
lower:将字符串中的大写字母转换为小写字母
islower:判断是不是由小写字母组成startswith:用于判断字符串是否以指定前缀开头
endswith:用于判断字符串是否以指定后缀结尾center:返回一个原字符串居中,并使用空格填充至长度width的新字符串。默认填充字符为空格
count:统计字符串里面某个字符出现的次数,可选参数为在字符串搜索的开始与结束位置encode:以encoding指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案index:查询字符的索引,index找不到会报错
find:查询字符的索引,find找不到返回-1format:格式化,替代了占位符(%d,%s,%i)
常用内置函数:format()join:用于将序列中的字符连成一个新的字符,join后面放的一般是一个可迭代对象replace:将字符串中旧字符串替换为新字符串
split:对字符串进行分割,返回列表isalnum:判断是不是由字母,数字组成
isalpha:判断是不是只有字母组成
isdecimal:判断是不是由十进制数字组成,该方法只针对unicode对象
isdigit:判断是不是只由数字组成

字符串所有方法

name = "人见人爱花见花开帅气迷人帅过吴彦祖彭于晏薛之谦王一博"# capitalize:将字符串的第一个字母变为大写
name = "shuaishuai"
print(name.capitalize()) #Shuaishuai#casefold:将字符串中的内容变为小写
name = "SHUAISHUAI"
print(name.casefold()) shuaishuaicenter:返回一个原字符串居中,并使用空格填充至长度width的新字符串。默认填充字符为空格
name = "shuaishuai"
print(name.center(30,"*")) **********shuaishuai**********count:统计字符串里面某个字符出现的次数,可选参数为在字符串搜索的开始与结束位置
import re
name = "aaadsabbsdadscadcasdcd\tds\naddsa  ddeadsaeefffsssaa\n"
结果:a13d12s10b2c3t1n22e3f3
print(name.count("a"))
dic = {}
for i in range(len(name)):dic.setdefault(name[i],name.count(name[i]))
s = ""
print(dic)
for i in re.findall("\w+",str(dic)):s += "".join(i)
print(s)
淇淇的进阶课堂:将以上代码封装成一个函数encode:以encoding指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案
name = "人见人爱花见花开帅气迷人帅过吴彦祖彭于晏薛之谦王一博"
print(name.encode(encoding="utf-8"))startswith:用于判断字符串是否以指定前缀开头
endswith:用于判断字符串是否以指定后缀结尾
name = "人见人爱花见花开帅气迷人帅过吴彦祖彭于晏薛之谦王一博"
print(name.startswith("爱"))
print(name.endswith("你"))expandtabs:将字符串中的tab换位空格
name = "人见人爱\t花见花开\t帅气迷人\t帅过吴彦祖彭于晏薛之谦王一博"
print(name.expandtabs())index:查询字符
find:查询字符
name = "人见人爱\t花见花开\t帅气迷人\t帅过吴彦祖彭于晏薛之谦王一博"
print(name.index("爱"))
print(name.index("帅帅"))  index找不到的时候会报错
print(name.find("爱"))
print(name.find("帅帅")) find找不到的时候返回-1format:格式化,替代了占位符(%d,%s,%i)
name = "人见人爱\t花见花开\t帅气迷人\t帅过吴彦祖彭于晏薛之谦王一博"
print("{}".format(name))
name1 = "帅帅"
name2 = "淇淇"
接收不安参数,不限制位置,位置不限顺序
print("{0}{1}".format(name1,name2))
print("{1}{0}{1}".format(name1,name2)) 根据format里面的顺序来输出设置参数
print("姓名:{name},年龄{age}".format(name = "帅帅",age = 18))
通过字典设置参数
dic = {"name":"帅帅","age":18}
print("姓名:{name},年龄{age}".format(**dic))  字典用解包将他解开
print("姓名:{name},年龄{age}".format_map(dic))  不需要再进行解包传真实值,自己就把键值对一一对应了
通过列表设置参数
lst = ["帅帅",18]
print("姓名:{0[0]},年龄{0[1]}".format(lst)) 0是必须的
print("姓名:{lst[0]},年龄{lst[1]}".format(lst=lst)) 也可以给字符串起名字,默认为0
print("姓名:{0[0]},年龄{0[1]}".format(*lst)) 解开的lst的结果为:姓名:帅,年龄帅
还可以传入对象:因为对象暂时没学,所以暂时不更
数字格式化  数字格式化的时候直接进行查询就可以
num = 3.1415926
print("{:.2f}".format(num))format_map  用于字符串格式中可变数据参数来源于字典等映射关系数据时才可以使用,参数不需传入“关键字=真实值”,而是直接传入真实的字典值
dic = {"name":"帅帅","age":18}
print("姓名:{name},年龄{age}".format_map(dic))  不需要再进行解包传真实值,自己就把键值对一一对应了isalnum:判断是不是由字母,数字组成
name = "人见人爱\t花见花开\t帅气迷人\t帅过吴彦祖彭于晏薛之谦王一博"
print(name.isalnum())isalpha:判断是不是只有字母组成
name = "人见人爱\t花见花开\t帅气迷人\t帅过吴彦祖彭于晏薛之谦王一博"
print(name.isalpha())isdecimal:判断是不是由十进制数字组成,该方法只针对unicode对象
name = "人见人爱\t花见花开\t帅气迷人\t帅过吴彦祖彭于晏薛之谦王一博"
print(name.isdecimal())isdigit:判断是不是只由数字组成
name = "人见人爱\t花见花开\t帅气迷人\t帅过吴彦祖彭于晏薛之谦王一博"
print(name.isdigit())isidentifier:判断是不是由字母开头
name = "人见人爱\t花见花开\t帅气迷人\t帅过吴彦祖彭于晏薛之谦王一博"
print(name.isidentifier())islower:判断是不是由小写字母组成
name = "人见人爱\t花见花开\t帅气迷人\t帅过吴彦祖彭于晏薛之谦王一博"
print(name.islower())判断是不是只由数字组成
name = "人见人爱\t花见花开\t帅气迷人\t帅过吴彦祖彭于晏薛之谦王一博"
print(name.isnumeric())isprintable:判断是不是可见可打印字符
name = "人见人爱\t花见花开\t帅气迷人\t帅过吴彦祖彭于晏薛之谦王一博"
print(name.isprintable())isspace:检测是否只由空格组成
name = "人见人爱\t花见花开\t帅气迷人\t帅过吴彦祖彭于晏薛之谦王一博"
print(name.isspace())title:检测字符串中首字母大写,其他字母为小写
print(name.istitle())isupper:检测字符串中所有的字符是否为大写
print(name.upper())join:用于将序列中的字符连成一个新的字符,join后面放的一般是一个可迭代对象
print("hhh".join(name))
print(name.join("hhh"))
淇淇的进阶课堂
name = ["shuaishuai","qiqi","shuaishuai"] 结果:shuaishuai_qiqi_shuaishuai
print("_".join(name))判断字符串是否小写
name = "人见人爱\t花见花开\t帅气迷人\t帅过吴彦祖彭于晏薛之谦王一博"
print(name.lower())maketrans用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。 两个字符串的长度必须相同,为一一对应的关系
from string import maketrans   导入有问题,暂时没解决
name = "人见人爱\t花见花开\t帅气迷人\t帅过吴彦祖彭于晏薛之谦王一博"
maketrans("王一博","没我帅")
print(name.translate())partition:返回指定的分隔符,第一个为左边的,第二个为分隔符本身,第三个为右边的分隔符。返回的结果是一个元组
name = "帅帅淇淇帅帅"
print(name.partition("淇淇"))replace:将字符串中旧字符串替换为新字符串
name = "人见人爱\t花见花开\t帅气迷人\t帅过吴彦祖彭于晏薛之谦王一博"
print(name.replace("王一博","没有帅帅帅"))split:对字符串进行分割,返回列表
name = "人见人爱\t花见花开\t帅气迷人\t帅过吴彦祖彭于晏薛之谦王一博"
print(name.split("帅"))  分割的字符会不见splitlines:按照行进行分割
name = "人见人爱\t花见花开\t帅气迷人\t帅过\n吴彦祖\n彭于晏\n薛之谦王一博"
print(name.splitlines())不写会把\n切割
print(name.splitlines(True)) 写了之后会在\n之后切除,保存\nstrip:移除字符串头尾的空格,换行符,制表符
print(name.strip())swapcase:用于对字符串的大小写进行转换
name = "SHUAISHUAIqiqiSHUAISHUAI"
print(name.swapcase())title:以大写字母开头,其余均为小写
print(name.title())translate一般跟maketrans配合使用,暂时没搞明白upper:将字符串中的小写字母转换为大写字母
print(name.upper())zfill返回指定长度的字符串,源字符串右对齐,前面补0
name = 15
new_name = str(bin(name)).replace("b","")
print(new_name.zfill(8))
#淇淇的进阶课堂,在二进制位数前面补0
name = 15
print(format(int(name),"08b")) #b就是二进制,然后一共八位,前边用0补齐,遵循二进制的规则,不能乱补

字符串练习题

  1. name = “人见人爱\t花见花开\t帅气迷人\t帅过吴彦祖彭于晏薛之谦王一博”

    1. 提取索引是偶数的字符
    2. 提取索引是奇数的字符
    3. 查找吴彦祖
    4. 将\t替换为\n
    5. 查找’帅’的索引
    6. 判断name是不是由字母组成
    7. 判断name是不是由字母数字组成
    8. 判断name是不是由整型数字组成
    9. 判断name是不是数字
    10. 统计帅出现的次数
  2. lst = [“淇淇”,“帅帅”,“淇淇”],将其输出为:淇淇-帅帅-淇淇
  3. name = “shuaishuaiShuaiQIQI”
    1. 将name里面的大写转为小写
    2. 将name里面的小写转为大写
    3. 将name的首字母大写
    4. 将name的最后一个字母小写
    5. 将shuaishuai全部变为大写
    6. 将QIQI全部变为小写
    7. 查找s的索引
    8. 查找s是不是在name中
    9. 将name以utf-8的形式输出
    10. 将name变为:shuaishuaiqiqi

字符串的方法综合


"""
capitalize  将字符串的第一个字母变为大写
casefold  将字符串中的内容变为小写
center  返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格
count  用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
encode  以 encoding 指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案
endswith  用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置。
expandtabs  把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8
find  检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1
format  可以接受不限个参数,位置可以不按顺序
format_map  用于字符串格式中可变数据参数来源于字典等映射关系数据时才可以使用,参数不需传入“关键字=真实值”,而是直接传入真实的字典值
index  检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内
isalnum  检测字符串是否由字母和数字组成
isalpha  检测字符串是否只由字母组成
isdecimal  检查字符串是否只包含十进制字符。这种方法只存在于unicode对象
isdigit  检测字符串是否只由数字组成
isidentifier  字符串是否是字母开头
islower  检测字符串是否由小写字母组成
isnumeric  检测字符串是否只由数字组成。这种方法是只针对unicode对象
isprintable  判断是不是都为可见/可打印字符
isspace  检测字符串是否只由空格组成
istitle  检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写
isupper  检测字符串中所有的字母是否都为大写
join  用于将序列中的元素以指定的字符连接生成一个新的字符串
ljust  返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则返回原字符串
lower  转换字符串中所有大写字符为小写
lstrip  用于截掉字符串左边的空格或指定字符
maketrans  用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。注:两个字符串的长度必须相同,为一一对应的关系
partition  用来根据指定的分隔符将字符串进行分割。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
replace  把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
rfind  字符串最后一次出现的位置(从右向左查询),如果没有匹配项则返回-1。
rindex  返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常,你可以指定可选参数[beg:end]设置查找的区间
rjust  返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串
rpartition  方法类似于 partition() 方法,只是该方法是从目标字符串的末尾也就是右边开始搜索分割符。。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。
rsplit  通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
rstrip  删除 string 字符串末尾的指定字符(默认为空格).
split  通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
splitlines  按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
startswith  用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。
strip  用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。 该方法只能删除开头或是结尾的字符,不能删除中间部分的字符
swapcase  用于对字符串的大小写字母进行转换。
title  返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
translate  根据参数table给出的表(包含 256 个字符)转换字符串的字符,要过滤掉的字符放到 deletechars 参数中
upper  将字符串中的小写字母转为大写字母。
zfill  返回指定长度的字符串,原字符串右对齐,前面填充0。
"""

总结

处理字符就以他的特点处理,方法一定会有匹配的

处理数字,也要想办法把他变为字符然后再处理

善于利用格式化format和字符串拼接join

善于利用count计算字符存在的次数

作业

# 1.有变量name = "aleX leNb" 完成如下操作:
name = "aleX leNb LNBL"
# 移除 name 变量对应的值两边的空格,并输出处理结果
print(name.strip())
# 判断 name 变量是否以 "al" 开头,并输出结果
print(name.startswith("aL"))
# 判断name变量是否以"Nb"结尾,并输出结果
print(name.endswith("Nb"))
# 将 name 变量对应的值中的 所有的"l" 替换为 "p",并输出结果
print(name.replace("L","p"))
# 将name变量对应的值中的第一个"l"替换成"p",并输出结果
name = "QLLLL"
print(name.replace("L","p",1))  #replace可以指定替换几个
# print(name[name.index("L")].replace("L","p")) error
# print(name) error
# print(name.replace(name[name.find("L")],"p"))  error
# print(name.replace(name[name.index("L")],"p"))  error
# 将 name 变量对应的值根据 所有的"l" 分割,并输出结果。
print(name.split("L"))
#将 name 变量对应的值根据 所有的"l" 分割,并输出结果。留下L
# print(name.splitlines("L",True)) #error
# print(name.replace("L","-L").split("-"))  #使用这个的前提是判断字符串是否会出现我们要切割的符号。也许会有更好的方法,我暂时没想到
print(name.split("L",1,maxsplit=1))
# 将name变量对应的值根据第一个"l"分割,并输出结果。
print(name.split("L",1))
# 将 name 变量对应的值变大写,并输出结果
print(name.upper())
# 将 name 变量对应的值变小写,并输出结果
print(name.lower())
# 判断name变量对应的值字母"l"出现几次,并输出结果
print(name.count("L"))
# 如果判断name变量对应的值前四位"l"出现几次,并输出结果
print(name.count("L",0,4))
# 请输出 name 变量对应的值的第 3 个字符?
print(name[2])
# 请输出 name 变量对应的值的前 4 个字符?
print(name[0:4])
# 请输出 name 变量对应的值的后 7 个字符?
print(name[-1:-8:-1])
# 2.有字符串s = "123a4b5c"
s = "123a4b5c"
# 通过对s切片形成新的字符串s1,s1 = "123"
s1 = s[0:3]
# 通过对s切片形成新的字符串s2,s2 = "a4b"
s2 = s[3:6]
# 通过对s切片形成新的字符串s3,s3 = "1345"
s3 = s[0::2]
# 通过对s切片形成字符串s4,s4 = "2ab"
s4 = s[1::2]
# 通过对s1切片形成字符串s5,s5 = "c"
s5 = s[-1:]
print(s5)
# 通过对s切片形成字符串s6,s6 = "ba2"
s6 = s[-2::-2]
#3.使用while循环和for循环分别打印字符串s="asdfer"中每个元素。
s="asdfer"
count = 0
while count < len(s):print(s[count])count += 1for i in s:print(i)
print([i for i in s])
# 4.使用for循环对s="asdfer"进行循环,但是每次打印的内容都是"asdfer"。
s="asdfer"
for i in range(len(s)):print(s)
for i in s:print(s)
# 5.使用for循环对s="abcdefg"进行循环,每次打印的内容是每个字符加上sb, 例如:asb, bsb,csb,...gsb。
s="abcdefg"
for i in s:print( i + "sb")
# 6.使用for循环对s="321"进行循环,打印的内容依次是:"倒计时3秒","倒计时2秒","倒计时1秒","出发!"。
s="321"
for i in s:print(f"倒计时{i}秒")
# 7.实现一个整数加法计算器(两个数相加):(10分钟)
# 如:content = input("请输入内容:") 用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。
#方法一
sum = 0
content = input("请输入内容:")
for i in content.strip().split("+"):sum += int(i)
print(sum)
#方法二
lst = []
[lst.append(int(i)) for i in content.strip().split("+")]
print(sum(lst))# 9.计算用户输入的内容中有几个整数(以个位数为单位)。(15分钟)
# 如:content = input("请输入内容:") # 如fhdal234slfh98769fjdla
import re
content = input("请输入内容:")
print(len(re.findall("[0-9]",content)))
# print(re.findall("[0-9]",content))# 10.写代码:计算 1 - 2 + 3 ... + 99 中除了88以外所有数的总和?(20分钟)
sum = 0
for i in range(1,100):if i % 2 != 0:sum += ielif i == 88:continueelse:sum -= i
print(sum)
#11.判断⼀句话是否是回⽂. 回⽂: 正着念和反着念是⼀样的. 例如, 上海⾃来⽔来⾃海上

python3字符串详解速查,新手流泪,老手顿悟相关推荐

  1. python 字符串替换_Python基础教程,第四讲,字符串详解

    本节课主要和大家一起学习一下Python中的字符串操作,对字符串的操作在开发工作中的使用频率比较高,所以单独作为一课来讲. 学完此次课程,我能做什么? 学完本次课程后,我们将学会如何创建字符串,以及如 ...

  2. python字符串是什么_python字符串详解

    字符串详解 在python中引号引起来的就是字符串 字符串是用来存储少量数据 索引 索引(下标) 通过索引可以精确的定位到某个元素 name = "meat" meat 每一个字母 ...

  3. 判断字符串格式_Python基础教程,第四讲,字符串详解

    本节课主要和大家一起学习一下Python中的字符串操作,对字符串的操作在开发工作中的使用频率比较高,所以单独作为一课来讲. 学完此次课程,我能做什么? 学完本次课程后,我们将学会如何创建字符串,以及如 ...

  4. MS SQL Server 数据库连接字符串详解

    MS SQL Server 数据库连接字符串详解 问题 : 超时时间已到.在从池中获取连接之前超时时间已过.出现这种情况可能是因为所有池连接都已被使用并已达到最大池大小. 解决办法 1. 在代码里面 ...

  5. EditPlus正则表达式替换字符串详解

    EditPlus正则表达式替换字符串详解 发布时间:April 8, 2007 分类:Regular <PHP 实现多服务器共享 SESSION 数据> <利用javascript在 ...

  6. Python基础语法day02字符串详解和列表

    今天是python基础语法入门第二天,大概总共会有四天左右.四天后就是对于python的numpy库的详细文章.那话不多说,我们开始. 目录 字符串详解 字符串独有功能 检测头尾字符 判断输入结果是否 ...

  7. C语言 字符数组 和 字符串 详解

    C语言 字符数组 和 字符串 详解 用来存放字符的数组称为字符数组,例如: char a[10]; //一维字符数组 char b[5][10]; //二维字符数组 char c[20]={'c', ...

  8. python中的字符串详解(附实现文字跑马灯效果)

    python中的字符串详解 1.什么是字符串 ​ 相信大家对字符串应该是再熟悉不过了吧,因为日常生活中的一句话,或是路边的一则广告,其实它都相当于一个字符串,而顾名思义,字符串也就是一串串的由零个或多 ...

  9. 站长在线Python精讲:在Python中使用split()方法分割、使用join()方法合并字符串详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用split()方法分割.使用join()方法合并字符串详解>.本知识点主要内容有:在Python中使用s ...

  10. 站长在线python精讲:在Python中使用“+”运算符来拼接字符串详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用"+"运算符来拼接字符串详解>.本知识点主要内容有:在Python中,我们可以使用& ...

最新文章

  1. (0016)iOS 开发之Mac上Navicat Premium 创建远程连接和本地连接
  2. oracle 里面定时执行任务,比如存储过程内容等
  3. Flutter起步之安装
  4. hdu 3038 HowManyAnswersAreWrong 并查集
  5. Java Web学习笔记12:CKEditor在线编辑器
  6. python数组就是列表吗,Python:数组与列表
  7. HALCON:Optical Flow(光流)
  8. jsoneditor 超好用的json编辑器及图标问题解决
  9. DirectX 环境搭建问题汇总
  10. 《指数型组织》学习总结
  11. yum安装ruby_安装 Ruby
  12. ACM/IOI 国家队集训队论文集锦
  13. 计算机语言可读性排名,计算机语言可读性强,容易记忆
  14. python xlsxwriter 学习笔记(二)
  15. 跨平台数据库桌面管理工具
  16. Could not find a version that satisfies the requirement cryptography (from pymysql) (from versions:
  17. 商业贷款和公积金贷款差多少?一组数据告诉你!
  18. 电脑微信聊天记录迁移——备份与恢复
  19. mysql 基于ssl认证
  20. redis分布式代理工具选型与功能验证

热门文章

  1. 苹果手机怎么打开压缩文件_wx无法打开压缩文件的2种解决方法(以苹果手机为例)...
  2. [转]小总结一下矩阵的对角化
  3. RFID-上位机软件界面设计
  4. 03、STM8程序下载方法
  5. 树莓派 更换键盘 2020_魔改售价2000多元的HHKB键盘!蓝牙双模+外接TF卡+树莓派ZERO...
  6. 手机的CPU为什么要区分大小核?
  7. python 强大的错误重试库 tenacity retry
  8. 对TexStudio配置拼写和语法检查LanguageTool
  9. 益聚星荣:核心数据持续上扬,亏损持续扩大,我们究竟该如何看待B站?
  10. IDEA常用插件、设置、注释