Python系列之笨方法学Python是我学习《笨方法学Python》—Zed A. Show著
的学习思路和理解,如有不如之处,望指出!!!
本节我们来学习Python是怎么对列表实行操作的
示例:
当你看到mystuff.append('hello')
这样的代码时,它已经在Python内部激发了一个连锁反应。以下是它的工作原理。
- Python看到你用到
mystuff
,于是就去找这个变量。也许它需要倒着检查看你有没有在哪里用=
创建过这个变量,或者检查它是不是一个函数参数,或者看它是不是一个全局变量。不管哪种方式,它得先找到mystuff
这个变量才行。 - 一旦它找到了
mystuff
,就轮到处理句点(.
)这个操作符,而且开始查看mystuff
内部的一些变量了。由于mystuff
是一个列表,Python知道mystuff
支持一些函数。 - 接下来轮到处理
append
。Python会将append
和mystuff
支持的所有函数的名称一一对比,如果确实有一个叫append
的函数,那么Python就会去使用这个函数。 - 接下来Python看到了括号
(
并意识到:“奥,原来这应该是一个函数。”到了这里,它就正常调用这个函数了,不过这里的函数还要多一个参数才行。 - 这个额外的参数其实就是
mystuff
。很奇怪是不是?不过这就是Python的工作原理,所以请记住这一点,就当它是正常的好了。真正发生的事情其实是appeng(mystuff,'hello')
,不过写法是mystuff.append('hello')
。
源代码
ten_things="apples oranges crows telephone light sugar"
print "wait there's not 10 things in that list,let's fix that."
stuff=ten_things.split(' ')
more_stuff=["day","night","song","frisbee","corn","banana","gril","boy"]
while len(stuff)!=10:
next_one=more_stuff.pop()
print "adding: ",next_one
stuff.append(next_one)
print "there's %d items now."%len(stuff)
print "there we go: ",stuff
print "Let's do some things with stuff."
print stuff[1]
print stuff[-1]
print stuff.pop()
print ' '.join(stuff)
print '#'.join(stuff[3:5])
应该看到的结果
本节需要学习的知识
- 把每一个被调用的函数翻译成Python实际执行的动作
‘ ’.join(things)
其实就是join(' ',things)
。
‘ ’.join(things)
可以翻译成“用‘ ’
连接things
”,而join(' ',things)
意思是“为‘ ’
和things
调用join
函数”。
len()
函数
len()
方法返回对象(字符、列表、元组等)长度或项目个数。
语法
len( s )
示例
>>>str = "runoob"
>>> len(str) # 字符串长度
6
>>> l = [1,2,3,4,5]
>>> len(l) # 列表元素个数
5
stuff[3:5]
的作用
它会从stuff
列表的第3个元素开始取值,知道第5个元素,注意这里并不包含第5个元素。
这是**《笨方法学Python》**的第二十篇文章
希望自己可以坚持下去
希望你也可以坚持下去