Python学习进程(7)字符串
本节介绍字符串的创建与操作方法。
(1)创建字符串:
创建字符串既可以用单引号也可以用双引号:
root@SJM:/home/sunjimeng/桌面# cat text.py
#单引号和双引号都可以创建字符串
str1='MenAngel'
str2="SunJiMeng"
print(str1,' is ',str2)
root@SJM:/home/sunjimeng/桌面# python3.5 text.py
MenAngel is SunJiMeng
root@SJM:/home/sunjimeng/桌面#
(2)访问字符串中指定的值:
Python不支持单字符类型,单字符也在Python也是作为一个字符串使用。
Python访问子字符串,可以使用方括号来截取字符串:
root@SJM:/home/sunjimeng/桌面# cat text.py
#单引号和双引号都可以创建字符串
str1='MenAngel'
str2="SunJiMeng"
print(str1,' is ',str2)
print('str1[0]=',str1[0])
print('str2[5:9]',str2[5:9])
root@SJM:/home/sunjimeng/桌面# python3.5 text.py
MenAngel is SunJiMeng
str1[0]= M
str2[5:9] Meng
(3)更新字符串的值:
root@SJM:/home/sunjimeng/桌面# cat text.py
#单引号和双引号都可以创建字符串
str1='MenAngel'
str2="SunJiMeng"
temp='Hello '+str1;
print('当前字符串为',temp)
temp=temp[:6]+str2
print('当前字符查为',temp)
root@SJM:/home/sunjimeng/桌面# python3.5 text.py
当前字符串为 Hello MenAngel
当前字符查为 Hello SunJiMeng
(4)转义字符:
与c语言类似,在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。

root@SJM:/home/sunjimeng/桌面# cat text.py
#1.续行符测试
print('MenAngel is studying\
Python language!')
#2.测试反斜杠
print('windows系统文件的路径:c:\\Document\\MenAngel')
#3.测试输出单引号和双引号
print('单引号:\';双引号:\"')
#4.测试回车和换行
print('测试换行\n')#留出一行
print('测试回车\r')#回车没有明显效果,有什么用呢?
root@SJM:/home/sunjimeng/桌面# python3.5 text.py
MenAngel is studying Python language!
windows系统文件的路径:c:\Document\MenAngel
单引号:';双引号:"
测试换行 测试回车
(5)字符串运算符:
字符串运算符用非函数的方式操作字符串,比较方便和快速:

字符串运算符的实例:
root@SJM:/home/sunjimeng/桌面# cat text.py
str1='MenAngel'
str2='SunJiMeng'
#1.+操作符的测试
print(str1+' '+str2)
#2.*操作符的测试
print((str1+' ')*3)
#3.[]和[:]操作符的测试
print(str1[0:2],str1[3])
#4.in和not in的测试
print('M' in str1)
print('M' not in str1)
#5.r/R的测试
print('利用转义字符后 ',r'\"我被包围了\"','变成了','\"我被包围了\"')
root@SJM:/home/sunjimeng/桌面# python3.5 text.py
MenAngel SunJiMeng
MenAngel MenAngel MenAngel
Me A
True
False
利用转义字符后 \"我被包围了\" 变成了 "我被包围了"
(6)格式字符串%:
Python支持格式化字符串的输出。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符%s 的字符串中。
在 Python 中,字符串格式化使用与C中 sprintf 函数一样的语法。
python字符串格式化符号:

格式字符串输出实例:
root@SJM:/home/sunjimeng/桌面# cat text.py
name='MenAngel'
sex='男'
age=19
print('我的个人信息是:name=%s,sex=%c,age=%d' %(name,sex,age)) #方法1
print("我的个人信息是:name=%(name)s,sex=%(sex)c,age=%(age)d" %{'name':'MenAngel','sex':'男','age':19}) #方法2
root@SJM:/home/sunjimeng/桌面# python3.5 text.py
我的个人信息是:name=MenAngel,sex=男,age=19
我的个人信息是:name=MenAngel,sex=男,age=19
格式化操作符辅助指令:

