zoukankan      html  css  js  c++  java
  • 我的Python之旅——《Dive Into Python》读书笔记(一)

    Python最近大红大紫了,在朋友建议下决定看一看。这也是我第一次接触脚本语言,决心好好看一把。
    下了Python,安装一切顺利,还找了一本书《Dive Into Python》,英文版的,不太妙,不过连猜带蒙再加金山词霸也勉强能够应付,凑合吧。
    第一个例子
    1:def buildConnectionString(params):
    2: """Build a connection string from a dictionary of parameters.
    3: Returns string."""
    4: return ";".join(["%s=%s" % (k, v) for k, v in params.items()])
    5:if __name__ == "__main__":
    6: myParams = {"server":"mpilgrim", /
    7:  "database":"master", /
    8:  "uid":"sa", /
    9:  "pwd":"secret" /
    10:  }
    11: print buildConnectionString(myParams)
    按作者的意思,我试着理解了一下。
    第1行挺像个函数,估且认为是函数申明吧
    那2、3行应该是注释错不了,这么通顺还带标点符号的句子打死我也不信是Python的语句:)
    第4行有点难理解了。是要把一个什么东西join起来呢?(k,v)像是一个二维数组,其值来自params.items(),前面的"%s=%s"应该是一种join的形式,剩下的什么意思呢?不明白了,估且放下。
    第5行,一个变量是否等于一个字符串?但是变量没见申明啊??
    6-10行,总算看到buildConnectionString的params了,“:”隔开的应该是二维数组的两维,每行后面的“/”是什么呢?去掉了也不会出错。
    另外一个麻烦的问题是,函数和if都没有限定作用域,它们到底到哪一句结束呢?系统是通过什么来确定作用域的?统统放下不管了,继续下一步。
    接下来讲了函数的申明,很容易理解,倒是2.2.1比较有意思,比较了一下各种语言的数据类型(大概作者也是想通过这种比较来体现Python的过人之处吧),有静态类型语言、动态类型语言、强类型语言、弱类型语言,比较结果是只有

    Python既具有VBScript这样动态类型语言的方便性,又具有Java这样强类型语言的安全性。很不错,知道为什么选它了吧?:)
    文档功能。把注释带入运行时,虽然现在还不清楚这样有什么实质性的好处,不过怎么说都又多了一个选择Python的理由呢。
    import语句:导入一个模块。开始觉得这段程序怎么看都像面向过程的,因为没见到熟悉的类申明在什么地方。但是看到2.4节我开始明白些什么了,Every thing is an object!模块也是,甚至函数也是。那么用传统的方式理解,这个

    模块应该是被当成一个类了吧,当import(或别的什么时候?)生成了一个对象。还有什么别的方法构造一个类吗?不清楚,看看后文再说。
    2.5节,终于讲到作用域的问题了。居然靠缩进的空白来限制作用域,这意味着有相同缩进的语句是属于同一代码块的,相当于用{}括了起来。的确是很有创意的想法,不过我怎么都觉心里不踏实呢?还不太习惯呵呵。后面讲了这样做的

    好处,想想也确实是这样,这样的代码块划分方式强迫你必须进行适当的缩进,那无形中就帮助Coder规范了代码。有什么办法,不这么做你就得不到正确的结果。
    2.6节,关于__name__这个内置属性。当作为一个模块导入的时候它的值是模块所在的文件名,但你运行模块时,它的值就是"__main__",这样创建测试程序就变得比较容易了,道理和java类中的main大致是一样的。

  • 相关阅读:
    OnEraseBkgnd、OnPaint与画面重绘
    .编译ADO类DLL时报错的解决方案
    VC列表框样式
    Codeforces 131D. Subway 寻找环树的最短路径
    Codeforces 103B. Cthulhu 寻找奈亚子
    Codeforces 246D. Colorful Graph
    Codeforces 278C. Learning Languages 图的遍历
    Codeforces 217A. Ice Skating 搜索
    Codeforces 107A. Dorm Water Supply 搜图
    Codeforces 263 D. Cycle in Graph 环
  • 原文地址:https://www.cnblogs.com/yaoxing/p/2179666.html
Copyright © 2011-2022 走看看