走进Python世界(五)数据类型 2. 字符串(String)

字符串String

使用引号定义的一组可以包含数字,字母,符号(非特殊系统符号)的集合。

如:

Strval=“This is a test!”
Strval1=‘This is a test!‘
Strval2="""This is a test"""

三重引号(DocString)

Python三重引号允许字符串跨越多行,包括逐字换行符,制表符和其他特殊字符。

三重引号语法由三个连续的单引号或双引号。

#!/usr/bin/python

para_str = """this is a long string that is made up of
several lines and non-printable characters such as
TAB ( \t ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [ \n ], or just a NEWLINE within
the variable assignment will also show up.
"""
print para_str;

当执行上面的代码中,产生以下结果。请注意如何每一个特殊字符被转换到打印形式,一直到最后的换行符之间的字符串“up”结束闭三重引号。还要注意的是发生或者使用显式回车在一行或它的转义代码(\ n)的尾部的换行:

this is a long string that is made up of
several lines and non-printable characters such as
TAB (    ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [
 ], or just a NEWLINE within
the variable assignment will also show up.

需要注意的是,python会认为 成对的引号之间的内容为字符串内容。

如下面的例子 会有语法错误

say=’let‘s go’

 File "<stdin>" , line1
 say=’let‘s go’
          ^
 SyntaxError:invalid syntax

正确的做法是

如果只包含单引号: 使用双引号来包含字符串

如果包含单引号,双引号: 使用双引号来包含字符串,并且字符串内的双引号用转义字符 \ 来转义

say=“let‘s \" go”

转义字符

下表是未转义非打印字符的列表,可以用反斜线符号来表示。

转义字符被解释;在一个单引号和双引号字符串。


反斜线

符号


十六进制

字符

描述
\a 0x07 铃声或警报
\b 0x08 退格键
\cx Control-x
\C-x Control-x
\e 0x1b 转义
\f 0x0c 换页
\M-\C-x Meta-Control-x
\n 0x0a 新一行
\nnn 八进制表示法,其中n的范围为0.7
\r 0x0d 回车
\s 0x20 空格
\t 0x09 Tab键
\v 0x0b 垂直制表
\x 字符x
\xnn 十六进制表示法,其中n的范围是从0.9,a.f,或AF

字符串特殊操作符

操作符 描述 例子
a= Hello b=Python
+ 串联- 对操作符的两侧值增加
a + b 的值为 HelloPython

* 重复 - 创建新的字符串,链接相同的字符串的多个副本 a*2 的值为 -HelloHello
[] 切片- 从给定的索引字符指定 a[1] 的值为 e
[ : ]
范围切片 - 给定的范围内的字符

可以给定三个值,起始索引,结束索引,步长值

结束值的索引之前的会被取出来

省略起始索引,从0开始

省略结束索引,到末尾。

如果索引值为负数的话,则从末尾开始

步长值则表示,在切片范围取值的时候没间隔多少个字符串取出一个字符,默认值为1

如果步长值为负数也可表示 从右往左取


a[1:4] 的值为 ell

a[:4]的值为Hell

a[1:]的值为ello

a[-4:-1]的值为ello

a[::2]的值Hlo

in 成员 - 如果一个字符存在给定的字符串中,则返回true H in a 结果值为 1
not in 成员 - 如果输入的字符不给定的字符串中不存在,则返回true M not in a 结果值为 1
r/R 原始字符串- 禁止转义字符的实际意义。语法原始字符串是完全一样的普通字符串,除了原始的字符串运算符,字母“r”,这之前的引号。在“r”可以小写(r)或大写字母(R)的,必须立即放置在第一引号前面。 print r‘\n‘ 打印 \n 并且 print R‘\n‘ 打印 \n

字符串格式化操作

Python最酷的功能是字符串格式运算符%。这种操作是唯一的字符串,弥补了C语言的printf()系列函数功能。下面是一个简单的例子:

#!/usr/bin/python

print "My name is %s and weight is %d kg!" % (‘Zara‘, 21)

当执行上面的代码中,产生以下结果:

My name is Zara and weight is 21 kg!

下面是完整的,它可以与%符号使用列表:

格式符号 转换
%c 字符
%s 通过str() 字符串转换来格式化
%i 有符号十进制整数
%d 有符号十进制整数
%u 无符号十进制整数
%o 八进制整数
%x 十六进制整数(小写字母)
%X 十六进制整数(大写字母)
%e 索引符号(小写‘e‘)
%E 索引符号(大写“E”)
%f 浮点实数
%g %f和%e 的简写
%G %f和%E的简写

其他支持的符号和功能如下表:

符号 功能
* 参数指定宽度和精度
- 左对齐
+ 显示符号
<sp> 一个正数前留一个空格
# 添加前导零(‘0‘)或十六进制前导0x“或”0X“,取决于”x“或”X“是否使用八进制。
0 从键盘左边添加零(而不是空格)
% ‘%%‘给留下一个文字‘%‘
(var) 映射变量(字典参数)
m.n. m是最小的总宽度和n是数字,显示小数点后的位数(如果appl)

Unicode字符串

在Python普通字符串在内部存储为8位ASCII,而Unicode字符串被作为16位Unicode存储。这使得一组字符更加多样化,包括大多数语言在世界上的特殊字符。限制处理Unicode字符串

#!/usr/bin/python

print u‘Hello, world!‘

当执行上面的代码,产生以下结果:

Hello, world!

正如你所看到的,Unicode字符串使用前缀 u,就像原始字符串使用前缀 r

时间: 2024-10-13 14:38:23

走进Python世界(五)数据类型 2. 字符串(String)的相关文章

Python生涯之数据类型(字符串)

python中断多重循环的方法exit_flag 常见的方法: exit_flag = flase for 循环: for 循环: if 条件 exit_flag = true break #跳出里面的循环 if exit_flag: break #跳出外面的循环 基本数据类型和扩展数据类型的分类? 基本数据类型: 可变数据类型:列表,字典,集合 不可变数据类型:字符串,元祖,数字 扩展性数据类型: 1,namedtuole():生成可以使用名字来访问元素内容的tuple子类 2,deque:双

走进Python世界(五)数据类型 3. 序列类型-元祖(tuple)

什么是序列 列表,元组和字符串都是序列. 序列的两个主要特点是索引操作符和切片操作符 索引操作符让我们可以从序列中取一个值 切片操作符让我们能够获取序列的一个切片,即一部分序列 索引同样可以是负数,位置是从序列尾开始计算的 因此,shoplist[-1]表示序列的最后一个元素而shoplist[-2]抓取的倒数第二个项目 切片操作符是序列名后跟一个方括号,方括号内有一对可选的数字,并用冒号分隔 注意冒号是必须的,数字是可选的 切片操作符中的第一个数表示开始位置,第二个数表示切片到哪里结束. 如果

走进Python世界(五)数据类型 5. 序列类型-字典(Dictionary)

什么是字典 字典是python中唯一的映射类型(哈希表) 字典是无序的 字典对象是可变的,但是字典的键必须使用不可变的对象,并且一个字典中可以使用不同的类型键值 keys() 或者values()返回键列表或者值列表 items()返回键值对的元组 创建字典 一般方法 常用的方式就是直接使用{} 一般语法如下: dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} 工厂方法 使用工厂方法dict来创建字典 一般语法如下: fdict=

