今天开始真正踏上Python的学习旅程了,了解和尝试了一些基本内容,尚没有太多心得,以后慢慢修改吧。
暂时学到的地方
一、Python的运行
1. 交互界面
直接在命令行中输入python就可以作各种程序的尝试,然后获得相应的结果,这是比学习Java要happy些的地方。有人说“这看起来一点都不像是在编程,简直就是在使用计算器”,确实很形象。
2. Classpath
还不知道Python的路径搜索是怎样的流程,继续学习中...
a. sys.path是一个属性,加载模块的时候,解释器会在sys.path路径中搜索字典列表。可以通过sys.path.append()来动态添加路径。
>>> import sys
>>> print sys.path
['', 'C:\\WINDOWS\\system32\\python27.zip', 'D:\\Program Files\\Python27\\DLLs', 'D:\\Program Files\\Python27\\lib', 'D:\\Program Files\\Python27\\lib\\plat-win', 'D:\\Program Files\\Python27\\lib\\lib-tk', 'D:\\Program Files\\Python27', 'D:\\Program Files\\Python27\\lib\\site-packages']。
b. 另外一个配置是环境变量PYTHONPATH。
自己写的一些例子可以放在这些目录当中,或者将例子配置到变量中,才可以直接import模块进来。
在站点配置中,Python会包含很多第三方模块和包,要配置这些包,解释器首先导入模块site。site的任务就是搜索包文件并将更多的目录添加到模块搜索路径sys.path中。
二、Python容器
找工作面试中,Java的容器每次都不能幸免,足见容器类在程序中的重要性。
Python基本的集合对象包括:列表(List)、元组、集合(Set)和字典(Map),集合的功能看起来远没有Java的那么强大。对它们各自的方法与操作符,也还需要进一步了解,相信是非常重要的。
三、闭包
一直苦于对闭包的理解,在java的猜测中,或者在Javascript的学习中。今天只是瞅了一眼闭包,貌似茅塞顿开了。“把代码段和它的上下文变量进行包装”,就成了闭包。
四、generator
所谓的生成器,使用yield来返回结果,比如yield line,包含在某个循环语句中,它就会将每次的结果保存起来,用于return。可以用next()或迭代器来获取元素。
书上的描述(生成器是基于处理管道、流或数据流编写程序的一种方式)
五、协程
这个对我来说也是一个新概念,同样用yield实现。
今天就看了第一章,许多之前Java中遇到的问题,包括内存分配,多线程,集合类 都需要进一步的了解。
而Java中不是太费解的参数,类以及各种常用方法,常用库 也是需要花比较多时间去感受的。
看起来还要很久才能深入,努力~~ 明天会更好