51Testing软件测试论坛

标题: phtyon 简单入门(2) [打印本页]

作者: hexiangling    时间: 2015-12-21 17:13
标题: phtyon 简单入门(2)
本帖最后由 hexiangling 于 2016-2-17 11:22 编辑

.10 类和继承


class Base:
    def __init__(self):
        self.data = []
    def add(self, x):
        self.data.append(x)
    def addtwice(self, x):
        self.add(x)
        self.add(x)


# Child extends Base
class Child(Base):
    def plus(self,a,b):
        return a+b


oChild =Child()
oChild.add("str1")
print oChild.data
print oChild.plus(2,3)


--------------------------------------------------------------------------------




2.11 包机制
    每一个.py文件称为一个module,module之间可以互相导入.请参看以下例子:
# a.py
def add_func(a,b):
    return a+b
# b.py
from a import add_func # Also can be : import a


print "Import add_func from module a"
print "Result of 1 plus 2 is: "
print add_func(1,2)    # If using "import a" , then here should be "a.add_func"


    module可以定义在包里面.Python定义包的方式稍微有点古怪,假设我们有一个parent文件夹,该文件夹有一个child子文件夹.child中有一个module a.py . 如何让Python知道这个文件层次结构?很简单,每个目录都放一个名为_init_.py 的文件.该文件内容可以为空.这个层次结构如下所示:
parent
  --__init_.py
  --child
    -- __init_.py
    --a.py

b.py
    那么Python如何找到我们定义的module?在标准包sys中,path属性记录了Python的包路径.你可以将之打印出来:


import sys


print sys.path
    通常我们可以将module的包路径放到环境变量PYTHONPATH中,该环境变量会自动添加到sys.path属性.另一种方便的方法是编程中直接指定我们的module路径到sys.path 中:


import sys
sys.path.append('D:\\download')


from parent.child.a import add_func


print sys.path


print "Import add_func from module a"
print "Result of 1 plus 2 is: "
print add_func(1,2)


--------------------------------------------------------------------------------


总结    你会发现这个教程相当的简单.许多Python特性在代码中以隐含方式提出,这些特性包括ython不需要显式声明数据类型,关键字说明,字符串函数的解释等等.我认为一个熟练的程序员应该对这些概念相当了解,这样在你挤出宝贵的一小时阅读这篇短短的教程之后,你能够通过已有知识的迁移类比尽快熟悉Python,然后尽快能用它开始编程.

    当然,1小时学会Python颇有哗众取宠之嫌.确切的说,编程语言包括语法和标准库.语法相当于武术招式,而标准库应用实践经验则类似于内功,需要长期锻炼.Python学习了Java的长处,提供了大量极方便易用的标准库供程序员"拿来主义".(这也是Python成功的原因),在开篇我们看到了Python如何调用Windows cmd的例子,以后我会尽量写上各标准库的用法和一些应用技巧,让大家真正掌握Python.
作者: shenme2063    时间: 2015-12-22 06:54
不错,这几天正想学习,标记下来看。
作者: shenme2063    时间: 2015-12-22 06:54
不错,留着看下,这几天。
作者: ouyanggengcheng    时间: 2015-12-22 09:41
非常不错,值得一看




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2