以python中类方法为例来说说自定义模块导入的三种方法
来源:互联网 发布:中国产业生产率数据库 编辑:程序博客网 时间:2024/05/22 02:18
为方便理解直接给代码:
class Circle1: def __init__(self, radius): self.__radius = radius def setRadius(self,newValue): if newValue >= 0: self.__radius = newValue else: raise ValueError("Value must be positive") def area(self): return 3.14159 * (self.__radius ** 2)class Circle2: def __init__(self, radius): self.__radius = radius def __setRadius(self, newValue): if newValue >= 0: self.__radius = newValue else: raise ValueError("Value must be positive") radius = property(None, __setRadius) @property def area(self): return 3.14159 * (self.__radius ** 2)
显然以上代码实现的功能只是简单的求面积。定义两个类分别为Circle1、Ciecle2,两个类中的定义的函数几乎一致,只是在Circle2中为radius函数设置了属性,使用了proprety函数来实现。廖雪峰网站上有详细的介绍,在这里简单的说两句。proprety方法使我们的读写函数(在本代码中是读函数setRadius)能更容易的调用,修改,接下来会演示给大家看,来具体理解proprety方法的功能。
但是首先我们要把代码文件保存起来,我以class2.py命名(因为之前我练习类方法已经有一个class1)。保存起来后,我们要用文件里的函数必须调用这个文件,相当于一个python库里的模块,只不过是我们自定义的。据我所知很多公司里的工程师或者码农,在离职或者跳槽时都会带走自己的库,这是最珍贵的财富,以后简单调用就好(公司是严禁带出这些所谓的机密文档的)。那怎么才能像调用python库模块一样调用自己的代码呢。
最简单就是把自己的代码放进python库搜索路径中,但不建议,自己的模块最好分开放,以便以后打包和修改。可以执行一下代码来查寻python的搜索路径:
import sys ,pprint pprint.pprint(sys.path)
由于我这是练习的代码文件,所以选择临时加入新的搜索路径:
import sys sys.path.append('./././') #引号中是自己文件的路径
如果是永久性的把自己的文件作为模块来调用,简单配置python的环境变量即可:
sudo vim ~/.profile #修改profile,也可以用gedit编辑器不用vim export PYTHONPATH=$PYTHONPATH:./././ #在profiles文件最后一行加上这句代码
需要注意的是路径中不能用中文名称,另外这个修改只针对当前的用户并且不会立即生效,可以运行以下代码使得立马生效,但下一次在终端打开时依旧会失效,需要重新运行,那怎么使得它长久有效呢:
source /etc/profile #立马生效
sudo vim /etc/bash.bashrc #编辑启动日志 export PYTHONPATH=$PYTHONPATH:./././#在bashrc文件中最后一行写入本代码
我查资料发现还有一个比较简单的方法(强烈推荐),导入模块:
如果是python3的话,寻找文件夹: \Lib\site-packages\
如果是python2的话,寻找文件夹: \Lib\dist-packages\
一般情况下,都是在/usr/bin/lib/下面。在以上文件夹内,新建一个.pth文件:
进入当前目录 touch filename.pth
然后打开文件 sudo gedit filename.pth
在里面写进自己的一个文件路径,这个文件里的所有代码文件都可以作为模块去调用了。
欢迎大家点赞分享,这是我的动力谢谢。
- 以python中类方法为例来说说自定义模块导入的三种方法
- python导入模块的三种方法
- Python导入自定义的三种方法
- 【Python】Python 三种导入模块的方法和区别
- python自定义模块导入方法
- Python 三种导入模块的方法和区别
- Python 三种导入模块的方法和区别
- python:导入模块的三种不同方法,类似于import
- Python 三种导入模块的方法和区别
- Python中包,模块导入的方法
- python最简单直接的自定义模块导入方法
- python最简单直接的自定义模块导入方法
- ubuntu下Python导入自定义模块的方法
- python导入模块的4种方法
- python导入模块的4种方法
- Python导入模块的方法
- python导入模块的方法
- Python模块的导入方法
- 童年回忆
- SpringMVC和struts,当然选前者了,后者恶心了
- dlib 15 dlib自带demo 基于DNN的车辆检测
- 分页
- SAP HANA Express Edition (HXE)-二进制安装使用步骤
- 以python中类方法为例来说说自定义模块导入的三种方法
- 转载了一个调用摄像头拍照的cordova案例
- AngularJs_Service
- 数据预处理(2)—— One-hot coding 独热编码#分别使用 pandans.dummies 和 sklearn.feature_extraction.DictVectorizer 进行处理
- 社群会员必看:你关心的问题,答案都在这里了
- Spring Boot启动流程
- Linux之whereis命令
- Java基础------运算符
- POJ3261:Milk Patterns(后缀数组)