美文网首页
2018-08-22 Package, module, f

2018-08-22 Package, module, f

作者: 初见_0308 | 来源:发表于2018-08-28 23:54 被阅读0次

    好的代码:高性能、封装性(可复用)、抽象、直白、美

    python项目的组织结构:

    包 ——  模块  ——  类(函数、变量)

    关于导入包/模块 (导入文件只会被执行一次) 

    1,包和模块是不会被重复导入的

    2,避免循环导入  (直接循环和间接循环) (嵌套引用有可能会导致间接循环)

    3,可以嵌套引用/导入

    4,导入别的模块或包时,等于执行此模块和包,或导致最终输出结果会增加变化(入口文件概念)

    (1)包(文件夹)

    一个普通的文件夹中必须有__init__.py (两个下划线) 这样命名的文件,python才会认为它是一个包  如下     __init__.py  它本身也是一个模块,可以为空,而它的模块名不是python2.__init__.py ,而是包名本身 python2

    __init__.py   模块中的函数等程序自动运行,不需要手动执行(就像原程序初始化内容)

    1、包里面类容的输出规定 如: 在__init__.py 模块中定义

             __all__ = [     ]         

          当引用这个包时,输出的时此列表里面有的内容

    2、批量引用 : 在__init__.py 模块中引用别的包的内容 

                              则在此包中其余模块引用这些内容时,无需再引用,直接可使用定义(注意使用输出时的命名空间

    (2)模块

    模块之间的引用   1、函数   import  module_name  (先定义,后使用)(只能引用模块,不能引用其中变量/方法)

    (引用时命名空间需要写全)

    在ppy4中定义a=3,在ppy5调用 如下

    若ppy4与ppy5 不在同一个包(文件夹)里面,相应的名字加上包名即可(命名空间),如下(可以使用别名简化)

    2、from    module  import     a/def  (变量/函数) (可以引用具体的变量或函数)

    (函数导入只需要函数名; 

    引用时不需要全称命名空间)

    也可以引用模块

    python代码编译中随便换行会导致代码发生错误;此时就需要  \   或者  (  )   来换行  如下

    3.dir()函数:

    python内建的函数,用来列出模块中的函数、类和变量

    如果给dir()函数提供一个模块名称,它返回该模块中的名称列表,如果不提供,则返回当前模块的名称列表

    (3)函数

    函数是一个容器,除了语言已有的函数,也可以应 def 自定义

    函数是一块可重用的程序语句块,这块语句有个名字,然后可以在需要的时候使用

    这个名字反复运行这个语句块。函数有可能需要输入,有可能会返回输出。

    我们之前已经多次使用过了python中内建的函数,如:print、input

    1、4种基本类型

    1.无参数 无返回值

    def  abc():

    print(“hello world”)

    2.有参数  无返回值

    def  sum(x ,y):

    s = x + y

    print(s)

    3.无参数  有返回值

    def  abc():

    s = 34 + 12

    return s

    aa  =  abc()

    print( aa )

    4. 有参数  有返回值

    def sum( x ,y )

    s = x + y

    return s

    2、局部变量,全局变量

    局部变量:在函数内定义的变量,只在当前函数有效,即使在函数外有同名的变量,他们也没有关系,

    如果在函数内使用全局变量,并给它重新赋值,则需要global语句来实现

    return语句:

    用来从一个函数返回,即跳出函数,也可以使用return从函数返回一个值,并且这个值可以赋给其他变量。

    默认值   

    相关文章

      网友评论

          本文标题:2018-08-22 Package, module, f

          本文链接:https://www.haomeiwen.com/subject/mqfuiftx.html