1.字符串str是不可修改类型;
class PassByReference:
def __init__(self):
self.variable = 'Original'
self.Change(self.variable)
print self.variable
def Change(self, var):
var = 'Changed'
函数PassByReference.Change并不能改变variable的内容。要解决这个问题,有两个办法:
(1)把修改之后的内容以返回值的形式传出:
def return_a_whole_new_string(the_string):
new_string = something_to_do_with_the_old_string(the_string)
return new_string
# then you could call it like
my_string = return_a_whole_new_string(my_string)
(2)把字符串放到一个新的类型或者容器(比如list)里:
def use_a_wrapper_to_simulate_pass_by_reference(stuff_to_change):
new_string = something_to_do_with_the_old_string(stuff_to_change[0])
stuff_to_change[0] = new_string
# then you could call it like
wrapper = [my_string]
use_a_wrapper_to_simulate_pass_by_reference(wrapper)
do_something_with(wrapper[0])
2.可以用单引号(')和双引号(")表示字符串;
3.可以用连续三个双引号(""")表示多行字符串的开头和结尾。
4.下面两个字符串有什么不同?
S1 = """
aaaa
bbbb
cccc"""
S2 = ('aaaa'
'bbbb' # Comments here are ignored
'cccc')
5. 没有字符和字符串的区别。C语言中的字符(char)在Python中只是一个长度为1的字符串
6. + 表示字符串拼接,<string>*<number>表示<number>个<string>拼接成一个新的字符串
7. Python不支持在一个字符串加上一个数字把该字符修改为另一个字符。如果要想实现这个功能,需要显示在字符和ASCII码之间转换:ord得到一个字符的ASCII码,chr把ASCII转换成字符