python--高级开发01

来源:互联网 发布:log4j2 java web 编辑:程序博客网 时间:2024/06/11 21:31

一,包和模块

1.python程序的结构

python的程序由包(package),模块(module)和函数组成。包是由一系列模块组成的集合。模块是处理某一问题的函数和类的集合.
 
包就是一个完成特定任务的工具箱,python提供了许多有用的工具包,如字符串处理,图形用户接口,web应用,图形图像处理等。这些自带的工具包和模块安装在python的安装目录下的lib子目录中。 
注意: 
包必须至少含有一个__int__.py文件按,该文件的内容可以为空。__int__.py用于标识当前文件夹是一个包。

2.模块

python的程序是由一个个模块组成的。

00001. 模块的创建 
模块把一组组相关的函数或代码组织到一个文件中。*一个文件既是一个模块。模块由代码,函数或类组成。
例如:建立一个项目module 
mypackage下面有两个模块:t1.py, t2.py 
 
其中__init__.py写有:

__all__==["t1","t2"]

 

t1.py写有:

def t1():

    print("t1.....")

 

t2.py写有:

def t2():

    print("t2.....")

 te.py写有:

from mypackageimport *

t1.t1()

t2.t2()

 运行结果是: 



二,等于号(==)和is的区别与联系

· is是比较两个引用是否指向了同一个对象(地址引用比较)。

· ==是比较两个对象是否相等。(比较的数值)

· 小整数常量池

三,对象的拷贝(copy)

引用和copy(),deepcopy()的区别

import copya = [1, 2, 3, 4, ['a', 'b']]  #原始对象b = a  #赋值,传对象的引用c = copy.copy(a)  #对象拷贝,浅拷贝d = copy.deepcopy(a)  #对象拷贝,深拷贝a.append(5)  #修改对象aa[4].append('c')  #修改对象a中的['a', 'b']数组对象print 'a = ', aprint 'b = ', bprint 'c = ', cprint 'd = ', d输出结果:a =  [1, 2, 3, 4, ['a', 'b', 'c'], 5]b =  [1, 2, 3, 4, ['a', 'b', 'c'], 5]c =  [1, 2, 3, 4, ['a', 'b', 'c']]d =  [1, 2, 3, 4, ['a', 'b']]