(7)三引号(triple quotes):
python中三引号可以将复杂的字符串进行复制:python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。
三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。
>>> tempStr='''你好啊
... MenAngel'''
>>> print(tempStr)
你好啊
MenAngel
>>> tempStr
'你好啊\nMenAngel'
三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的。
一个典型的用例是,当你需要一块HTML或者SQL时,这时用字符串组合,特殊字符串转义将会非常的繁琐。
errHTML = '''
<HTML><HEAD><TITLE>
Friends CGI Demo</TITLE></HEAD>
<BODY><H3>ERROR</H3>
<B>%s</B><P>
<FORM><INPUT TYPE=button VALUE=Back
ONCLICK="window.history.back()"></FORM>
</BODY></HTML>
'''
cursor.execute('''
CREATE TABLE users (
login VARCHAR(8),
uid INTEGER,
prid INTEGER)
''')
(8)Unicode字符串:
定义Unicode字符串是很简单的:
>>> temp=u'你好啊 MenAngel'
>>> print(temp)
你好啊 MenAngel
>>> u'Hello\u0020World !' #被替换的 \u0020 标识表示在给定位置插入编码值为 0x0020 的 Unicode 字符(空格符)。
'Hello World !'
引号前小写的"u"表示这里创建的是一个 Unicode 字符串。如果你想加入一个特殊字符,可以使用 Python 的 Unicode-Escape 编码。
Python学习进程(7)字符串的更多相关文章
- Python学习-第二天-字符串和常用数据结构
Python学习-第二天-字符串和常用数据结构 字符串的基本操作 def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1 ...
- Python学习进程(8)字符串內建函数
Python字符串內建函数实现了string模块的大部分方法,并包括了对Unicode编码方式的支持. (1)capitalize(): 将字符串的第一个字母变成大写,其他字母变小写. ...
- Python学习进程
1周第1天 主要是变量的学习(11月8日) 1.1 python安装(win和linux下)1.2 ipython安装及使用1.3 变量的定义1.4 变量赋值1.5 运算符(赋值.算术.关系.逻辑)1 ...
- Python学习进程(13)文件与IO
本节介绍基本的IO函数和文件的读写操作. (1)读取键盘输入: Python用于读取键盘输入的函数有两个:raw_input与input. 1)raw_input函数 从标准输入读取一 ...
- Python学习进程(12)模块
模块让你能够有逻辑地组织你的Python代码段. (1)python模块: 模块化的好处: 1.把相关的代码分配到一个模块里能让你的代码更好用,更易懂. 2.模块也是Python对象, ...
- Python学习进程(3)Python基本数据类型
本节介绍在Python语法中不同的变量数据类型. (1)基本数据类型: >>> a=10; >>> b=10.0; >>> c=T ...
- Python学习2——使用字符串(完整版)
""" 在C语言入门的时候字符串没有好好学习,导致后期语言根本没有入门, 更导致之后大量的codeing时间浪费,效率低下. 因此,借助这次Python入门,好好地将字符 ...
- python学习笔记(字符串操作、字典操作、三级菜单实例)
字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...
- Python学习笔记3—字符串
原始字符串 使用\转义或者r,这种方法在网站设置网站目录结构的时候非常管用. >>> dos="c:\news" >>> print dos c ...
随机推荐
- 去除Android打开软件出现的红边框
/********************************************************************** * 去除Android打开软件出现的红边框 * 说明: ...
- KMP hihoCoder1015 KMP算法
人太蠢,,看了一天的KMP.. 刚開始看训练指南的,,后来才惊奇的发现原来刘汝佳写的f数组并非Next数组! 总认为和之前看过的全然不一样.. . 后来又百度了一下KMP,研究了非常久,然后用自己的逻 ...
- POI Excel 冷冻线
冷冻线 Sheet.createFreezePane data bar and color scale SheetConditionalFormatting scf = sheet.getSheet ...
- Laravel5.1 路由 -路由分组
路由分组有啥好处? 有时候啊 一大堆路由它们都有共同的地方,比如都使用一个中间件(过两天写)或是前缀都一样,避免代码重复 我们可以将他们分到一组中. 1 路由分组可以共享哪些属性? 中间件 middl ...
- Linux之(node.js)服务
1.1下载源码 你需要在下载最新的Nodejs版本, https://nodejs.org/en/download/ http://nodejs.org/dist/ 现在以node-v7.7.1.ta ...
- Jmeter中中文乱码
jmeter-察看结果树-响应数据中的中文显示乱码 jmeter\bin\jmeter.properties 默认编码为:ISO-8859-1# The encoding to be used if ...
- log4j日志文件乱码问题的解决方法
近日在AIX上用log4j打印日志,出现乱码,经过努力解决问题. 症状:在默认语言非中文(或者说默认语言不支持中文的)的Windows.Linux.Unix上,用log4j打印日志,出现乱码,常见的就 ...
- PAT trie
最近在上计算机应用编程,老师给了一个大小为900MB的含20000000行邮箱地址的文件. 然后再给出了1000条查询数据,让你用字典树建树然后查询是否出现过. 试了下普通的tire树,特意用二进制写 ...
- B. No Time for Dragons(贪心)
B. No Time for Dragons time limit per test 2.0 s memory limit per test 256 MB input standard input o ...
- 华盟网公开课 office 宏 主讲Alex
powershell github: veil-evasion macroshop unicorn https://github.com/trustedsec/unicorn metasploit ...