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⽂件都可以看成是⼀ ...
随机推荐
- Mysql批量更新的一个坑-&allowMultiQueries=true允许批量更新
前言 实际上,我们经常会遇到这样的需求,那就是利用Mybatis批量更新或者批量插入,但是,实际上即使Mybatis完美支持你的sql,你也得看看你说操作的数据库是否支持,而阿福,最近就 ...
- git init error:Malformed value for push.default: simple
git init error:Malformed value for push.default: simple 1.git config --global push.default matching
- ES调优
ES Connection timed out,调优方向 1. 使用游标滚动查询 scrollId 游标id searchResponse.getScrollId() scroll 设置游标的保留时间 ...
- Zabbix--03 邮件报警、微信报警
目录 一. 邮件报警 1.定义发件人 2.定义收件人 3.优化告警信息 二. 微信报警 1.查看配置文件里的脚本目录路径 2.将weixin.py放在zabbix特定目录 3.配置发信人 4.配置收信 ...
- strptime strftime时间函数总结
time(2) #include <time.h> time_t time(time_t *timep);//获取当前时间距离1970-01-01 00:00:00 经历的秒数 p = ...
- apply_nodes_func
import torch as th import dgl g=dgl.DGLGraph() g.add_nodes(3) g.ndata["x"]=th.ones(3,4) #n ...
- BSOJ5467 [CSPX2017#3]整数 莫比乌斯反演+杜教筛
题意简述 给你两个整数\(n\),\(k\),让你求出这个式子 \[ \sum_{a_1=1}^n \sum_{a_2=a_1}^n \sum_{a_3=a_2}^n \cdots \sum_{a_k ...
- Python---面向对象---案例
a = 5print(5/10)# 地板除(功能类似于数学模块当中floor()向下取整操作)print(5//10)print(a%10)b = 25print(b/10)print(b//10)p ...
- sql优化-派生表与inner-join
首先来说明一下派生表? 外部的表查询的结果集是从子查询中生成的.如下形式: select ... from (select ....) dt 如上形式中括号中的查询的结果作为外面select语句的查询 ...
- php reset()函数 语法
php reset()函数 语法 作用:将内部指针指向数组中的第一个元素,并输出.博智达 语法:reset(array) 参数: 参数 描述 array 必需.规定要使用的数组. 说明:若成功则返回 ...