tiger吴 发表于 2020-6-29 04:09:20

关于string

本人表示不理解,来位大佬解读下呗

小甲鱼的铁粉 发表于 2020-6-29 07:50:30

first,*middle,last = txt相当于是字符串的分片
first 和 last 默认只取一个字符,中间的middle 加了*,所以它可以取开头和结尾的任意个字符,*middle是一种用法,当不知道有多少个实参给与形参是使用*

小甲鱼的铁粉 发表于 2020-6-29 08:05:03

小甲鱼的铁粉 发表于 2020-6-29 07:50
first,*middle,last = txt相当于是字符串的分片
first 和 last 默认只取一个字符,中间的middle 加了*,所 ...

这个打错了,再纠正一下{:10_297:}
first,*middle,last = txt相当于是字符串的分片
first 和 last 默认只取一个字符,中间的middle 加了*,所以它可以取任意个字符,因为第一个字符给了first,第二个字符给了last,所以其余的中间的字符都给*middle,middle就记录着中间所以的字符,*middle是一种用法,当不知道有多少个实参给与形参是使用*

Twilight6 发表于 2020-6-29 08:34:55



用 * 的参数接收数据时候,意思就是接收多余的数据,你能剩下多少我就接收多少,所以这里

FishC 被另外两个参数拿走了两个字符,F 和 C 时候 剩下的 ish 字符都给带 * 号的middle 接收了~~

所以 middle 的结果是 ['i','s','h']


wp231957 发表于 2020-6-29 08:40:18

可以理解为python的一种特殊语法

>>> s="ab"
>>> a,*b,c=s
>>> a
'a'
>>> b
[]
>>> c
'b'
>>>

tiger吴 发表于 2020-6-29 08:53:03

wp231957 发表于 2020-6-29 08:40
可以理解为python的一种特殊语法

>>> s="ab"


看原图,F C都没有带引号,搞不懂
中间的用列表包住,为什么不是引号

Twilight6 发表于 2020-6-29 08:54:52

tiger吴 发表于 2020-6-29 08:53
看原图,F C都没有带引号,搞不懂
中间的用列表包住,为什么不是引号


print 打印的时候 直接打印字符串是不会带上括号的

而你打印列表,因为列表里的元素是字符串,所以要带上括号

tiger吴 发表于 2020-6-29 08:57:44

Twilight6 发表于 2020-6-29 08:54
print 打印的时候 直接打印字符串是不会带上括号的

而你打印列表,因为列表里的元素是字符串,所以 ...

楼上有人说相当于切片的用法,那么中间的应该也是字符串吧,怎么就变成列表了

Twilight6 发表于 2020-6-29 08:59:08

tiger吴 发表于 2020-6-29 08:57
楼上有人说相当于切片的用法,那么中间的应该也是字符串吧,怎么就变成列表了

那是他说错了,带 * 号的参数都是一个元素一个元素个接收的,不能相当于切片

tiger吴 发表于 2020-6-29 09:03:18

Twilight6 发表于 2020-6-29 08:59
那是他说错了,带 * 号的参数都是一个元素一个元素个接收的,不能相当于切片

又是知识点,要记的?!

Twilight6 发表于 2020-6-29 09:04:39

tiger吴 发表于 2020-6-29 09:03
又是知识点,要记的?!



对的,Python 基础要记的比一般其他语言更简单啦~~~所以还是老老实实记吧哈哈哈哈

nllcywl 发表于 2020-6-29 10:05:53

666
页: [1]
查看完整版本: 关于string