python 类

本文深入探讨Python中类与对象的概念,包括self参数的作用、实例化过程、方法调用规则及继承特性。通过具体示例解析,帮助读者理解类的初始化、属性与方法的使用,以及子类如何继承和重写父类的特性。

class 定义
每种方法function第一个参数都是self,之后的参数才是真正的输入参数!!
self之后所有定义的方法都可以使用,引用规则还是要加self.xxx
一定别忘class中每个函数都要有self参数!!!!

注意:在init定义的时候才会有self(不论是变量还是函数)
其他def中引用就用self.

class box:
	def __init__(self, name, age):
		self.name = name
		self.age = age
box1 = box("joe", 18)
box2 = box("tes", 14)

self 是一个形式参数,就是实例化的那个变量 box1/box2,就是类的实例。函数的第一个参数,就必须是实例对象本身,并且建议,约定俗成,把其名字写为self。去掉self后,那种写法所使用到的变量,实际上不是你所希望的,不是真正的实例中的变量和函数
但是如果是class中的方法在进行调用self变量时就要用self.var

class Foo:

  def __init__(self, name, age):
    self.name = name
    self.age = age
  
  def detail(self):
    print(self.name)
    print(self.age)
  
obj1 = Foo('chengd', 18)
obj1.detail()  # Python默认会将obj1传给self参数,即:obj1.detail(obj1),所以,此时方法内部的 self = obj1,即:self.name 是 chengd ;self.age 是 18

注意看,__init__中的参数(self, xx, xx…)就是class进行实例化中的传入参数!
类在实例化后必然执行__init__中的内容
子类可以继承父类特性,并且可以予以重写,

class 动物:

    def 吃(self):
        # do something

    def 喝(self):
        # do something

    def 拉(self):
        # do something

    def 撒(self):
        # do something

# 在类后面括号中写入另外一个类名,表示当前类继承另外一个类
# 子类继承父类的所有方法

class 猫(动物):

    def 喵喵叫(self):
        print '喵喵叫'

可见基本子类形式就是class 子类 (父类):
想class Net (nn.Module):
def init(self):
super(Net, self).init()

Python的类可以继承多个类,Python的类如果继承了多个类,那么其寻找方法的方式有两种,分别是:深度优先和广度优先
深度优先就是沿着一条线往上走,走到最头上
广度优先就是一层一层找,每层找完
在这里插入图片描述
经典类:
class function:
新式类:
class function(object):
查找过程中,一旦找到,则寻找过程立即中断,便不会再继续找了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值