diff options
-rw-r--r-- | LectureNotesOnPython.rst | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/LectureNotesOnPython.rst b/LectureNotesOnPython.rst index ce9fdf9..322d510 100644 --- a/LectureNotesOnPython.rst +++ b/LectureNotesOnPython.rst @@ -404,7 +404,9 @@ a是变量名。 'a'是值。 a = 'a' 这个语句要从右边向左边读, print(count) -问题: 数出字符串'apple banana apple'中, apple出现的次数? +上面我们看到了 for c in fruit: 这样最基本循环结构。 这里稍加解释。 for c in fruit: 的字面意思是对于在fruit字符串中的每个字符, 把它们依次赋值给变量c, 所以c在5次循环中, 会分别等于'a', 'p', 'p', 'l', 'e', 然后for这个结构就结束了。 for后面的东西叫做for体, for体内的东西要缩进4个空格。 for体其实是对c变量进行了信息提取与比较。 我们要把 for xx in xxx : 这种循环结构默记与胸。 易错点: fruit:后面还要跟有东西。 + +问题: 数出字符串'apple banana apple'中, 'apple'出现的次数? .. code:: python @@ -414,6 +416,8 @@ a是变量名。 'a'是值。 a = 'a' 这个语句要从右边向左边读, 问题: 数出字符串'apple banana applepie'中, apple出现的次数? 希望的答案是1。 +s.count('apple')方法在此的局限是它会数applepie中的子字符串apple。 这不是我们希望发生的。 + .. code:: python fruit = 'apple banana applepie' @@ -486,6 +490,7 @@ a是变量名。 'a'是值。 a = 'a' 这个语句要从右边向左边读, print(len(t)) +replace方法可以链起来使用, 比如要替换掉标点符号逗号句号问号, 我们可以用 s.replace(',', '').replace('.', '').replace('?', '') 。 **练习** 把下面这段文字转成字符串并存在变量boris中。 @@ -625,6 +630,7 @@ Python的关键词 关键词不能用作变量名。 +特别注意 **区别变量与字符串** 。 初学者因为没有接触过编程, 所以会用 apple 来代替 'apple' 。 apple可以是变量的名字, 但是 'apple' 不可以是变量的名字。 如果你想赋值给变量a一个字符串'apple', a = apple是错误的, 应该使用a = 'apple'。 值存放在内存某处。值会记录指向它的变量个数。 @@ -843,6 +849,9 @@ len()函数。返回字符串字符个数。len(fruit)。 字符串相加(concatenation) ------------------------------------------------------- +两个字符串可以相加, 得到合并后的字符串。 a = 'good' + ' ' + 'morning' 。 + + 输出Jack, Kack, Lack, Mack, Nack, Ouack, Pack, and Quack | prefixes = 'JKLMNOPQ' @@ -1099,6 +1108,15 @@ a与b是指向[1,2,3]的两个references。 因为[1,2,3]是mutable的,所以使用a对[1,2,3]做改变同样影响到b对应的值。 error-prone(易错) +**练习** 给定任何一个字符串, 统计其中各个单词出现的频率。 考虑以下几种情况。 + + - 区分大小写。 + + - 不区分大小写。 + + - 把 'apple,' 与 'apple'当作两个单词, 一个有逗号,一个没有逗号。 + + - 把 'apple,' 与 'apple'当作一个单词, 'apple'。 列表作为参数 |