字符串

字符串:单引号和双引号的作用完全是一样的

字符串、列表互转:

print("abc#def#gd".split("#"))  # ['abc', 'def', 'gd']

print(''.join(['abc', 'def', 'gd']))  # abcdefgd

a = list('abracadabra')
print(a) # ['a', 'b', 'r', 'a', 'c', 'a', 'd', 'a', 'b', 'r', 'a']
 

 

word = '字符串'
sentence = "这是一个句子。"
paragraph = """这是一个段落,
可以由多行组成"""

 

str = 'Runoob'

print(str)  # 输出字符串
print(str[0:-1])  # 输出第一个到倒数第二个的所有字符
print(str[0])  # 输出字符串第一个字符
print(str[2:5])  # 输出从第三个开始到第五个的字符
print(str[2:])  # 输出从第三个开始后的所有字符
print(str * 2)  # 输出字符串两次
print(str + '你好')  # 连接字符串

print('------------------------------')

print('hello\nrunoob')  # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nrunoob')  # 在字符串前面添加一个 r,表示原始字符串,不会发生转义

 

格式化字符串

print("{}:{}".format('192.168.0.100', 8888))
# 192.168.0.100:8888  位置映射

print("{server}{1}:{0}".format(8888, '192.168.1.100', server='Web Server Info :'))
# Web Server Info :192.168.1.100:8888 关键字映射

print("{0[0]}.{0[1]}".format(('baidu', 'com')))
# baidu.com 元素访问 注意:('baidu', 'com')是一个tuple

# 填充对齐
#
#     ^、<、>分别是居中、左对齐、右对齐

print("{0}*{1}={2:*>5}".format(3, 2, 2 * 3))
# 3*2=06  3*2=****6
# {2:*>5} 2表示引用后面的第2个位置,:表示要采用什么格式,*表示填充什么字符,〉表示右对齐,5表示字符宽度(填充字符数+原有字符数)是多少

print("{:*^30}".format('centered'))
# ***********centered*********** 全长等于30  ^ 表示居中对齐

# 九九乘法表
for i in range(1, 10):
    a = 1
    while a <= i:
        print("{0}*{1}={2:0>2}".format(a, i, a * i), end="\t")
        a += 1
    print()

# 精度设置 f 表示浮点
print("{:.3f}".format(2.1415))
# 2.142
print("{:.10f}".format(3.1415))
# 3.1415000000

# 设置宽度 d 表示宽度,用空格填充
for x in range(1, 11):
    print('{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x))
#  1   1    1
#  2   4    8
#  3   9   27
#  4  16   64
#  5  25  125
#  6  36  216
#  7  49  343
#  8  64  512
#  9  81  729
# 10 100 1000

table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}
print('Jack: {0[Jack]}; Sjoerd: {0[Sjoerd]}; Dcab: {0[Dcab]:10d}'.format(table))
print('Jack: {Jack:d}; Sjoerd: {Sjoerd:d}; Dcab: {Dcab:d}'.format(**table))
# Jack: 4098; Sjoerd: 4127; Dcab:    8637678
# Jack: 4098; Sjoerd: 4127; Dcab: 8637678

 

 

 

 str.title() 首字母变成大写,其余的改成小写

>>> name = 'i love you'

>>> print(name.title())

I Love You

>>> 

 

str.strip(arg) 删除首尾的arg,默认是空格

str.rstrip(arg) 删除右边的arg

str.lstrip(arg) 删除左边的arg

print('12'.zfill(5))  # 00012  前面填充0

print('123'.center(5, '*'))  # *123*
print('123'.ljust(5, '*'))  # 123**
print('123'.rjust(5, '*'))  # **123

 

其它一些方法:

print('abcdaba'.count('a'))  # 3
print('1.1'.isdigit())  # False
print('1.1'.isnumeric()) # False
print('一二三四五'.isdigit()) # False
print('一二三四五'.isnumeric()) # True
print(b"2".isdigit()) # True
print(b'n'.isdigit()) # False
# print(b'1'.isnume....) 不识别这个方法
 

 

  • Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
  • Python中的字符串不能改变。
  • Python3 的六个标准数据类型中:

    • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
    • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
posted @ 2020-09-30 06:29  老谭爱blog  阅读(185)  评论(0)    收藏  举报