Python 基础语法三-字符串

字符串(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!" is string!

使用转义字符来输出含有单引号或双引号的字符串

>>> print('What\'s your name?')
What's your name?
>>> print("\"Hello keinYe!\" is string!")
"Hello keinYe!" is string!

如果字符串中同时含有单引号和双引号该怎么处理呢?print('What\'s your name?, \"Hello keinYe!\" is string!')

字符串基本操作

从字符串的定义可以看出字符串是一种有序序列,因此字符串具有如下操作:

  1. len(): 获取字符串长度
  2. + : 连接两个字符串
  3. * : 重复字符串
  4. in : 判断元素是否存在于序列中
  5. max() : 返回最大值
  6. min() : 返回最小值
  7. operator模块 :比较 2 个字符串

len()

len() 函数用来获取指定字符串的长度,如下所示:

>>> a = 'Hello keinYe!'
>>> length = len(a)
>>> print(length)
13
>>> type(length)
<class 'int'>

从以上示例可以看出 len() 函数返回的是字符串的字符个数,且返回值是一个整形数据。

+

+ 用来连接(或拼接)两个字符串

>>> a = 'Hello '
>>> b = "World!"
>>> c = a + b
>>> print(c)
Hello World!

*

* 用来重复字符串 n 次,在特殊情况下这会相当有用

>>> a = "Hello "
>>> b = a * 5
>>> print(b)
Hello Hello Hello Hello Hello 

in

从字面理解表示在...之内,在 python 中用来判断一个字符串是否包含在另一个字符串内

>>> a = "Hello World!"
>>> b = "Hello"
>>> print(b in a)
True
>>> c = "hello"
>>> print(c in a)
False

max() 和 min()

max() 和 min() 用来获取字符串的最大值和最小值。

>>> a = "HelloWorld!"
>>> max(a)
r
>>> min(a)
!

operator模块

将两个字符串进行比较。

>>> str1 = "Hello World!"
>>> str2 = "Hello keinYe!"
>>> import operator
>>> 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

字符串输出格式化

在使用字符串的过程中,常常遇到需要动态更改字符串中的某个位置的内容,比如根据输入姓名输出Hello, name!, 此时就需要用到字符串输出格式化,字符串格式化怎么理解呢?看一下内容

字符串格式化化,就是要先制定一个模板,在这个模板中某个或者某几个地方留出空位来,然后在那些空位填上字符串。那么,那些空位,需要用一个符号来表示,这个符号通常被叫做占位符(仅仅是占据着那个位置,并不是输出的内容).

在 python 中常见的占位符有以下几种

占位符

描述

%s

字符串(采用 str()的显示)

%r

字符串(采用 repr()的显示)

%c

单个字符

%b

二进制整数

%d

十进制整数

%i

十进制整数

%o

八进制整数

%x

十六进制整数

%e

指数 (基底写为 e)

%E

指数 (基底写为 E)

%f

浮点数

%F

浮点数,与上相同

%g

指数(e) 或浮点数 (根据显示长度)

%G

指数(E)或浮点数 (根据显示长度)

看一下示例:

>>> 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)
I like python
>>> str = '今天是 {} 年 {} 月 {} 日'.format(2018, 11, 28)
>>> print(str)
今天是 2018 年 11 月 28 日
>>> print('π = {}'.format(3.1415926))
π = 3.1415926

使用 string.format() 方法让你可以不必关心数据类型,使用{}作为通用占位符无论最终索要填充的是什么内容都可以正常工作。

原文发布于微信公众号 - keinYe(keinYe_zh)

原文发表时间:2018-11-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券