Python-深入不出的字符串

深入不出的字符串

字符串是由独立字符组成的一个序列,通常包含在单引号(‘’)双引号
(“”)或者三引号之中(‘’’ ‘’'或"“” “”",两者一样),比如下面几种写法。

一些基础概念

name = 'jason'
city = 'beijing'
text = "welcome to jike shijian"

打印出来的结果也就是上面的样子。


这里定义了 name、city 和 text 三个变量,都是字符串类型。我们知道,Python 中单引
号、双引号和三引号的字符串是一模一样的,没有区别,比如下面这个例子中的 s1、s2、
s3 完全一样。

s1 = 'hello'
s2 = "hello"
s3 = """hello"""
s1 == s2 == s3
True

Python 同时支持这三种表达方式,很重要的一个原因就是,这样方便你在字符串中,内嵌
带引号的字符串。比如:

"I'm a student"

Python 的三引号字符串,则主要应用于多行字符串的情境,比如函数的注释等等。

同时,Python 也支持转义字符。所谓的转义字符,就是用反斜杠开头的字符串,来表示一
些特定意义的字符。

Python-深入不出的字符串_第1张图片
下面这是一个简单的例子演示:


s = 'a\nb\tc'
print(s)
输出:
a
b 		c

这段代码中的’\n’,表示一个字符——换行符;'\t’也表示一个字符——横向制表符。
所以,最后打印出来的输出,就是字符 a,换行,字符 b,然后制表符,最后打印字符 c。
不过要注意,虽然最后打印的输出横跨了两行,但是整个字符串 s 仍然只有 5 个元素。

看:


len(s)
5

一些常用的操作

py的字符串跟Java的字符串差不多, 所以特性都基本类似的.

支持索引,切片和遍历等等操
作。

name = 'jason'
name[0]
'j'
name[1:3]
'as'

和其他数据结构,如列表、元组一样,字符串的索引同样从 0 开始,index=0 表示第一个
元素(字符),[index:index+2] 则表示第 index 个元素到 index+1 个元素组成的子字符
串。
遍历字符串同样很简单,相当于遍历字符串中的每个字符。


for char in name:
 print(char) 
j
a
s
o
n

Python 的字符串是不可变的(immutable)。


这个跟Java一样. 就不多说的. 你用字符串截取然后替换掉该位置的属性, 都是不支持的.

Python 中字符串的改变,通常只能通过创建新的字符串来完成。比如上述例子中,想
把’hello’的第一个字符’h’,改为大写的’H’,我们可以采用下面的做法:


s = 'H' + s[1:]
s = s.replace('h', 'H')
  • 第一种方法,是直接用大写的’H’,通过加号’+'操作符,与原字符串切片操作的子字符
    串拼接而成新的字符串。
  • 第二种方法,是直接扫描原字符串,把小写的’h’替换成大写的’H’,得到新的字符串。

使用加法操作符’+='的字符串拼接方法。

str1 += str2 # 表示 str1 = str1 + str2

此外,常见的函数还有:
string.strip(str),表示去掉首尾的 str 字符串;
string.lstrip(str),表示只去掉开头的 str 字符串;
string.rstrip(str),表示只去掉尾部的 str 字符串。

python字符串的使用方法, 结合api文档或者源码, 有事半功倍的效果.

平常的学习要记得多查多看多想…

格式化

比如


print('no data available for person with id: {}, 
name: {}'.format(id, name))

就是相当于按照一个模板类型输出,

其中的 string.format(),就是所谓的格式化函数;而大括号{}就是所谓的格式符,用来为后
面的真实值——变量 name 预留位置。如果id = ‘123’、name=‘jason’,那么输出便
是:

'no data available for person with id: 123, 
name: jason'

最后总结一下

总结一下:

  • Python 中字符串使用单引号、双引号或三引号表示,三者意义相同,并没有什么区别。
    其中,三引号的字符串通常用在多行字符串的场景。
  • Python 中字符串是不可变的(前面所讲的新版本 Python 中拼接操作’+='是个例
    外)。因此,随意改变字符串中字符的值,是不被允许的。
  • Python 新版本(2.5+)中,字符串的拼接变得比以前高效了许多,你可以放心使用。
  • Python 中字符串的格式化(string.format)常常用在输出、日志的记录等场景。

ok,那就先这样.

你可能感兴趣的:(Python,python,数学建模,开发语言)