Python 简明教程 --- 8,Python 字符串函数
微信公众号:码农充电站pro
好代码本身就是最好的文档。当你需要添加一个注释时,你应该考虑如何修改代码才能不需要注释。
—— Steve McConnell
目录

字符串有很多操作函数,所以,这里我们专门用一节来介绍这些函数。
建议:
由于字符串函数较多,对于新手来说,不必要一开就掌握所有的函数用法,可以先粗略的看一遍,有个大概印象,到真正用的着的时候,再来详细查看也可。用的次数多了,自然就记住了。
我们可以通过dir() 函数来查看一个对象支持的方法和属性有哪些,通过help() 函数查看某个方法的详情。
注意:
1,对象的概念会在后续章节详细介绍
2,这里我们无需过多的区分函数与方法的不同,暂时可以认为函数与方法相同
示例:
s = 'abc' # s 是一个字符串
>>> dir(s) # 查看字符串支持的方法
['__add__', '__class__', '__contains__',
'__delattr__', '__dir__', '__doc__',
'__eq__', '__format__', '__ge__',
'__getattribute__', '__getitem__',
'__getnewargs__', '__gt__', '__hash__',
'__init__', '__init_subclass__', '__iter__',
'__le__', '__len__', '__lt__', '__mod__',
'__mul__', '__ne__', '__new__', '__reduce__',
'__reduce_ex__', '__repr__', '__rmod__',
'__rmul__', '__setattr__', '__sizeof__',
'__str__', '__subclasshook__',
'capitalize', 'casefold', 'center',
'count', 'encode', 'endswith', 'expandtabs',
'find', 'format', 'format_map', 'index',
'isalnum', 'isalpha', 'isdecimal', 'isdigit',
'isidentifier', 'islower', 'isnumeric',
'isprintable', 'isspace', 'istitle', 'isupper',
'join', 'ljust', 'lower', 'lstrip', 'maketrans',
'partition', 'replace', 'rfind', 'rindex',
'rjust', 'rpartition', 'rsplit', 'rstrip',
'split', 'splitlines', 'startswith', 'strip',
'swapcase', 'title', 'translate', 'upper', 'zfill']
>>> help(s.find) # 查看字符串的find 方法详情
Help on built-in function find:
find(...) method of builtins.str instance
# 方法原型
# -> 符号之前是参数
# -> 符号之后时返回值类型
S.find(sub[, start[, end]]) -> int
# 方法介绍
Return the lowest index in S where substring sub is found,
such that sub is contained within S[start:end]. Optional
arguments start and end are interpreted as in slice notation.
# 方法返回值
Return -1 on failure.
(END)
Python 中双下划线 样式的方法__xxx__,被称为魔法方法(这里不做详细介绍),这里我们主要关注非魔法方法。
这里的dir(s) 显示的所有方法中,除了魔法方法外,还有44 个方法,我们可以粗略的将这些方法分为以下8 类:
- 字符串查找
- 字符大小写
- 判断字母数字
- 字符串填充
- 字符串格式化
- 字符串截断
- 字符串分割
- 其它方法
下面我们逐一进行介绍。
1,字符串查找
1.find方法
作用:从左开始查找,返回子串
sub在S[start:end]中的第一个下标
原型:S.find(sub[, start[, end]]) -> int
参数 sub:子字符串
参数 start:开始位置,可省,默认为 0
参数 end:结束位置,可省,默认为 len(S)
返回值:如果找到返回下标,否则返回 -1
示例:
>>> 'abcabcabc'.find('ca')
2 # 找到了,返回下标
>>> 'abcabcabc'.find('bbc')
-1 # 没找到,返回 -1
2.rfind方法
作用:从右开始查找,返回子串
sub在S[start:end]中的第一个下标
原型:S.rfind(sub[, start[, end]]) -> int
参数:同find方法
返回值:如果找到返回下标,否则返回 -1
示例:
>>> 'abcabcabc'.rfind('ca')
5
>>> 'abcabcabc'.rfind('bbc')
-1
3.index方法
作用:从左开始查找,返回子串
sub在S[start:end]中的第一个下标
原型:S.index(sub[, start[, end]]) -> int
参数 sub:子字符串
参数 start:开始位置,可省,默认为 0
参数 end:结束位置,可省,默认为 len(S)
返回值:如果找到返回下标,否则抛出ValueError异常
示例:
>>> 'abcabcabc'.index('ca')
2
>>> 'abcabcabc'.index('bbc')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found # ValueError 异常
关于Python
异常,将在后续章节详细介绍
4.rindex方法
作用:从右开始查找,返回子串
sub在S[start:end]中的第一个下标
原型:S.rindex(sub[, start[, end]]) -> int
参数:同index方法
返回值:如果找到返回下标,否则抛出ValueError异常
示例:
>>> 'abcabcabc'.rindex('ca')
5
>>> 'abcabcabc'.rindex('bbc')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
5.count方法
作用:统计子串
sub在S[start:end]中出现的次数
原型:S.count(sub[, start[, end]]) -> int
参数 sub:子字符串
参数 start:开始位置,可省,默认为 0
参数 end:结束位置,可省,默认为 len(S)
返回值:子串出现的次数
示例:
>>> 'abcabcabc'.count('bc')
3
2,字符大小写
6.capitalize方法
作用:将字符串
S的首字符变为大写,其余字符变为小写,对中文无效
原型:S.capitalize() -> str
参数:无
返回值:新的字符串
示例:
>>> 'AbCdE'.capitalize()
'Abcde'
7.casefold方法
作用:将字符串
S中的所有字符变为小写,对中文无效
原型:S.casefold() -> str
参数:无
返回值:新的字符串
示例:
>>> 'AbCdE'.casefold()
'abcde'
8.swapcase方法
作用:将字符串
S中的大写字符转为小写,小写字符转为大写,对中文无效
原型:S.swapcase() -> str
参数:无
返回值:新的字符串
示例:
>>> 'AbCdE中国'.swapcase()
'aBcDe中国'
9.istitle方法
作用:判断
S中的单词,是否全都首字母大写,且其它字符小写
原型:S.istitle() -> bool
参数:无
返回值:True或False
示例:
>>> 'Abc De fj'.istitle()
False
>>> 'Abc De Fj'.istitle()
True
>>> 'Abc De Fj 中国'.istitle() # 可以有中文
True
>>> '中国'.istitle() # 不能只有中文
False
10.title方法
作用:将每个非字母后的第一个字母变为大写
原型:S.title() -> str
参数:无
返回值:新的字符串
示例:
>>> 'a3bc-abc abc'.title()
'A3Bc-Abc Abc'
11.islower方法
作用:判断
S中的字符是否全是小写字符
原型:S.islower() -> bool
参数:无
返回值:True或False
示例:
>>> 'abc'.islower()
True
>>> 'aBc'.islower() # 有大写字符,返回 False
False
>>> 'abc中国'.islower() # 英文字符全是小写,且包含中文,返回 True
True
>>> '中国'.islower() # 只有中文,返回 False
False
>>> ''.islower()
False
12.isupper方法
作用:判断
S中的字符是否全是大写字符
原型:S.isupper() -> bool
参数:无
返回值:True或False
示例:
>>> 'ABC'.isupper() # 所有字符全是大写,返回 True
True
>>> 'Abc'.isupper() # 有大写,有小写,返回 False
False
>>> 'ABC中国'.isupper() # 所有字符全是大写,并包含中文,返回 True
True
>>> '中国'.isupper() # 只有中文,返回 False
False
>>> ''.isupper() # 空字符串,返回 False
False
13.lower方法
作用:将
S中的所有大写字符转为小写
原型:S.lower() -> str
参数:无
返回值:新的字符串
示例:
>>> 'AbC'.lower()
'abc'
14.upper方法
作用:将
S中的所有小写字符转为大写
原型:S.upper() -> str
参数:无
返回值:新的字符串
示例:
>>> 'AbC'.upper()
'ABC'
3,判断字母数字
15.isalnum方法
作用:判断
S中所有的字符是否都是字母或数字
原型:S.isalnum() -> bool
参数:无
返回值:True或False
示例:
>>> 'abc'.isalnum() # 英文字符,返回 True
True
>>> 'abc123'.isalnum() # 英文字符或数字,返回 True
True
>>> 'abc中国'.isalnum() # 英文字符或汉字,返回 True
True
>>> 'abc;'.isalnum() # 有符号';' 返回 False
False
>>> 'abc-'.isalnum() # 有符号'-' 返回 False
False
>>> ''.isalnum() # 空字符串,返回 False
False
16.isalpha方法
作用:判断
S中所有的字符是否都是字母
原型:S.isalpha() -> bool
参数:无
返回值:True或False
示例:
>>> 'abc'.isalpha() # 都是英文字符,返回 True
True
>>> 'abc中国'.isalpha() # 英文字符和汉字,返回 True
True
>>> 'abc中国123'.isalpha() # 有数字,返回 False
False
>>> 'abc中国-'.isalpha() # 有符号,返回 False
False
>>> ''.isalpha() # 空字符串,返回 False
False
17.isdecimal方法
作用:判断
S中是否只包含十进制字符
原型:S.isdecimal() -> bool
参数:无
返回值:True或False
示例:
>>> 'abc'.isdecimal() # 不包含数字,返回 False
False
>>> 'abc123'.isdecimal() # 除了数字,还有英文字符,返回 False
False
>>> '123'.isdecimal() # 只有数字,返回 True
True
>>> '123-'.isdecimal() # 除了数字,还有符号,返回 False
False
>>> ''.isdecimal() # 空字符串,返回 False
False
>>> '一二三'.isdecimal()
False
18.isdigit方法
作用:判断
S中是否只包含数字
原型:S.isdigit() -> bool
参数:无
返回值:True或False
示例:
>>> '123'.isdigit()
True
>>> '123e'.isdigit()
False
19.isnumeric方法
作用:判断
S是否只由数字组成,数字可以是罗马数字,汉字数字等
原型:S.isnumeric() -> bool
参数:无
返回值:True或False
示例:
>>> '一二三'.isnumeric()
True
>>> '壹贰叁'.isnumeric()
True
>>> '123'.isnumeric()
True
>>> 'abc'.isnumeric()
False
20.isidentifier方法
作用:判断
S是否是有效的Python 标识符
原型:S.isidentifier() -> bool
参数:无
返回值:True或False
示例:
>>> 'abc'.isidentifier()
True
>>> '5abc'.isidentifier() # 不能以数字开头
False
>>> '_5abc'.isidentifier()
True
>>> ' _5abc'.isidentifier() # 不能以空格开头
False
>>> '_5abc;'.isidentifier() # 不能有标点符号
False
21.isprintable方法
作用:判断
S中的字符,是否全部可打印
原型:S.isprintable() -> bool
参数:无
返回值:True或False
示例:
>>> 'abc中国'.isprintable()
True
>>> 'abc\n'.isprintable() # 换行符不可见
False
>>> 'abc\t'.isprintable() # 制表符不可见
False
>>> 'abc\r'.isprintable() # 回车符不可见
False
22.isspace方法
作用:判断
S中是否全是空白字符
原型:S.isspace() -> bool
参数:无
返回值:True或False
示例:
>>> '\r\n\t '.isspace()
True
>>> 'abc\r\n\t '.isspace()
False
4,字符串填充
23.center方法
作用:返回一个总长度为
width的字符串,S居中,其它字符以fillchar填充
原型:S.center(width[, fillchar]) -> str
参数 width:新的字符串的总长度,当width小于S的长度时,直接返回S
参数 fillchar:填充字符,可省,默认为空格
返回值:新的字符串
示例:
>>> 'AbCdE'.center(20, '*')
'*******AbCdE********'
24.ljust方法
作用:以
S左对齐,返回一个长度为width的新字符串,当len(S)小于width时,用fillchar字符填充
原型:S.ljust(width[, fillchar]) -> str
参数:同center方法
返回值:新的字符串
示例:
>>> 'abc'.ljust(5, '*')
'abc**'
>>> 'abc'.ljust(3, '*')
'abc'
25.rjust方法
作用:类似
ljust方法,本方法为右对齐
原型:S.rjust(width[, fillchar]) -> str
参数:同center方法
返回值:新的字符串
示例:
>>> 'abc'.rjust(5, '*')
'**abc'
>>> 'abc'.rjust(3, '*')
'abc'
26.zfill方法
作用:效果同
rjust(width,'0')
原型:S.zfill(width) -> str
参数:width为新的字符串的总长度
返回值:新的字符串
>>> 'abc'.zfill(5)
'00abc'
>>> 'abc'.rjust(5, '0')
'00abc'
5,字符串格式化
27.format方法
作用:用于格式化字符串,用
format方法中的参数依次替代S中的大括号{}
原型:S.format(*args, **kwargs) -> str
参数:任意参数列表
返回值:返回格式化后的字符串
示例:
>>> '{} {} {}'.format('hello', 'python', 123) # {} 中不写下标
'hello python 123'
>>> '{2} {0} {1}'.format('hello', 'python', 123) # {} 中写下标
'123 hello python'
28.format_map方法
作用:类似
format方法的作用,只是接受的参数类型不同,大括号{}中必须是字典对象的键
原型:S.format_map(mapping) -> str
参数:一个字典类型的对象
返回值:返回格式化后的字符串
示例:
>>> '{a} {b}'.format_map({'a':1, 'b':2})
'1 2'
关于
字典类型,将在后续章节详细介绍
6,字符串截断
29.lstrip方法
作用:从左开始,截去字符串
S中的字符chars,直到第一个不是chars的字符
原型:S.lstrip([chars]) -> str
参数:chars可以是任意长度的字符串,每个包含在chars中的字符,都会被截去。可省,默认为空格
返回值:新的字符串
示例:
>>> 'abcabcabc'.lstrip('b')
'abcabcabc'
>>> 'abcabcabc'.lstrip('a')
'bcabcabc'
>>> 'abcabcabc'.lstrip('ab')
'cabcabc'
>>> 'abcabcabc'.lstrip('abc')
''
30.rstrip方法
作用:从右开始,截去字符串
S中的字符chars,直到第一个不是chars的字符
原型:S.rstrip([chars]) -> str
参数:同lstrip
返回值:新的字符串
示例:
>>> 'abcabcabc'.rstrip('b')
'abcabcabc'
>>> 'abcabcabc'.rstrip('c')
'abcabcab'
>>> 'abcabcabc'.rstrip('bc')
'abcabca'
>>> 'abcabcabc'.rstrip('abc')
''
31.strip方法
作用:先执行
lstrip再执行rstrip
原型:S.strip([chars]) -> str
参数:同lstrip
返回值:新的字符串
示例:
>>> 'abcabcabc'.strip('b')
'abcabcabc'
>>> 'abcabcabc'.strip('ba')
'cabcabc'
>>> 'abcabcabc'.strip('bac')
''
7,字符串分割
32.strip方法
作用:从左到右,以字符串
sep来分割字符串S,最多分割maxsplit次
原型:S.split(sep=None, maxsplit=-1) -> list of strings
参数 sep:sep可以是任意长度的字符串,默认为任意空白符
参数 maxsplit:分割的最大次数,默认不限次数
返回值:字符串列表
示例:
>>> 'a3bc-abc-ab ef\thh\nmn'.split()
['a3bc-abc-ab', 'ef', 'hh', 'mn']
>>> 'a3bc-abc-ab ef\thh\nmn'.split(maxsplit=2)
['a3bc-abc-ab', 'ef', 'hh\nmn']
>>> 'a3bc-abc-ab ef\thh\nmn'.split('a')
['', '3bc-', 'bc-', 'b ef\thh\nmn']
>>> 'a3bc-abc-ab ef\thh\nmn'.split('bc')
['a3', '-a', '-ab ef\thh\nmn']
33.rsplit方法
作用:从右到左,以字符串
sep来分割字符串S,最多分割maxsplit次
原型:S.rsplit(sep=None, maxsplit=-1) -> list of strings
参数:同strip方法
返回值:字符串列表
示例:
>>> 'a3bc-abc-ab ef\thh\nmn'.rsplit()
['a3bc-abc-ab', 'ef', 'hh', 'mn']
>>> 'a3bc-abc-ab ef\thh\nmn'.rsplit(maxsplit=2)
['a3bc-abc-ab ef', 'hh', 'mn']
>>> 'a3bc-abc-ab ef\thh\nmn'.rsplit('bc')
['a3', '-a', '-ab ef\thh\nmn']
34.splitlines方法
作用:对字符串
S进行行分割,换行符为\r,\n,\r\n
原型:S.splitlines([keepends]) -> list of strings
参数:keepends为True或False,为True 时保留换行符,为False 时不保留换行符,默认为False
返回值:字符串列表
示例:
>>> 'a3bc-abc-ab ef\thh\nmn'.splitlines()
['a3bc-abc-ab ef\thh', 'mn']
>>> 'a3bc-abc-ab ef\thh\nmn'.splitlines(True)
['a3bc-abc-ab ef\thh\n', 'mn']
8,其它方法
35.encode方法
作用:对
S以encoding指定的编码格式进行编码
原型:S.encode(encoding='utf-8', errors='strict') -> bytes
参数 encoding:以什么编码格式进行编码,默认是utf-8
参数 errors:发生错误时的处理方式,默认为strict,其它可选值有ignore,replace,xmlcharrefreplace
返回值:S的字节形式值
示例:
>>> s = '中国'
>>> s.encode('utf8')
b'\xe4\xb8\xad\xe5\x9b\xbd'
36.join方法
作用:用于连接迭代器
iterable中的所有元素,分隔符为S
原型:S.join(iterable) -> str
参数:可迭代类型数据
返回值:新的字符串
示例:
>>> ','.join('abc')
'a,b,c'
>>> '|'.join('abc')
'a|b|c'
关于
可迭代类型,将在后续章节详细介绍,这里只需要知道字符串就是一种可迭代类型
37.startswith方法
作用:判断字符串
S[start:end]是否以子串prefix开头
原型:S.startswith(prefix[, start[, end]]) -> bool
参数 prefix:子字符串
参数 start:开始位置,可省,默认为 0
参数 end:结束位置,可省,默认为 len(S)
返回值:True或False
示例:
>>> 'abcabcabc'.startswith('abc')
True
>>> 'abcabcabc'.startswith('bc')
False
38.endswith方法
作用:判断字符串
S[start:end]是否以子串suffix结尾
原型:S.endswith(suffix[, start[, end]]) -> bool
参数 suffix:子字符串
参数 start:开始位置,可省,默认为 0
参数 end:结束位置,可省,默认为 len(S)
返回值:True或False
示例:
>>> 'abcabcabc'.endswith('bc')
True
>>> 'abcabcabc'.endswith('bcd')
False
39.replace方法
作用:从左到右,将
S中的old转换成new,最多转换count次
原型:S.replace(old, new[, count]) -> str
参数 old:源字符串,可以是任意长度
参数 new:目标字符串,可以是任意长度
参数 count:最多转换count次
返回值:新的字符串
示例:
>>> 'abcabcabc'.replace('a', '1')
'1bc1bc1bc'
>>> 'abcabcabc'.replace('a', '111')
'111bc111bc111bc'
>>> 'abcabcabc'.replace('ab', '1')
'1c1c1c'
>>> 'abcabcabc'.replace('a', '1', 2)
'1bc1bcabc'
40.expandtabs方法
作用:将
S中的tab转为空格,tab即\t
原型:S.expandtabs(tabsize=8) -> str
参数 tabsize:一个tab转为空格的个数与tab之前的子串长度之和为tabsize,默认为 8
返回值:新的字符串
示例:
>>> 'a\tbca\tbca\tbc'.expandtabs(4)
'a bca bca bc'
>>> 'a\tbca\tbca\tbc'.expandtabs(4).replace(' ', '-')
'a---bca-bca-bc' # 为了方便显示空格的个数,将空格替换为横线
>>> 'a\tbca\tbca\tbc'.expandtabs(8)
'a bca bca bc'
>>> 'a\tbca\tbca\tbc'.expandtabs(8).replace(' ', '-')
'a-------bca-----bca-----bc' # 为了方便显示空格的个数,将空格替换为横线
通过下图可以更好的理解expandtabs()的含义:

