python3 class_python3-对象&类

对象

编程中万物皆对象,一个球、一个文具盒、一个人等等都可以称作为对象。可以理解为对象就是类的一个实例

类=属性+方法

属性是信息、方法是动作

定义类:使用class来定义类

#定义一个class类,可以使用函数指定属性和方法,然后对象实例化,通过对象来调用类中的方法

class Students:

#定义方法

def run(self):

print('I am running')

#定义属性(初始化属性)

def __init__(self,name,age):

self.name = name

self.age = age

stu1 = Students('ghd',30)

#执行动作

stu1.run()

#查看属性

print(stu1.name)

init函数:构造函数,每次实例化对象都会执行init函数,举例说明

classStudents:#定义方法

defrun(self):print('I am running')#定义属性(初始化属性)

def __init__(self,name,age):

self.name=name

self.age=ageprint('我执行了')

stu1= Students('ghd',30)

stu2= Students('gym',30)#执行动作

stu1.run()#查看属性

print(stu1.name)#类可以指定一个大的范围,而对象是将类具体化

###########输出结果#######################

我执行了

我执行了

I am running

ghd

看到俩次“我执行了”,说明在每次生成对象的时候都会执行init函数中的内容

类变量和实例变量

class Students: #创建类

gender = "male" #创建类变量

height = 12

def __init__(self,name,age): #初始化属性

self.name =name

self.age=agedef learn(self): #添加方法

print("好好学习")print(self.name)print(self.gender)defrun(self):print(self.gender,self.height,self.name)

stu1= Students('tom',12) #创建对象

print(stu1.gender) #打印类变量

stu1.gender = "ghd" #修改类变量

print(stu1.gender)#修改对象的值

stu1.name = "cat"

print(stu1.name)

执行结果:

/Users/admin/work/day/base_jobs/bin/python /Users/admin/work/base_jobs/笨办法/练习/类-class.py

male

ghd

cat    #说明对象的name形参的值已修改

类的多态:类不一样,但是方法是一样的

#类的多态#类可以指定一个大的范围,而对象是将类具体化

classComputer:def __init__(self,brand,price,color,size):

self.brand=brand

self.price=price

self.color=color

self.size=sizedefplay(self):print('我可以玩游戏')defjob(self):print('我可以办公')#直接输入对象结果会输出一个内存地址,如果想看到对象中值,就需要使用__str__函数

def __str__(self):return self.brand+str(self.price)+self.color+str(self.size)classPhones:defjob(self):print('苹果手机也可以办公')

c= Computer('thinkpad',6000,'red',16)

c.job()

p=Phones()

p.job()

输出结果:

/Users/admin/work/day/base_jobs/bin/python /Users/admin/work/base_jobs/笨办法/练习/类-class.py

我可以办公

苹果手机也可以办公

进程已结束,退出代码0

类的继承

classCat:def __init__(self,name,enjoy,weight):

self.name=name

self.enjoy=enjoy

self.weight=weightdefrun(self):print('蹦蹦跳跳')defjob(self):print("吃喝睡")class Bosi_cat(Cat): #将Cat作为父类

defsetNewName(self,newname):

self.newname=newnamedefrun(self):print('跑跳')

b= Bosi_cat('cat','鱼',1) #需要指定父类中的参数

b.job() #子类继承父类的所有方法

b.run() #如果子类和父类的方法一致,优先执行子类的方法(子类方法优先级高)

输出结果:

/Users/admin/work/day/base_jobs/bin/python /Users/admin/work/base_jobs/笨办法/练习/类-class.py

吃喝睡

跑跳

进程已结束,退出代码0

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值