Python学习(4) 字符串

在Python中,字符串属于不可变对象。在定义后,不能修改字符串实例值。

字符串的写法

字符串可以分为单行写法和多行写法。单行写法用单引号或者双引号表示开始和结束。多行写法用三个单引号或者三个多引号表示开始和结束。

字符串里可以有转义字符,比如rn。如果不需要对字符串进行转义,要在字符串引号前加r字符,表示非转义字符串。
如下代码:

Python
#字符串定义
a1 = "testrntest"
a2 = 'testrntest'
a3 = """test1
test2
test3"""
a4 = '''test1
test2
test3'''
a5 = r"testrntest"
a6 = r'testrntest'

字符串的运算符

字符串支持两种运算符:加号,乘号。其中加号表示两个字符串连接,乘号表示把字符串重复多少次。
如下代码:

Python
#字符串加号运算
a1 = "test1" + "test2"  # test1test2
#字符串乘号运算
a2 = 'test' * 3         # testtesttest

字符串的方法

字符串的方法比较多,个人觉得可以直接看API文档,或者用dir和__doc__来查看方法的说明。

字符串的格式化

Python的字符串格式化很强,基本上能实现的功能都实现了。
详细的可以查看以下网页:
https://docs.python.org/3/library/string.html#format-examples"

如下代码

Python
# 直接参数
'{0}, {1}, {2}'.format('a', 'b', 'c')   # 'a, b, c'
'{}, {}, {}'.format('a', 'b', 'c')      # 'a, b, c'
'{2}, {1}, {0}'.format('a', 'b', 'c')   # 'c, b, a'

# 变量参数
'{val1}, {val2}'.format(val1 = 'a', val2 = 'b')   # 'a, b'

# 对象参数
complexVal = 3 + 2j
'{0.real}, {0.imag}'.format(complexVal)   # '3.0, 2.0'
'{val.real}, {val.imag}'.format(val = complexVal)   # '3.0, 2.0'

# 数组变量
coord = (3, 5)
'X: {0[0]};  Y: {0[1]}'.format(coord) # 'X: 3;  Y: 5'
'X: {val[0]};  Y: {val[1]}'.format(val = coord) # 'X: 3;  Y: 5'

# 排列
# 居左
'{:<10}'.format('123') # '123       '
# 居中
'{:^10}'.format('123') # '   123    '
# 居右
'{:>10}'.format('123') # '       123'
# 居右填充字符
'{:0>10}'.format('123') # '0000000123'

# 符号显示
# 总是显示
'{:+f}; {:+f}'.format(3.14, -3.14) # '+3.140000; -3.140000'
# 正数以空格显示
'{: f}; {: f}'.format(3.14, -3.14) # ' 3.140000; -3.140000'
# 负数时显示(默认)
'{:-f}; {:-f}'.format(3.14, -3.14) # '3.140000; -3.140000'

# 进制转换
# 只显示数字
"int: {0:d};  hex: {0:x};  oct: {0:o};  bin: {0:b}".format(42) # 'int: 42;  hex: 2a;  oct: 52;  bin: 101010'
# 显示成Python的字符串
"int: {0:d};  hex: {0:#x};  oct: {0:#o};  bin: {0:#b}".format(42) # 'int: 42;  hex: 0x2a;  oct: 0o52;  bin: 0b101010'

# 添加数字分隔符
'{:,}'.format(1234567890) # '1,234,567,890'

# 百分数出力
'{:.2%}'.format(1.2) # '120.00%'

# 日期格式化
import datetime
d = datetime.datetime(2010, 7, 4, 12, 15, 58)
'{:%Y-%m-%d %H:%M:%S}'.format(d) # '2010-07-04 12:15:58'
# 日期的格式化可以参考:https://docs.python.org/3/library/datetime.html#strftime-and-strptime-behavior

正则表达式

Python中的正则表达式用import re来引入。
RE的主要方法可以参考API:
https://docs.python.org/3/library/re.html

正则表达式的格式可以参考:
http://yutuo.net/archives/0eaa312fc4ee7eeb.html

转载请注明:宇托的狗窝 » Python学习(4) 字符串

发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址