美文网首页
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