41.maketrans方法
作用:用于创建一个字符映射,常与
translate方法配合使用
原型:maketrans(x, y=None, z=None, /)
参数:当只有1 个参数时,必须是一个字典。当有2 个参数时,是两个字符串,且这两个字符串的长度必须相同
返回值:一个字典类型的数据
示例:
>>> str.maketrans({'a':'1', 'b':'2', 'c':'3', 'd':'好'})
{97: '1', 98: '2', 99: '3', 100: '好'}
>>> str.maketrans('abcd', '123好')
{97: 49, 98: 50, 99: 51, 100: 22909}
42.translate方法
作用:将字符串
S使用table进行替换
原型:S.translate(table) -> str
参数:是一个字典类型
返回值:新的字符串
示例:
>>> x = str.maketrans('abc', '123')
>>> x
{97: '1', 98: '2', 99: '3', 100: '好'}
>>> 'axxxbxxxcxxx'.translate(x) # a->1 b->2 c->3
'1xxx2xxx3xxx'
43.partition方法
作用:从左边开始,将字符串
S用sep进行分隔,只会进行一次分隔
原型:S.partition(sep) -> (head, sep, tail)
参数:sep可以是任意长度的字符串
返回值:返回一个三元组(head, sep, tail),head是分隔后的前半部分,tail是后半部分,sep是分隔符
示例:
>>> 'abcabcabc'.partition('c')
('ab', 'c', 'abcabc')
>>> 'abcabcabc'.partition('bc')
('a', 'bc', 'abcabc')
>>> 'abcabcabc'.partition('abc')
('', 'abc', 'abcabc')
44.rpartition方法
作用:从右边开始,将字符串
S用sep进行分隔,只会进行一次分隔
原型:S.rpartition(sep) -> (head, sep, tail)
参数:同partition方法
返回值:同partition方法
示例:
>>> 'abcabcabc'.rpartition('c')
('abcabcab', 'c', '')
>>> 'abcabcabc'.rpartition('bc')
('abcabca', 'bc', '')
>>> 'abcabcabc'.rpartition('abc')
('abcabc', 'abc', '')
(完。)
推荐阅读:
Python 简明教程 --- 4,Python 变量与基本数据类型
Python 简明教程 --- 5,Python 表达式与运算符
[Python 简明教程 --- 7,Python 字符串]https://www.cnblogs.com/codeshell/p/12958246.html)
欢迎关注作者公众号,获取更多技术干货。

