python字符详解及常用连接

Python字符串可以使用单引号('), 双引号("), 三引号('''); 三引号(''')里面, 可以添加单引号和双引号, 也可以通过转义序列()添加;
字符串放在一起自动连接成为一个字符串;
字符串前面添加限定词R或r, 表示是自然字符串(nature string), 可以忽略里面的格式限制;
在物理行末尾添加"", 可以连接下一个物理行; 括号, 方括号, 大括号也可以一定限度的扩充物理行;

字符串定义
  • 使用单引号或双引号
>>> 'Hello World'
'Hello World'
>>> "hello world"
'hello world'
  • 单双引号混用
>>> "Hello,'xiao Ming'"
结果:"Hello,'xiao Ming'"
>>> '"xiao Ming",ni mei er'
结果:'"xiao Ming",ni mei er'

说明:如果双引号中间有单引号,可以作为普通字符,如果单引号中间有双引号,亦然

  • 使用三引号(单/双)
>>> """xiaoming
xiaoli
xiaopihai"""
结果:'xiaoming\nxiaoli\nxiaopihai'
>>> '''
XIAOMING
XIAOLI
XIAOPIHAI
XIAOGHAI'''
结果:'\nXIAOMING\nXIAOLI\nXIAOPIHAI\nXIAOGHAI'

说明:1. 三单引号、双引号一般用于跨行字符串输入。2. 行末端包含在字符串中,所以显示包含字符串\n 3.如果字符串中有单引号且无双引号,建议使用双引号标志,可读性变强

  • 字符串转义
>>> 'isn\'t'
结果:"isn't"
>>> "xiaoMing said \"fuck\" "
结果:'xiaoMing said "fuck" '
>>> '%%hi tom hi beibei,like:%%d %%s %%f %d'%10
结果:'%hi tom hi beibei,like:%d %s %f 10'

说明:'转义字符',"转义字符",%%转义字符%

  • 字符串输出
>>> '"dosn\'t",kiss me'
'"dosn\'t",kiss me'                   #此处没有转义
>>> print('"dosn\'t",kiss me')
"dosn't",kiss me
>>> l = 'first line.\nSecond line.' #\n为换行
>>> l
结果:'first line.\nSecond line.'      #为使用print(),\n包含在输出的结果中
>>> print(l)             #使用print()函数,\n表示换行,输出结果如下
结果:first line.
Second line.
>>> print("""test
first:This is first Line
-h display this line
-H not display this line
""")
test
first:This is first Line
-h display this line
-H not display this line

>>> print('''
...
...
...''')

...
...
...
>>> print("""test\                                 #可以使用\ 来取消跨行输出
first:This is first Line\
-h display this line
-H not display this line
""")
结果:testfirst:This is first Line-h display this line
     -H not display this line
  • 禁止字符转义
>>> print('c:\python\npython35') #这里的\n被解释为作为换行
结果:c:\python
       python35
>>> print(r'c:\python\n pyhon35') #如过不想换行,可以在第一个引号前面加r
结果:c:\python\n pyhon35
  • 字符串连接应用
>>> conf = {'host':'127.0.0.1',
...     'db':'test',
...     'user':'sb',
...     'passwd':'fuck'}
>>> ';'.join("%s=%s"%(k, v) for k, v in conf.iteritems())
结果:'passswd=fuck;db=test;user=sa;host=127.0.0.1'

说明: join() 函数的高效率(相对于循环相加而言),使它成为最值得关注的字符串方法之一。它的功用是将可迭代的字符串序列连接成一条长字符串,其接受一个列表,然后用字符串依次连接列表中每一个元素

  • 字符串连接
>>> 'hello' + ' ' + 'world' #用+号连接字符串
结果:'hello world'
>>> ('YY' * 3) + 'DDHH'
结果:'YYYYYYDDHH'
>>> 'yang' '20160122' #用空格连接字符串
结果:'yang20160122'
>>> lidefeng = 'ldf'
>>> lidefeng 'ldf'
结果:SyntaxError: invalid syntax

说明:不管字符串之间有多少空格都会被当作一个空格来看待,尽量不要用空格连接字符串,两者都是字符串不适用与变量或表达式

  • 字符串连接续
>>> content = ('hello world I come from china' #回车
       'i want to jiangsu.')
>>> content
'hello world I come from chinai want to jiangsu.'
>>> content = 'welcome to school'
>>> text = (content                           #回车
    + 'i like u to wish'
    )
>>> text
'welcome to schooli like u to wish'
>>> 5 * "hello" + "fuck"                           #用*号重复字符串
'hellohellohellohellohellofuck'                 #注意:数字必须写在最前面,如需变化顺序需要加上括号(),如上
>>> content = "jiangsu"
>>> content[0] = 'j'                           #非法赋值
Traceback (most recent call last):   #不允许利用索引或切片改变获取字符,字符串,但是可以通过+号来连接获取的字符串
  File "<pyshell#119>", line 1, in <module>
    content[0] = 'j'
TypeError: 'str' object does not support item assignment
>>> content[2]= 'su'
Traceback (most recent call last):
  File "<pyshell#120>", line 1, in <module>
    content[2]= 'su'
TypeError: 'str' object does not support item assignment
>>> "i" + content[:4]  #不允许利用索引或切片改变获取字符,字符串,但是可以通过+号来连接获取的字符串
'ijian'
  • 字符串连接(特殊场景)
>>> "beijing".join("")
结果:''
>>> "beijing".join("a")
结果:'a'
>>> list = ["i"]
>>> "e".join(list)
结果:'i'
>>> "\".jion("content")  #不是每种字符串都可以用分隔符
结果:SyntaxError: invalid syntax
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,835评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,598评论 1 295
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,569评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,159评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,533评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,710评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,923评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,674评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,421评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,622评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,115评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,428评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,114评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,097评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,875评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,753评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,649评论 2 271

推荐阅读更多精彩内容