字符串(String)
字符串(String),是由零个或多个字符组成的有限序列。一般记为 s=a[1]a[2]...a[n]。它是编程语言中表示文本的数据类型。
以上是维基百科中对字符串的定义。
字符串是字符的有序序列,在 python 中字符串是以单引号、双引号或三引号括起来的任意文本。
三引号内的字符串可以分为多行。
>>> a='I am keinYe'
>>> print(a)
I am keinYe
>>> b="I am keinYe"
>>> print(b)
I am keinYe
>>> c='''
...I
...am
...keinYe
...'''
>>> print(c)
I
am
keinYe
>>>
既然单引号和双引号在 python 中是定义字符串的起始和停止条件,那么如果要输出含有单引号或双引号的字符串如何处理?首先说下这个完全没有问题,不但没有问题你还有两种不同的选择可以完成这个功能。
在单引号和双引号的嵌套来实现输出含有单引号或双引号的字符串
>>>print("What's your name?")
What's your name?
>>>print('"Hello keinYe!" is string!')
"Hello keinYe!"isstring!
使用转义字符来输出含有单引号或双引号的字符串
>>>print('What\'s your name?')
What's your name?
>>>print("\"Hello keinYe!\" is string!")
"Hello keinYe!"isstring!
如果字符串中同时含有单引号和双引号该怎么处理呢?
字符串基本操作
从字符串的定义可以看出字符串是一种有序序列,因此字符串具有如下操作:
len(): 获取字符串长度
+: 连接两个字符串
*: 重复字符串
in: 判断元素是否存在于序列中
max(): 返回最大值
min(): 返回最小值
operator模块:比较 2 个字符串
len()
len() 函数用来获取指定字符串的长度,如下所示:
>>>a='Hello keinYe!'
>>>length=len(a)
>>>print(length)
13
>>>type(length)
从以上示例可以看出 len() 函数返回的是字符串的字符个数,且返回值是一个整形数据。
+
+用来连接(或拼接)两个字符串
>>>a='Hello '
>>>b="World!"
>>>c=a+b
>>>print(c)
HelloWorld!
*
*用来重复字符串 n 次,在特殊情况下这会相当有用
>>>a="Hello "
>>>b=a*5
>>>print(b)
HelloHelloHelloHelloHello
in
从字面理解表示在...之内,在 python 中用来判断一个字符串是否包含在另一个字符串内
>>>a="Hello World!"
>>>b="Hello"
>>>print(bina)
True
>>>c="hello"
>>>print(cina)
False
max() 和 min()
max() 和 min() 用来获取字符串的最大值和最小值。
>>>a="HelloWorld!"
>>>max(a)
r
>>>min(a)
!
operator模块
将两个字符串进行比较。
>>>str1="Hello World!"
>>>str2="Hello keinYe!"
>>>importoperator
>>>operator.lt(str1,str2)
True
>>>operator.le(str1,str2)
True
>>>operator.eq(str1,str2)
False
>>>operator.ne(str1,str2)
True
>>>operator.ge(str1,str2)
False
>>>operator.gt(str1,str2)
False
字符串输出格式化
在使用字符串的过程中,常常遇到需要动态更改字符串中的某个位置的内容,比如根据输入姓名输出, 此时就需要用到字符串输出格式化,字符串格式化怎么理解呢?看一下内容
字符串格式化化,就是要先制定一个模板,在这个模板中某个或者某几个地方留出空位来,然后在那些空位填上字符串。那么,那些空位,需要用一个符号来表示,这个符号通常被叫做占位符(仅仅是占据着那个位置,并不是输出的内容).
在 python 中常见的占位符有以下几种
看一下示例:
>>>print("Hello, %s!"%('keinYe'))
Hello,keinYe!
>>>year=2018
>>>month=11
>>>day=28
>>>print("今天是 %d 年 %d 月 %d 日"%(year,month,day))
今天是2018年11月28日
>>>PI=3.1415926
>>>print('π = %f'%PI)
π=3.141593
>>>print('π = %3.2f'%PI)
π=3.14
>>>print('π = %3.8f'%PI)
π=3.14159260
在 python 中还有另外一种字符串格式化方法,那就是 string.format()方法,在该方法中使用 {} 作为占位符。这种方法真的是非常好,而且非常简单,只需要将对应的东西,按照顺序在 format 后面的括号中排列好,分别对应占位符 {} 即可。
>>>str="I like {}".format('python')
>>>print(str)
Ilikepython
>>>str='今天是 {} 年 {} 月 {} 日'.format(2018,11,28)
>>>print(str)
今天是2018年11月28日
>>>print('π = {}'.format(3.1415926))
π=3.1415926
使用 string.format() 方法让你可以不必关心数据类型,使用作为通用占位符无论最终索要填充的是什么内容都可以正常工作。
领取专属 10元无门槛券
私享最新 技术干货