量化金融基础篇 [ python 类定义与import操作 ]

class Animal(object):
  def __init__(self,name,age):
    self.name = name
    self.age  = age
  
  def sit(self):
    print(self.name + 'set')

  def roll_over(self):
    print(self.name + 'roll over')

如上例所示,__init__函数方法跟C++的new()一样,是用于初始化class的,其中self跟C++的this指针有些类似,用于指定自己所具有的class内部变量。__init__函数中的self参数是必须写的,并且要放在所有参数的前面。

#dog类继承自animal类
class Dog(Animal):
  def __init__(self,name,age):
    super(Dog,self).__init__(name,age)#用于初始化父类数据
    self.name = name
    self.age  = age
  #重写方法
  def sit(self):
    print(self.name + 'is wang wang')

相对C++来讲方法的重写直接简单粗暴的写相同名字即可重写。


python导入模块或者类使用import语句。相当于C++的include.

比如一个文件名叫做 code.py,里面有各种各样的类:class1 class2等

#从code.py文件导入class1
from code import class1
#从code.py文件导入class2
from code import class2
#或者
from code import class1,class2
#导入整个模块
import car
#导入模块中的每个类
from car import *

python的类也支持操作符重载

class template(object):
  def __init__(self,a,b):
    self.a = a
    self.b = b
  #操作符重载
  def __add__(self,other):
    return template(self.a+other.a,self.b+other.b)

python类私有化变量需要在变量前面加两个下划线,比如__private_value

protect变量只加一个下划线_protect_value

__functionname__两个下划线+函数名+两个下划线是系统自定义的函数,如:

__init__,  __del__(相当于C++的析构函数) , __cmp__(self,x) 比较对象。


python内置类属性,这些是python声明类中系统为类自动添加的一些属性变量,他们是public的可以直接访问。

__dict__ : 类的属性

__doc__ : 类 的文档字符串

__name__ : 类名

__module__ : 类定义所在的模块

__bases__ : 类的所有父类构成元素



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值