<jupyter_start><jupyter_text>字符串  生成字符串 **Python**中可以使用一对单引号''或者双引号""生成字符串。<jupyter_code>s = "hello, world"
print s
s = 'hello world'
print s<jupyter_output>hello world<jupyter_text>简单操作 加法：<jupyter_code>s = 'hello ' + 'world'
s<jupyter_output><empty_output><jupyter_text>字符串与数字相乘：<jupyter_code>"echo" * 3<jupyter_output><empty_output><jupyter_text>字符串长度：<jupyter_code>len(s)<jupyter_output><empty_output><jupyter_text>字符串方法 **Python**是一种面向对象的语言，面向对象的语言中一个必不可少的元素就是方法，而字符串是对象的一种，所以有很多可用的方法。跟很多语言一样，**Python**使用以下形式来调用方法：    对象.方法(参数)  分割 s.split()将s按照空格（包括多个空格，制表符`\t`，换行符`\n`等）分割，并返回所有分割得到的字符串。<jupyter_code>line = "1 2 3 4  5"
numbers = line.split()
print numbers<jupyter_output>['1', '2', '3', '4', '5']<jupyter_text>s.split(sep)以给定的sep为分隔符对s进行分割。<jupyter_code>line = "1,2,3,4,5"
numbers = line.split(',')
print numbers<jupyter_output>['1', '2', '3', '4', '5']<jupyter_text>连接 与分割相反，s.join(str_sequence)的作用是以s为连接符将字符串序列str_sequence中的元素连接起来，并返回连接后得到的新字符串：<jupyter_code>s = ' '
s.join(numbers)
s = ','
s.join(numbers)<jupyter_output><empty_output><jupyter_text>替换 s.replace(part1, part2)将字符串s中指定的部分part1替换成想要的部分part2，并返回新的字符串。<jupyter_code>s = "hello world"
s.replace('world', 'python')<jupyter_output><empty_output><jupyter_text>此时，s的值并没有变化，替换方法只是生成了一个新的字符串。<jupyter_code>s<jupyter_output><empty_output><jupyter_text>大小写转换 s.upper()方法返回一个将s中的字母全部大写的新字符串。s.lower()方法返回一个将s中的字母全部小写的新字符串。<jupyter_code>"hello world".upper()<jupyter_output><empty_output><jupyter_text>这两种方法也不会改变原来s的值：<jupyter_code>s = "<NAME>"
print s.lower()
print s<jupyter_output>hello world
HELLO WORLD<jupyter_text>去除多余空格 s.strip()返回一个将s两端的多余空格除去的新字符串。s.lstrip()返回一个将s开头的多余空格除去的新字符串。s.rstrip()返回一个将s结尾的多余空格除去的新字符串。<jupyter_code>s = "  hello world   "
s.strip()<jupyter_output><empty_output><jupyter_text>s的值依然不会变化：<jupyter_code>s
s.lstrip()
s.rstrip()<jupyter_output><empty_output><jupyter_text>更多方法 可以使用dir函数查看所有可以使用的方法：<jupyter_code>dir(s)<jupyter_output><empty_output><jupyter_text>多行字符串 Python 用一对 `"""` 或者 `'''` 来生成多行字符串：<jupyter_code>a = """hello world.
it is a nice day."""
print a<jupyter_output>hello world.
it is a nice day.<jupyter_text>在储存时，我们在两行字符间加上一个换行符 `'\n'`<jupyter_code>a<jupyter_output><empty_output><jupyter_text>使用 `()` 或者 `\` 来换行 当代码太长或者为了美观起见时，我们可以使用两种方法来将一行代码转为多行代码：* ()* \<jupyter_code>a = ("hello, world. "
    "it's a nice day. "
    "my name is xxx")
a
a = "hello, world. " \
    "it's a nice day. " \
    "my name is xxx"
a<jupyter_output><empty_output><jupyter_text>强制转换为字符串 * `str(ob)`强制将`ob`转化成字符串。 * `repr(ob)`也是强制将`ob`转化成字符串。不同点如下：<jupyter_code>str(1.1 + 2.2)
repr(1.1 + 2.2)<jupyter_output><empty_output><jupyter_text>整数与不同进制的字符串的转化 可以将整数按照不同进制转化为不同类型的字符串。十六进制：<jupyter_code>hex(255)<jupyter_output><empty_output><jupyter_text>八进制：<jupyter_code>oct(255)<jupyter_output><empty_output><jupyter_text>二进制：<jupyter_code>bin(255)<jupyter_output><empty_output><jupyter_text>可以使用 `int` 将字符串转为整数：<jupyter_code>int('23')<jupyter_output><empty_output><jupyter_text>还可以指定按照多少进制来进行转换，最后返回十进制表达的整数：<jupyter_code>int('FF', 16)
int('377', 8)
int('11111111', 2)<jupyter_output><empty_output><jupyter_text>`float` 可以将字符串转换为浮点数：<jupyter_code>float('3.5')<jupyter_output><empty_output><jupyter_text>格式化字符串 **Python**用字符串的`format()`方法来格式化字符串。具体用法如下，字符串中花括号 `{}` 的部分会被format传入的参数替代，传入的值可以是字符串，也可以是数字或者别的对象。<jupyter_code>'{} {} {}'.format('a', 'b', 'c')<jupyter_output><empty_output><jupyter_text>可以用数字指定传入参数的相对位置：<jupyter_code>'{2} {1} {0}'.format('a', 'b', 'c')<jupyter_output><empty_output><jupyter_text>还可以指定传入参数的名称：<jupyter_code>'{color} {n} {x}'.format(n=10, x=1.5, color='blue')<jupyter_output><empty_output><jupyter_text>可以在一起混用：<jupyter_code>'{color} {0} {x} {1}'.format(10, 'foo', x = 1.5, color='blue')<jupyter_output><empty_output><jupyter_text>可以用`{:}`指定格式：<jupyter_code>from math import pi

'{0:10} {1:10d} {2:10.2f}'.format('foo', 5, 2 * pi)<jupyter_output><empty_output><jupyter_text>具体规则与C中相同。 也可以使用旧式的 `%` 方法进行格式化：<jupyter_code>s = "some numbers:"
x = 1.34
y = 2
# 用百分号隔开，括号括起来
t = "%s %f, %d" % (s, x, y)
t<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.18053491827637444, 'fraction_numerical': 0.022288261515601784, 'mean_word_length': 12.374172185430464, 'pattern_counts': {'":': 0, '<': 117, '<?xml version=': 0, '>': 117, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 1, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '30', 'dir': 'jupyter-structured-clean-dedup', 'id': '628923', 'license': 'MIT', 'n_tokens_mistral': 2391, 'n_tokens_neox': 2471, 'n_words': 178, 'path': 'lijin-THU:notes-python/02-python-essentials/02.04-strings.ipynb', 'repo_name': 'Maecenas/python-getting-started', 'size': '4043'}