Python 简明教程 --- 8,Python 字符串函数的更多相关文章
- Python 简明教程 --- 15,Python 函数
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 测试只能证明程序有错误,而不能证明程序没有错误. -- Edsger Dijkstra 目录 本节我 ...
- Python 简明教程 --- 7,Python 字符串
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 过早的优化代码是罪恶之源. -- Donald Knuth 目录 无论哪种编程语言,字符串处理都是最 ...
- Python 简明教程 --- 16,Python 高阶函数
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 对于那些快速算法,我们总是可以拿一些速度差不多但是更容易理解的算法来替代它们. -- Douglas ...
- 【笔记】Python简明教程
Python简明教程,此资源位于http://woodpecker.org.cn/abyteofpython_cn/chinese/ s=u'中文字符' #u表示unicode,使用u之后能正常显示中 ...
- python简明教程
Python简明教程 MachinePlay关注 0.7072018.09.26 01:49:43字数 2,805阅读 9,287 Python一小时快速入门 1.Python简介 pylogo. ...
- Python 简明教程 --- 3,Python 基础概念
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 控制复杂性是计算机编程的本质. -- Brian Kernighan 了解了如何编写第一个Pytho ...
- Python 简明教程 --- 2,第一个Python 程序
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果你发现特殊情况太多,那你肯定是用错方法了. -- Carig Zerouni 当你在自己的电脑上 ...
- Python 简明教程 --- 13,Python 集合
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果代码和注释不一致,那很可能两者都错了. -- Norm Schryer 目录 前几节我们已经介绍 ...
- Python 简明教程 --- 14,Python 数据结构进阶
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果你发现特殊情况太多,那很可能是用错算法了. -- Carig Zerouni 目录 前几节我们介 ...
随机推荐
- jchdl - RTL实例 - And2And(结构体嵌套的使用)
https://mp.weixin.qq.com/s/PQIPkDymvcGc_re8ux50vA 结构体可以嵌套使用. 参考链接 https://github.com/wjcdx/jchdl ...
- java方法句柄-----4.你所不知道的MethodHandle【翻译】
Method Handles in Java 1.介绍 在本文中,我们将探讨一个重要的API,它是在Java 7中引入的,并在Java 7版本之后更加完善:全限定名是:Java.lang.invoke ...
- .NetCore3.1中的WebApi如何配置跨域
写法 一: 1. 打开Startup.cs,定义静态变量Any,用以配置跨域. private readonly string Any = "Any"; 2. 在Configure ...
- Android如何使用SharedPreferences轻量级储存
SharedPreferences只能用来存一些基本数据类型,并且存下的量比较小 直接附代码 和XMl布局 package com.example.okhttpdemo; import android ...
- Java实现除去次方数
** 除去次方数** 自然数的平方数是:1 4 9 16 25 - 自然数的立方数是:1 8 27 64 125 - 自然数的4次方数是:1 16 81 256 - - 这些数字都可以称为次方数. 1 ...
- Nginx跨域及Https配置
一.跨域 1. 什么是跨域? 跨域:指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制(指一个域下的文档或脚本试图去请求另一个域下的资源,这 ...
- opencl(6)读写传输命令、内存映射命令
1:将缓存对象的内容读到缓存对象中(从设备到主机) cl_int clEnqueuReadBuffer( cl_command_queue command_queue, //命令队列 cl_mem b ...
- Linux RTC设备驱动
1. 在Linux2.6.29内核中,RTC是以平台设备的方式注册进内核的. ① RTC驱动定义于文件:drivers/rtc/rtc-s3c.c static struct platform_dri ...
- Centos7.3 搭建KVM 命令安装VM虚拟机
操作系统:centos7.3 一.安装KVM 1. 验证CPU是否支持KVM:如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的. egrep '(vmx|svm)' ...
- 除了FastJson,你也应该了解一下Jackson(二)
概览 上一篇文章介绍了Jackson中的映射器ObjectMapper,以及如何使用它来实现Json与Java对象之间的序列化和反序列化,最后介绍了Jackson中一些序列化/反序列化的高级特性.而本 ...