一、感慨
1.学python,先要把他环境装好。之前装vs的时候,是为了做游戏,还要装图形库,刚开始啥都不知道,磕磕绊绊,卸了又删除,简直是个大折磨。后来游戏都做好的时候,再回过头来发现好简单。虽然有点经验,但python这次还是有点不太容易,希望之后配其他环境的时候能顺利不断。
2.第二个是简单,果然学过一门语言后,就是C语言,感觉python简单到上天,而且还方便。如果能刚开始就学python该多幸福...呜呜呜...
二、知识分享(认为挺重要的部分)
1.函数
可以通过重新创建一个列表引用对象,来避免修改函数内部列表的同时影响到外部的对象。
#!/usr/bin/python # -*- coding: UTF-8 -*- def changeme( mylists ): "修改传入的列表" mylists.append([1,2,3,4]) print "函数内取值: ", mylists return # 调用changeme函数 mylist = [10,20,30] myCopy = mylist[:] # 重新创建一个索引,这样子函数内部的修改不会影响到外部的列表。 changeme( myCopy ) print "函数外取值: ", mylist
2.列表
删除列表元素
可以使用 del 语句来删除列表的元素,如:
#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000] print list1 del list1[2] print "After deleting value at index 2 : " print list1
---结果:
['physics', 'chemistry', 1997, 2000] After deleting value at index 2 : ['physics', 'chemistry', 2000]
3.字典元素的遍历
就是从字典当中依次将字典中的元素进行获取。
分析:scores是一个字典,从字典中获取元素赋给item,item实际上是字典中的一个key键
#实例
scores={'a':100,'b':98,'c':45}
print('---哈哈哈---')
for item in scores:
print(item,scores[item],scores.get(item)) #使用前面[]和get()两种方法,根据key键获取字典中元素的一个值;且目前不会抛异常报错,因为key键在字典{}中都是存在的
#运行结果
---哈哈哈---
a 100 100
b 98 98
c 45 45
三、认为新手会遇到的问题
下面这段代码的问题应该算是十分明显:
>>> odd = lambda x : bool(x % 2)
>>> numbers = [n for n in range(10)]
>>> for i in range(len(numbers)):
... if odd(numbers[i]):
... del numbers[i] # BAD: Deleting item from a list while iterating over it
...
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
IndexError: list index out of range
在遍历列表时更改列表
下面用列表解析式重新实现上面代码的功能:
>>> odd = lambda x : bool(x % 2)
>>> numbers = [n for n in range(10)]
>>> numbers[:] = [n for n in numbers if not odd(n)] # ahh, the beauty of it all
>>> numbers
[0, 2, 4, 6, 8]
总结:
接触一个新的东西,不管怎样,都会遇到点困难,只要有点耐心,都会解决的。
希望我们所有人面对电脑冰冷的屏幕,都能不断地用37度的手,一键一键地把自己的心敲进它的心里。哈哈哈~鸡汤来一波~遁了~