python的程序是由模块组成的,一个python文件就是一个模块,而模块一般由代码,函数,或者类组成。创建baiduHq.py模块(文件),在该模块中编写变量,函数,类,来说明在一个模块中,变量的输出,函数的调用,类的调用,见源码:

#baiduHq.py
#coding:utf-8
hello='hello world'
def add(a,b):
return a+b
class index(object):
def __init__(self):
pass
def add(self,a,b):
return a+b
"""if __name__=='__main__':
print (hello)
print (add(2,3))
demo=index()
print (demo.add(3,3))"""

注解:从如上源码以及会截图中可以得到,baiduHp.py模块里定义了hello变量,add()函数与index类,在一个模块中,可以编写N个函数,N个类,这主要看编写的人代码的组织和需要。在一个模块中,怎么来调用函数,类了?

if __name__=='__main__':
print (hello)
print (add(2,3))
demo=index()
print (demo.add(3,3))
注解:看如上的截图,变量hello输出很简单,add()函数因为有参数,调用的时候得加参数,类index需要先实例化,实例化后再调用类中的方法。这里使用到了__name__=='__main__',它是python程序的入口,可以理解为java中的main 模块与模块之间怎么可以调用吗?答案当然是可以的,先有模块baiduHq.py,再定义模块index.py,在index.py模块中调用baiduHq.py模块中的变量,函数,与类,见实现的过程:、
#index.py
import baiduHq
if __name__=='__main__':
print (baiduHq.hello)
print (baiduHq.add(2,3))
demo=baiduHq.index()
print (demo.add(3,3))

注解:如上截图是index.py模块的源码,index.py与baiduHq.py是不同的模块,所以index.py模块调用baiduHq.py模块里的函数等,需要先导入baiduHq
import baiduHq
调用baiduHq.py模块中的变量,函数,类,都需要前带模块名称.变量(baiduHq.hello),模块名称.函数(baiduHq.add()),实例化类也是模块名称.类名称(demo=baiduHq.index())

在如上的代码中知道,index.py模块调用baiduHq.py模块中的函数等,都需要带baiduHq名称才可以,有没有更加简单的方式了?当然有的,可以使用from ...import ...,简单理解就是从...模块来的...,from可以依据英文意思来理解,如需要使用time模块中的sleep,那么就是from time import sleep ,回到案例本身,来优化index.py模块调用baiduHq.py中的函数等

"""import baiduHq
if __name__=='__main__':
print (baiduHq.hello)
print (baiduHq.add(2,3))
demo=baiduHq.index()
print (demo.add(3,3))"""
from baiduHq import hello,add,index if __name__=='__main__':
print (hello)
print (add(2,3))
demo=index()
print (demo.add(3,3))

python程序的模块与包的更多相关文章

  1. 二十五. Python基础(25)--模块和包

    二十五. Python基础(25)--模块和包 ● 知识框架   ● 模块的属性__name__ # my_module.py   def fun1():     print("Hello& ...

  2. python笔记6 模块与包 程序开发规范 包 re sys time os模块

    模块与包 python 模块首引用加载到内存,如果再次引用此模块,直接从内存中读取. python文件分为:执行文件(解释器运行的文件),被引用文件(import) 模块引用一共发生了3件事: 1.他 ...

  3. 【循序渐进学Python】10.模块和包

    1.导入模块 任何Python程序都可以作为模块导入,只要Python解释器能找到我们定义的模块所在位置即可,一般来讲,在一个模块被导入时,Python解释器会按照下面的步骤进行搜索: 在当前所在目录 ...

  4. Python类、模块、包的区别

    类 类的概念在许多语言中出现,很容易理解.它将数据和操作进行封装,以便将来的复用. 模块 模块,在Python可理解为对应于一个文件.在创建了一个脚本文件后,定义了某些函数和变量.你在其他需要这些功能 ...

  5. python之路模块与包

    一.import加载的模块分为四个通用类别:          1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用C编写并链接到 ...

  6. 【Python实战】模块和包导入详解(import)

    1.模块(module) 1.1 模块定义 通常模块为一个.py文件,其他可作为module的文件类型还有".pyo".".pyc".".pyd&qu ...

  7. 23 python初学(模块和包)

    模块(module): 好处: 提高代码可维护性 + 编写代码不必从零开始 模块有三种: python标准库.第三方模块.应用程序自定义模块 另外,使用模块还可以避免函数名和变量名冲突,相同名字的函数 ...

  8. python中的模块和包

    模块 一 什么是模块 模块就是一组功能的集合体,可以通过导入模块来复用模块的功能. 比如我在同一个文件夹定义两个.py文件,分别命名为A.py和B.py,那么可以通过在A文件里通过import B来使 ...

  9. python之路--模块和包

    一 . 模块 ⾸先,我们先看⼀个老⽣常谈的问题. 什么是模块. 模块就是⼀个包含了python定义和声明的⽂件, ⽂件名就是模块的名字加上.py后缀. 换句话说我们⽬前写的所有的py⽂件都可以看成是⼀ ...

随机推荐

  1. Python multiprocessing使用详解

    multiprocessing包是Python中的多进程管理包. 与threading.Thread类似,它可以利用multiprocessing.Process对象来创建一个进程. 该进程可以运行在 ...

  2. Java常用日期处理方法

    import org.apache.commons.lang3.time.FastDateFormat; import org.joda.time.DateTime; import org.apach ...

  3. Linux系统性能测试工具(四)——CPU性能测试工具之super_pi、sysbench

    本文介绍关于Linux系统(适用于centos/ubuntu等)的CPU性能测试工具-sysbench.CPU性能测试工具包括: super_pi: sysbench——不仅可以测试CPU性能,而且可 ...

  4. mktemp - 产生唯一的临时文件名

    总览 (SYNOPSIS) mktemp [-q ] [-u ] template 描述 (DESCRIPTION) mktemp 根据 给定的 文件名模板, 改变 其中的 一部分, 从而 生成 临时 ...

  5. HDU 5988 Coding Contest 最小费用流 cost->double

    Problem Description A coding contest will be held in this university, in a huge playground. The whol ...

  6. 转 git 本地文件添加远程git

    好的博客膜拜一下 https://www.liaoxuefeng.com/wiki/896043488029600/898732864121440 现在的情景是,你已经在本地创建了一个Git仓库后,又 ...

  7. mysql查看内存使用情况

    SELECT table_name '表名称',table_rows '数据量(万)',data_size '磁盘(G)'FROM (SELECT table_name table_name, tru ...

  8. MongoDB之自动启动服务

    安装详细步骤请点我 为了能让NoSQLBooster for MongoDB连接的时候不报错,将mongodb添加到系统服务中. 在C:\Program Files\MongoDB\Server\3. ...

  9. pycharm快捷键的使用、内存管理、变量、数据类型、注释相关笔记

    目录 pycharm快捷键的使用 变量 python内存管理 小整数池 引用计数 垃圾回收机制 循环引用 变量的三种打印形式 数字类型 字符串 注释 pycharm快捷键的使用 ctrl+c复制,默认 ...

  10. 【NOIP2013模拟联考5】军训

    题目 HYSBZ 开学了!今年HYSBZ 有n 个男生来上学,学号为1-n,每个学生都必须参加军训.在这种比较堕落的学校里,每个男生都会有Gi 个女朋友,而且每个人都会有一个欠扁值Hi.学校为了保证军 ...