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. 微信授权获取code/openid

    微信网页授权 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域名的说明 1.在微信公众号请求用户网页授权之前,开发者需要 ...

  2. 10年前文章_解决parted 编译出错问题

    找到 include/site/i386-linux 文件,修改定义ac_cv_sizeof_off_t 的长度,从原来的4改为8 ac_cv_sizeof_off_t=8 删除 build_dir/ ...

  3. systemd 相关及服务启动失败原因

    1 查看启用的units systemctl list-unit-files | grep enabled 2 查看指定服务的日志 按服务单元过滤 journalctl -u j   查看j.serv ...

  4. vue2.0 之 过渡动画transtion

    过渡的类名: 在进入/离开的过渡中,会有 6 个 class 切换 (v 是前缀,name = v) v-enter:定义进入过渡的开始状态.在元素被插入时生效,在下一个帧移除. v-enter-ac ...

  5. JVM 常量池、运行时常量池、字符串常量池

    常量池: 即class文件常量池,是class文件的一部分,用于保存编译时确定的数据. 保存的内容如下图: D:\java\test\out\production\test>javap -ver ...

  6. 【Linux】CentOS6安装jdk1.8

    1.查看官网下载地址 接受协议后,点击下载链接 查看发出的请求,获得下载地址 其中后面的AuthParam参数为本次下载的即时参数,每次都不一样 2.下载安装包 下载完后改个名 wget https: ...

  7. java -jar 和 java -cp 区别

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/12022527.html Project Directory SRC MainTest.java pac ...

  8. 【leetcode】Champagne Tower

    题目如下: 解题思路:本题如果用递归来做,思路会非常清晰.每个杯子得到的总的香槟的数量,减去自身杯子容量后,多余的部分均分成两部分,下层的两个杯子各得一半,但是这种解法在输入香槟较大的情况下会导致超时 ...

  9. handy源码阅读(六):tcp类

    首先是tcpconn和tcpserver类: struct TcpConn : public std::enable_shared_from_this<TcpConn>, private ...

  10. Java的基本使用

    1.如何运行一个Java源码 打开文本编辑器,输入以下代码: public class Hello { public static void main(String[] args) { System. ...