不一样的Python(4)——字符串


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转换成字符

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值