Python第五天-----类

一、定义类
1、定义类

class 类名:
属性
方法

class Person:
	name='张三'
	age=18
	def eat(self):
		print('吃饭')
#创建对象
zs=Person()
zs.eat()	#吃饭
#__init__()
#初始化方法,创建新对象后会自动调用,完成一些初始化的操作,构造函数
class People:
    def __init__(self,name,sex,age):
        '''
        实例属性声明
        '''
        self.name=name
        self.sex=sex
        self.age=age
        print('-----init-----函数的执行')
    def eat(self):
        print('%s吃饭'%self.name)
    def printInfo(self):
        print(self.name,self.sex,self.age)
    def __str__(self):
        return '%s吃饭'%self.name
xm=People('小明','男',18)
print(xm)	#若没有__str__方法,结果:<__main__.People object at 0x00000280114EFCC0>
			#若有,结果:小明吃饭

2、下划线函数,内部函数

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

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

__repr__ : 打印,转换

__setitem__ : 按照索引赋值

__getitem__: 按照索引获取值

__len__: 获得长度

__cmp__: 比较运算

__call__: 函数调用

__add__: 加运算

__sub__: 减运算

__mul__: 乘运算

__div__: 除运算

__mod__: 求余运算

__pow__: 乘方

二、方法和函数

#1、私有成员
	#在成员前面加__(两个)。访问私有成员:对象._类名__属性
#2、保护成员
	#在成员前加一个_
class Root:
    __total=0
    def __init__(self,v):
        self.__value=v
        Root.__total+=1
    def show(self): #普通实例方法
        print('self.__value:',self.__value)
        print('Root.__total:', Root.__total)
    @classmethod    #修饰器,声明类方法
    def classShowTotal(cls):    #类方法
        print(cls.__total)
    @staticmethod   #修饰器,声明静态方法
    def staticShowTotal():  #静态方法
        print(Root.__total)
    def __get(self):
        return self.__value

1、方法和函数的区别:
  方法一般指和特定实例绑定的函数,通过对象调用方法,对象本身被作为第一个参数隐式传递过去,普通函数不具备。

2、方法的区别:
  实例方法:由对象调用,第一个参数是self
  类方法:第一个参数为cls,通过类或它的实例来调用方法。
  静态方法:由类调用不需要额外的参数,需要在类成员函数前面加上@staticmethod标记符

3、特殊方法:
  构造函数__init__()
  析构函数__del__(),用来释放对象占用的资源,自动调用,若用户未编写则提供一个默认的析构函数进行清除工作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值