python类定义1

类定义:

类定义,像函数定义一样,在执行时才会起作用。

class :

类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性。如果直接使用类名修改其属性,那么将直接影响到已经实例化的对象

类的私有属性:

  __private_attrs  两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs

类的方法

  在类内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数

私有的类方法

  __private_method 两个下划线开头,声明该方法为私有方法,不能在类地外部调用。在类的内部调用slef.__private_methods

类的专有方法:

__init__  构造函数,在生成对象时调用

__del__   析构函数,释放对象时使用

__repr__ 打印,转换

__setitem__按照索引赋值

__getitem__按照索引获取值

__len__获得长度

__cmp__比较运算

__call__函数调用

__add__加运算

__sub__减运算

__mul__乘运算

__div__除运算

__mod__求余运算

__pow__称方

代码如下:

#类定义  

    class people:  

        #定义基本属性  

        name = ''  

        age = 0  

        #定义私有属性,私有属性在类外部无法直接进行访问  

        __weight = 0  

        #定义构造方法  

        def __init__(self,n,a,w):  

            self.name = n  

            self.age = a  

            self.__weight = w  

        def speak(self):  

            print("%s is speaking: I am %d years old" %(self.name,self.age))  

      

    p = people('tom',10,30)  

    p.speak()

类对象

类对象提供两种操作,属性引用和实例化。 属性引用使用标准句法:obj.name. 有效的属性名是类对象创建时类的名称空间内的所有名字。

二、继承类定义:

1.单继承

复制代码代码如下:

class (父类名)

  

复制代码代码如下:

class childbook(book)

    age = 10

复制代码代码如下:

#单继承示例  

    class student(people):  

        grade = ''  

        def __init__(self,n,a,w,g):  

            #调用父类的构函  

            people.__init__(self,n,a,w)  

            self.grade = g  

        #覆写父类的方法  

        def speak(self):  

            print("%s is speaking: I am %d years old,and I am in grade %d"%(self.name,self.age,self.grade))       

    s = student('ken',20,60,3)  

    s.speak()

鱼类,代码

import random as r

class fish:

def __init__(self): #定义鱼类的属性

self.x=r.randint(0,10)

self.y=r.randint(0,10)

def move(self):

self.x-=1

print('我的位置是', self.x,self.y)

class goldfish(fish):

pass #直接继承父类属性

class carpfish(fish):

pass

class sanwonfish(fish):

pass

class shark(fish):

def __init__(self): #定义子类的属性

fish.__init__(self) #调用父类属性

self.hungry=True

def eat(self):

if self.hungry:

print('天天有的吃')

self.hungry=False

else:

print('太饱了,吃不下了')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值