Py_ClassAndMod
来源:互联网 发布:大乐透真假揭秘知乎 编辑:程序博客网 时间:2024/06/05 22:30
本篇讲py-Class and Mod
0x1.Class
0x1.1 类内静态(c++)变量:varStrRemoveRepeatL
对所有实例只有一份.
class RandomSequence(object): varStrRemoveRepeatL = [] varStrRemoveRepeatL.append('ahoo') def __init__(self,path): self.author = 'ahoo' self.path = path pass
0x1.2 self.path
对每个实例都是独立的.
0x1.3 引用自己编写的类(copyweb)
1, 首先自己写好一个文件如:read_file_class.py,路径为:/home/wst/mylib/python-lib,内容如下:#!/usr/bin/env pythonimport xlrd#Function:Read records from xls file.#Depending lib:xlrdclass ReadXlsFile(object): def __init__(self,filename): self.filename=filename def fetch_records(self): wb=xlrd.open_workbook(self.filename) sheet=wb.sheets()[0] records=[] for i in range(1,sheet.nrows): records.append(sheet.row_values(i)) return records2, 当你想要引用这个文件的时候,方式如下:import syssys.path.append(r'/home/wst/mylib/python-lib')from read_file_class import ReadXlsFileobj=ReadXlsFile('somefile.xls')records=obj.fetch_records()
0x2. Mod
0x2.1.package
文件夹中存在 __intit__.py文件(即便是空的)那这个文件夹为一个模块.
同一个文件夹中引用其他的py文件.
from FileRead2Write(文件名) import FileRead2Write(类名)
同一个文件夹中引用其他的py文件(做安装包时).
from Obfuscateer(文件夹名).FileRead2Write(文件名) import FileRead2Write(类名)
0x2.2 调用
from Obfuscateer.RandomSequence import RandomSequencerdClass = RandomSequence()rdClass.randSelfTypeStr2ArraryTypeStr(strtemp) --------------------------------from Obfuscateer.ObfuscateEngM import EngClaeng = EngCla(PutPath,OutPath)eng.Eng()
0x3参考
Python自定义Module中init.py文件介绍
__init__文件
Class文档