Day 7 & Day 8
面向对象: 找名词or面向过程:动词
宏观面向对象,然后任然要面向过程
对象:把数据和相关方法放到一起,组成对象
类
类和对象的关系:类是模具,对象是饼干
创建类时首字母大写,多单词采用驼峰原则(GradStudent)
>>> class Student:
... def __init__(self, name, score):
... self.name = name
... self.score = score
... def get_score(self):
... print("{0}'s score is {1}".format(self.name, self.score))
...
>>> n = Student("Gloria", 100)
>>> n.get_score()
Gloria's score is 100
# n2.get_score() == Student.get_score(n2)
>>> n2 = Student("Yuan", 99)
>>> n2.age = 23
>>>> n2.get_score()
Yuan's score is 99
>>> print(n2.__dict__)
{
'name': 'Yuan', 'score': 99, 'age': 23}
>>> print(dir(Student)) # 获得对象的所有属性、方法
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'get_score']
>>>
>>