类Class、实例Instance
上帝
class 类 (人) instance 实例 (你,我,他) 你会有些属性(身高,年龄,体重) 你会有些技能(吃饭,泡妞)
init 方法的主要作用,就是初始化你的属性,这些属性,在上帝初始化你的时候就要赋予给你,比如zhangsan = Person(170,29,50)这时上帝就把你创造出来了,也就是实例化了你,然后,你到底有哪些技能呢,这就看有没有在类里面定义了,如果有定义泡妞的技能,那么你就可以调用泡妞的技能来泡妞,大致就是这样吧,看看下面的例子就更清楚了
class Person(object):
# 这里就是初始化你将要创建的实例的属性
def __init__(self,hight,weight,age):
self.hight = hight
self.weight = weight
self.age = age
# 定义你将要创建的实例所有用的技能
def paoniu(self):
print('你拥有泡妞的技能')
def eat(self):
print('you can eat')
# 开始创建实例
zhangsan=Person(170,50,29)
lisi = Person(175,100,30)
# 你的实例开始使用它的技能
zhangsan.paoniu()
lisi.eat()
数据封装
class Student:
# 初始化 类的属性 在实例化的时候执行
def __init__(self,name,score):
self.name=name
self.score=score
# 给类增加新的方法 get_ 方法可以直接在实例变量上调用
def get_score(self):
if self.score>=90:
return'A'
elif self.score<=60:
return'B'
else:
return'C'
# 实例化具体对象
yy=Student('yy',99)
zz=Student('zz',60)
xx=Student('xx',50)
# 实例调用类的属性和方法
print(yy.name,yy.score,yy.get_score())
print(zz.name,zz.score,zz.get_score())
print(xx.name,xx.score,xx.get_score())
# 对象实例可以增加自己的属性,而不影响类
yy.age=21
print(yy.name,yy.age)
C:\Users\33066\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/33066/Desktop/nine.py
yy 99 A
zz 60 B
xx 50 B
yy 21
Process finished with exit code 0