1.使用普通方法进行传参
class Box:
def setDimension(self, width, height, depth):
self.width = width
self.height = height
self.depth = depth
def getVolume(self):
return self.width * self.height * self.depth
b = Box()
b.setDimension(10, 20, 30)
print(b.getVolume()) //6000
2.使用init方法进行传参
class Box:
def __init__(self, width, height, depth):
self.width = width
self.height = height
self.depth = depth
def getVolume(self):
return self.width * self.height * self.depth
b = Box(10, 20, 30)
print(b.getVolume())//6000
3.self方法
self表示 类的实例 ,注意不是类本身
在定义类的方法时,必须要写上,
但是调用的时候,可能 没有。
class Box:
def __init__(self, width):
self.width = width
def getVolume(self):
return self.width * self.height * self.depth
b = Box(10)
print(b) //<__main__.Box object at 0x0000000002756F28>
print(b.width) //10
4.__init__.py 文件
指定默认需要导入的模块
当有import导入的时候,就会自动执行里面的函数
一般在文件目录下创建,然后把所有要导入的都放在这个文件里, 其综文件再导入的时候,
直接把init.py当做一个软件包来调用 。
不用再去管目录 了。
该文件不能被删除,是python 的package标识 。
可以在里面定义 __all__来进行默认导入
logger = logging.getLogger('jobs')
from config import config
from .bean import Bean
from .bean_app import BeanApp
from .sign_jr import SignJR
from .daka_app import DakaApp
from .double_sign import DoubleSign
from .data_station import DataStation
__all__ = ['jobs_all', 'logger']
jobs_mobile = [DakaApp, BeanApp, DataStation]
jobs_web = [Bean, SignJR]
jobs_all = jobs_mobile + jobs_web + [DoubleSign]
在main.py中如果导入可以
from job import jobs_all
参考:https://blog.csdn.net/yucicheung/article/details/79445350
5.form xxx import name
从xxx文件中导入名字为name的类,比如如下
from .bean_app import BeanApp
表示从当前目录 下的 bean_app.py中导入 BeanApp的class
6.super函数
super() 函数是用于调用父类(超类)的一个方法。
参考
class Parent(object):
def __init__(self):
self.parent = 'I\'m the parent.'
print('Parent')
def bar(self, message):
print("%s from Parent" % message)
class Child(Parent):
def __init__(self):
# super(Child,self) 首先找到 Child 的父类(就是类 Parent),然后把类 Child 的对象转换为类 Parent 的对象
super(Child, self).__init__()
print('Child')
def bar(self, message):
super(Child, self).bar(message)
print('Child bar fuction')
print(self.parent)
if __name__ == '__main__':
a = Child()
a.bar('HelloWorld')
结果
D:\Programs\Python\Python37\python.exe E:/me/test/testSupper.py
Parent
Child
HelloWorld from Parent
Child bar fuction
I'm the parent.
还不快抢沙发