python程序的模块与包
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程序的模块与包的更多相关文章
- 二十五. Python基础(25)--模块和包
二十五. Python基础(25)--模块和包 ● 知识框架 ● 模块的属性__name__ # my_module.py def fun1(): print("Hello& ...
- python笔记6 模块与包 程序开发规范 包 re sys time os模块
模块与包 python 模块首引用加载到内存,如果再次引用此模块,直接从内存中读取. python文件分为:执行文件(解释器运行的文件),被引用文件(import) 模块引用一共发生了3件事: 1.他 ...
- 【循序渐进学Python】10.模块和包
1.导入模块 任何Python程序都可以作为模块导入,只要Python解释器能找到我们定义的模块所在位置即可,一般来讲,在一个模块被导入时,Python解释器会按照下面的步骤进行搜索: 在当前所在目录 ...
- Python类、模块、包的区别
类 类的概念在许多语言中出现,很容易理解.它将数据和操作进行封装,以便将来的复用. 模块 模块,在Python可理解为对应于一个文件.在创建了一个脚本文件后,定义了某些函数和变量.你在其他需要这些功能 ...
- python之路模块与包
一.import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用C编写并链接到 ...
- 【Python实战】模块和包导入详解(import)
1.模块(module) 1.1 模块定义 通常模块为一个.py文件,其他可作为module的文件类型还有".pyo".".pyc".".pyd&qu ...
- 23 python初学(模块和包)
模块(module): 好处: 提高代码可维护性 + 编写代码不必从零开始 模块有三种: python标准库.第三方模块.应用程序自定义模块 另外,使用模块还可以避免函数名和变量名冲突,相同名字的函数 ...
- python中的模块和包
模块 一 什么是模块 模块就是一组功能的集合体,可以通过导入模块来复用模块的功能. 比如我在同一个文件夹定义两个.py文件,分别命名为A.py和B.py,那么可以通过在A文件里通过import B来使 ...
- python之路--模块和包
一 . 模块 ⾸先,我们先看⼀个老⽣常谈的问题. 什么是模块. 模块就是⼀个包含了python定义和声明的⽂件, ⽂件名就是模块的名字加上.py后缀. 换句话说我们⽬前写的所有的py⽂件都可以看成是⼀ ...
随机推荐
- 关于MKNetworking自己维护
关于MKNetworking自己维护 个人比较偏向MKNetworking, 因为在小项目里这个网络请求框架可以说是很轻量级.但是里边有一部分功能缺失或者是功能富余, 以及需要优化的地方. 所以决 ...
- 企业网站的SSL签证生产测试以及https配置方法
这一次要做企业网站怎么获得安全的数字证书,没有数字证书的话,在浏览器访问网站的时候会跳出不安全界面,而且钓鱼网站也会让用户进去个假网站,一般企业可以去阿里云去买数字证书,买好之后浏览器便会加载这个数字 ...
- 001-supervisor
supervisor 使用教程(转) 原文地址:https://word.gw1770df.cc/2016-08-04/linux/supervisor-%E4%BD%BF%E7%94%A8%E6%9 ...
- Revolver Maps-3D地球仪网站定制
这是个网站统计的小插件,大家可以看到那些国家,哪些城市对本网站进行了访问,很直观的一种表现方式. 这个小插件不需要你写任何代码,只需要去它官方网站定制你自己需要的代码.它的地址是:http://www ...
- windows 10 x64系统 jdk1.7、jdk1.8 切换(jdk为exe安装版本)
电脑先安装的1.7,后来安装1.8,改JAVA_HOME为1.8后cmd->java.javac.java -version可用1.8 后想改为1.7,更改环境变量(步骤1)后cmd->j ...
- favicon.ico是什么?
一.什么是favicon? 所谓favicon,便是其可以让浏览器的收藏夹中除显示相应的标题外,还以图标的方式区别不同的网站.favicon 中文名称:网页图标 英文名称:favorites ico ...
- 阿里云视频云正式支持AV1编码格式 为视频编码服务降本提效
今天我们要说的 AV1 可不是我们平时说的 .AVI 文件格式,它是由AOM(Alliance for Open Media,开放媒体联盟)制定的一个开源.免版权费的视频编码格式,可以解决H.265昂 ...
- UTC和GMT
UTC GMT UTC = Coordinated Universal Time. 中文名称为协调世界时. GMT = Greenwich Mean Time. 中文名称为格林尼治(平)时 UTC = ...
- 面向对象this关键字和概述和应用
面向对象this关键字和概述和应用 package thisdemo; /** * 面向对象this关键字和概述和应用 * */ //定义老师类 class Teacher { private Str ...
- BZOJ 4923: [Lydsy1706月赛]K小值查询 Splay + 思维
Description 维护一个长度为n的正整数序列a_1,a_2,...,a_n,支持以下两种操作: 1 k,将序列a从小到大排序,输出a_k的值. 2 k,将所有严格大于k的数a_i减去k. In ...