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 ...
随机推荐
- 我的第三个java程序 两数相加
import java.util.Scanner; public class Test { public static void main(String [] args) { Scanner sc = ...
- linux oracle 配置监听器
参考:http://database.51cto.com/art/201010/231338.htm 服务端: 1.增加一个listener:终端运行: $ORACLE_HOME/bin/netca ...
- SlidingMenu官方实例分析6——ResponsiveUIActivity
ResponsiveUIActivity 这个类实现的是一个响应适UI设计重点是布局的设计: layout布局如下: layout-large-land布局如下: layout-xlarge布局如下: ...
- windows共享文件夹给centOS
服务器使用的是CentOS系统,而本机使用的win7系统.考虑到是临时使用,所以就不打算搭建FTP和Samba服务器,直接通过CentOS挂载windows共享文件夹的方式来达到此目的. 既然是使用w ...
- Laravel中创建控制器
<?php /** * Created by PhpStorm. * User: chuang * Date: 17-1-14 * Time: 下午4:29 */ namespace App\H ...
- 头一次玩博客,记录下我的java之路吧
今天写了简单的后台管理系统,发现光靠脑子记住知识真的很难,笔记本不好翻,之前写的代码更难找,所以写写博客,记录一些知识,为了以后上班用得到.
- Jmeter BeanShell 引用变量报错jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval Parse error at line 14, column 181 : Error or number too big for integer
如果你通过CSV Data Set Config或者_StringFromFile函数来参数化你的请求,需要特别注意当参数为纯数字时,jmeter会默认将其识别成int型数据,说明jmeter并不是默 ...
- Collection Set List 集合二
Set List 都继承Collection Collection:元素之间没有顺序,允许重复和多个null元素对象. Set:元素之间没有顺序,不允许重复只能存一个null. List:元素之间有顺 ...
- codevs2894、2837、1669、2503、3231
6.25动态规划之背包回顾 2894 Txx考试 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description Txx是一个 ...
- #1589 : 回文子串的数量(Manacher)
#1589 : 回文子串的数量 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个字符串S,请统计S的所有|S| * (|S| + 1) / 2个子串中(首尾位置不 ...