关于字符串的补充
在Python3中,所有的字符串都是Unicode字符串。
笔记如下;
字符串的创建如下
>>> char = ("contont")
>>> str1 = ('1234567')
>>> char
'contont'
>>> str1
'1234567
重点:创建字符可以使用单引号与双引号。
修改字符串
这里又要运用咱们熟悉的(切他)切片了,废话不多说,直接看例子
>>> str1
'1234567'
>>> str1[:3] + ("wo") + str1[3:]
'123wo4567'
>>> str1
'1234567'
发现没有变化,如果看过元组那一章的小伙伴们,或者有底子的,可能发现了问题所在,没错,少了从新赋予,在这里温习一下如下
>>> str1 = str1[:3] + ("wo") + str1[3:]
>>> str1
'123wo4567'
重点来了
格式化
format()方法
接受位置与关键词参数两者均传递replacement字段
replacement在字符串的有大括号表示
听不懂?没关系,看例子
>>> "{0} like {1}.{2}".format("I","variey","com")
'I like variey.com'
看见大括号了没,里面有数字呢,在我的理解里,数字相当于format里依次参数的坐标,可以指定的放进{0},{1},{2}里,所以format里的三个参数叫做位置参数,那什么是关键词参数呢?
关键词参数例子如下
>>> "{a} like {b}.{c}".format(a = "I",b = "variey",c = "com")
'I like variey.com'
>>> "{0} like {1}.{2}".format("I","variey","com")
'I like variey.com'
发现不同之处了吗,所谓的{}里的相当于位置参数的坐标,那样才会更好的找到属于自己的位置,不过注意哦,这两个也是有区别的,关键词参数更加准确的找到自己的,坐标了呢(就像每个房子上的编号一样,在format()它会将参数中等值的字符串替换进去)如果混合使用会怎么办。
>>> "{a} like {b}.{0}".format(a = "I",b = "variey","com")
File "<stdin>", line 1
SyntaxError: non-keyword arg after keyword arg
报错了,什么意思呢,拜托有道云了
翻译
回溯(最近一次调用last):
>>> "{a} like {b}.{0}"。格式(a = "I",b = "variey","com")
文件“<stdin>”,第1行
SyntaxError:关键字arg之后的非关键字arg
这是在说位置参数必须在关键词参数前面,如下
>>> "{0} like {a}.{b}".format("i",a = "I",b = "variey")
'i like I.variey'