走进Python世界(五)数据类型 3. 序列类型-列表(List)

什么是列表 列表是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目 列表是可变的数据类型 列表的组成:用[]表示列表,包含了多个以逗号分隔开 数字,或者字符串. 列表的基本操作 列表是序列的一种,它也具有序列的基本操作 如: +,*,max,min等操作.此外 因为列表是可变的序列集合,它支持一些常见的 读写跟新操作 如: 操作 列子 描述 取值 list=['mileo',30,'maile'] list[0],list[0:2] 其实就是序列的切片和索引操作 添加 list

走进Python世界(五)数据类型 1.数字(Number)

数字类型 整型 长整型 浮点型 复数型 整型 整数int表示范围 -2^31  ~  2^31-1 长整型 整数long表示范围的范围很大很大,几乎涵盖任意的的整数. 为了区分int和long,需要在整数后面加L或者小写L. 如果超过整数范围而没有添加long的符号,python会隐式地转换成长整型 浮点型 带小数点的数字类型为浮点型 复数类型 我们在初等数学中所了解的那种复数, 分为实部和虚部 在python语言中,定义虚部用j来表示,如: c=3.14j

《手牵手带你走进python世界》系列五

import requests from bs4 import BeautifulSoup import datetime import pandas as pd import matplotlib.pyplot as plt import re import jieba import numpy as np from wordcloud import WordCloud, ImageColorGenerator url = "https://comment.bilibili.com/92542

Redis数据类型之字符串String

String类型是Redis中最基本也最简单的一种数据类型 首先演示一些常用的命令 一.SET key value 和GET key SET key value 和 GET key  设置键值和获取值 SET将键today的值设为tuesday:GET取出键today的值 SET命令执行成功后返回OK:GET返回要取到的值 当一个key已经有值时,使用SET会覆盖其原有值,并且不受类型限制 today的原有值"tuesday"被"12"覆盖.Redis里没有整数类型

python中的数据类型及字符串操作

1. 基本数据类型概况 1, int 整数 2. str 字符串 3. bool 布尔值 4. list 列表. 一般存放大量的数据 ["门神xxxx", "风扇哥xxxx", 元素] 5. tuple 元组. 只读列表, 只能看啥也不能干. (元素, 元素) 6. dict 字典. {"风扇哥":"王伟哲", "wlh": "王力宏"} 7. set 集合 {"风扇哥&quo

走进Python世界(四)基本语法

Python标识符 Python标识符是用来标识一个变量,函数,类,模块或其他对象的名称.一个标识符开始以字母A到Z或a?z或后跟零个或多个字母下划线(_),下划线和数字(0?9). Python中标识符内不允许标点符号,如@,$和%. Python是一种区分大小写的编程语言.因此,Manpower 和manpower在Python中是两个不同的标识符. 这里有Python标识符命名约定: 类名以大写字母以及所有其它标识符以小写字母. 开头单个前导下划线的标识符表示由该标识符约定意思是私有的.