为了账号安全,请及时绑定邮箱和手机立即绑定

为啥不能像下面这样完成?

 s[0]=s[0].upper()

ruturn s

为啥不能像上面这样写呢,只是将s里面第一个字母大写,后面的不动

正在回答

6 回答

字符串是变量,回去复习一下章节3-4

0 回复 有任何疑惑可以回复我~

字符串 'xxx'和 Unicode字符串 u'xxx'也可以看成是一种list,每个元素就是一个字符。

这句话有误 , 不能看作是 list , 而是看作是tuple  ,因为字符串不可变, list里的元素是可变的, 所以你不能取出来改变后重新赋值

0 回复 有任何疑惑可以回复我~

实际上,字符串都是可以修改的,这里说的不能修改是值对象不能修改,在python中,变量名的赋值是引用的赋值,所以是创建了新的对象。所以你的函数可修改为

s=s[0].upper()+s[1::]

ruturn s


0 回复 有任何疑惑可以回复我~

字符串类型是不可变的数据类型,在tuple哪里应该讲过

0 回复 有任何疑惑可以回复我~
#1

qq_等下一个雨天_0

字符串都是可以修改的,这里说的不能修改是值对象不能修改,在python中,变量名的赋值是引用的赋值,所以是创建了新的对象。
2018-12-29 回复 有任何疑惑可以回复我~

也就是upper()方法不会改变原来的对象

0 回复 有任何疑惑可以回复我~

upper函数只是临时返回大写字母的字符串,并未对字符串本身的属性及大小写装换,所以你想要使用转换后的字符串,那重新拿个新的函数来赋值才行。。。

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758362    人
  • 解答问题       8967    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

为啥不能像下面这样完成?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号