Python:包、模块、类、函数的调用
一、关系
- 包一般指文件夹或者安装包(安装包一般也是压缩后的文件夹),里面包含多个.py文件(必须有一个__init__.py文件),一般也含有多个子包(或子文件夹);
- 一般一个.py文件就是一个模块,一个模块可以包含多个类或函数,一般只有一个类或函数
- 一个类里一般包含多个函数
- 一个函数一般包含7~15行代码
- 模块的名字不能与其下的类和函数的名字相同,导入时容易出现位置错误
二、调用
# 一般都是调用其它包中的模块下的类或者函数;
# print(__file__):查看当前模块的绝对路径;
- 导入包下的模块中的类/函数:当前工作目录下;
# 1)路径,工作目录下:ALG/kNN.py
# KNNClassifier是kNN.py文件里的类
from ALG.kNN import KNNClassifier # 2)路径,工作目录下:ALG/train_test_split.py
# train_test_split是train_test_split.py文件中的函数
from ALG.kNN import train_test_split# 导入类后,可直接调用类的方法:类.func()
- 导入其它包下的模块中的类/函数(非当前工作目录下):将模块所在的上级文件夹路径临时加入到系统变量sys.path的列表中;(此处导入的路径为绝对路径)
# E:/pythonwj/ALG/kNN.py
# 导入kNN.py模块
# KNNClassifier是kNN.py内的类 import sys # 将kNN.py模块的上级文件夹路径导入临时系统变量
sys.path.append(r"E:pythonwj")
from ALG import kNN # 实例化kNN.py模块下的KNNClassifier类
my_knn_clf = kNN.KNNClassifier# A/B/C/kNN.py,B文件夹为kNN.py文件的上级文件夹;(之所以导入上一级文件夹路径,可能为了避免后面使用子包外的其它模块;
问题:sys.path.append(r"E:pythonwj"),此为导入绝对路径;如果将代码复制到其它电脑上,将无法使用;
- 导入相对路径:
Python:包、模块、类、函数的调用的更多相关文章
- 自学Python之路-Python基础+模块+面向对象+函数
自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python 1.1 自学Python1.1-简介 1.2 自学Python1.2-环境的 ...
- Python的模块与函数以及与自动化的结合
3 模块与函数 3.1程序结构 python的程序由package,module,function组成,分别是包,模块,函数.模块是函数和类的集合,包,模块,函数之间的关系如下: 3.2模块 pyth ...
- 系统模块 sys 函数的调用
系统模块 sys 运行时系统相关的信息 sys模块的数据 数据 描述 sys.path 模块搜索路径 path[0] 是当前脚本程序的路径名,否则为 '' sys.modules 已加载模块的字典 s ...
- Python标准模块--built-ins函数
1.Python内置函数 2.Python内置函数举例 2.1 数学运算 abs,计算绝对值: >>> abs(-1) 1 >>> abs(3) 3 round,四 ...
- python os模块进程函数
Table of Contents 1. 系统进程 2. 举例 2.1. os.fork 2.2. os.exec 和 os.system 2.3. os.wait 3. 总结 系统进程 今天在看&l ...
- Python基础笔记:函数:调用函数、定义函数、函数的参数、递归函数
一.定义一个求二元一次方程的根的函数 #Sublime Text import math def ee(a,b,c): delta=b*b-4*a*c if delta<0: return 'n ...
- Python OS模块常用函数说明
Python的标准库中的os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Wi ...
- [转] Python包和类的基本用法
http://blog.csdn.net/liukang325/article/details/46724365 建立一个文件夹filePackage 在filePackage 文件夹内创建 __in ...
- python os模块实用函数
os.sep可以取代操作系统特定的路径分隔符.windows下为 “\\” os.name字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'pos ...
- python包/模块路径
当Python执行import语句时,它会在一些路径中搜索Python模块和扩展模块.可以通过sys.path查看这些路径,比如: >>> import sys >>&g ...
随机推荐
- POJ 3253 Fence Repair 贪心+优先队列
题意:农夫要将板割成n块,长度分别为L1,L2,...Ln.每次切断木板的花费为这块板的长度,问最小花费.21 分为 5 8 8三部分. 思路:思考将n部分进行n-1次两两合成最终合成L长度和题目 ...
- java-Object类中的方法
1.Object类中有哪些方法? protected Object clone():创建一个返回此对象的副本 boolean equals(Obejct obj):只是其他对象与此对象是否相等 p ...
- java.net.UnknownHostException异常处理
1.问题描述 最近迁移环境,在Linux系统下部署Java产品的应用,后台报出如下异常,系统报找不到名为“xxx-houtai1”的主机: 1 java.net.UnknownHostExceptio ...
- 【P2564】生日礼物(单调队列)
这个题看上去状态比较多,实际上由于题目的输出需要,又因为是一个线性的结构,所以我们可以有一些操作. 这么想,如果我们有了一个满足条件的区间,此时我们缩减左端点,然后判断此时是否还是满足,满足就继续缩减 ...
- HttpComponents之httpclient
HttpComponents源码目录:http://www.boyunjian.com/javasrc/org.apache.httpcomponents/httpclient/4.3.4/_/ pa ...
- IOS 拨打电话:4006 701 855 苹果中国
IOS 拨打电话:4006 701 855 苹果中国
- 执行安装redis报错undefined reference to `__sync_add_and_fetch_4'
执行make命令时报错: zmalloc.o: In function `zmalloc_used_memory': /var/lib/tcommsvr/redis-2.8.0-rc4/src/z ...
- MySql基础学习-Sql约束
1.主键约束(PRIMARY KEY) 主键 (PRIMARY KEY)是用于约束表中的一行,作为这一行的唯一标识符,在一张表中通过主键就能准确定位到一行,因此主键十分重要.主键不能有重复且不能为空. ...
- Spring Cloud Ribbon实现客户端负载均衡
1.构建microservice-consumer-movie-ribbon项目,在pom.xml中引入ribbon依赖 在引入Eureka依赖的时候,默认里面含有ribbon依赖 2.添加@Load ...
- nginx路由重定向
location / { if ($http_host !~ "m.xxx.cn"){ rewrite ^/web/(.*)/bdu(\d?)\.htm(.*)$ /rewrite ...