说正事之前,先扯下淡,谈谈人生。
这段时间一直在想,人生意义是什么?感觉有点哲学
从小到大包括自己在内大部分人一直都是学习,为了当然是能过得更好。但努力==有意义?
这里先说一个人,马云。
82年,马云第一次参加高考,首次落榜,数学只得了1分。83年,马云第二次参加高考,再次落榜,数学提高到了19分。这时候马云的父母都劝他死了上大学的心。但84年,马云不顾家人的极力反对第三次参加高考,这次数学考了89分,但总分离本科线还差5分。由于英语专业招生指标未满,部分英语优异者获得升本机会,马云被杭州师范学院破格升入外语本科专业。进入大学后,马云变成了品学兼优的好学生,凭借出色的英语稳坐外语系前五名。
88年,马云毕业之后被分配到杭州。电子工业学院,任英文及国际贸易讲师。之后马云成为杭州市优秀青年教师,发起西湖边上第一个英语角,开始在杭州翻译界有名气。
之后,马云成立海博翻译社,这个翻译社经营说不上多好,也就属于平均水平。95年,马云又成立了互联网商业公司杭州海博电脑服务有限公司,公司三名员工是马云、马云夫人张瑛和何一兵。之后马云主要做黄页,黄页后来也真黄了,没干出什么大名堂。。
再后来,马云开始新一轮创业,开发阿里巴巴网站,并力排众议,坚持做淘宝网。当时大部人并不看好淘宝,毕竟是和eBay抢夺市场。可就是如此,马云开启中国互联网的超级帝国。。。。。。再到现在,阿里巴巴融入生活每一个细节。
说这么多,总结以下,个人认为:
- 努力是有意义的前提,马爸爸如果没有努力高考数学也不会从1分到89分。
- 坚持是建立在能敏锐洞察未来趋势的基础上。马爸爸的成名之作淘宝网,就是敏锐把握住了未来趋势。
- 机遇也是成功的必要条件。如果当时没人给马爸爸的阿里投资,没有赶上中国互联网时代发展的黄金时代,可能阿里也不会成长到现在。
如果你做到了你能做的一切,但还没有成功,也没关系。 其实人生健康开心就好,其他都是浮云!
下面开始说正事。
本节你将学到
- 类的创建
- 实例的创建
- 调用实例的方法
- 修改属性
类的创建
在面向对象编程中,需要编写表示现实世界中的事物和情景的类,这些类具有抽像出的一些通用的行为和属性。
随后,可以基于这些类来创建对象。
创建的对象首先具备类通用的行为和属性,而且可以根据需要个性化自己独有的一些特性。
通常,根据类创建对象被称为实例化。下面先看一个简单的类如何创建。
class Dog():
''' 模拟小狗'''
def __init__(self,name,age):
'''该方法是特殊方法,在创建实例时自动执行'''
self.name = name
self.age = age
def stand(self):
'''模拟小狗站起来'''
print(self.name.title()+"is now standing.")
def bark(self):
'''模拟小狗叫'''
print(self.name.title()+"is barking.")
上面创建了一个简单的类,Dog(),该类具有狗类的一些通用行为如 站起来,狗叫。同时也有一些共同属性如 名字,年龄。
该类虽然简单但是具备了类主要特征:
- 类名:通常大写开头
- init()方法:在通过类创建实例时自动调用
- 其他普通方法:实现类的通用行为
- 各方法中包含参数 self:实参self是一个指向所创建实例本身的引用
实例的创建
根据类创建实例的方法很简单,主要是需要明确所创建实例的特定参数。
# 创建实例
my_dog = Dog('旺财',7)
print("我的狗名字叫:"+my_dog.name)
print("我的狗有几岁:"+str(my_dog.age))
我的狗名字叫:旺财
我的狗有几岁:7
创建实例的过程简单来说就是:
- 调用类名:此处调用类名是Dog,
- 传入必须的实参:传入实参是(‘旺财’,7)
调用实例的方法
通过Dog类创建实例后,可以使用句点来调用Dog类中定义的方法。
my_dog.bark()
my_dog.stand()
旺财is barking.
旺财is now standing.
修改实例的属性
为了说明修改实例属性的方法,我们首先对之前创建的Dog类进行下改造,增加两个方法,一个是输出狗狗的名字,一个是对狗狗的名字进行输出。
class Dog():
''' 模拟小狗'''
def __init__(self,name,age):
'''该方法是特殊方法,在创建实例时自动执行'''
self.name = name
self.age = age
def stand(self):
'''模拟小狗站起来'''
print(self.name.title()+"is now standing.")
def bark(self):
'''模拟小狗叫'''
print(self.name.title()+"is barking.")
def read_name(self):
'''输出狗狗的名字'''
print("狗狗的名字是:"+self.name.title())
def chang_name(self, new_name):
'''改变狗狗的名字'''
self.name = new_name
修改已创建实例属性的方法有2种:
- 直接修改
直接修改就是通过实例直接访问属性的值,并作赋值修改
my_dog2 = Dog('巴巴',18)
my_dog2.read_name()
my_dog2.name = "丽丽"
my_dog2.read_name()
狗狗的名字是:巴巴
狗狗的名字是:丽丽
- 通过方法修改
通过方法修改就是调用,chang_name()方法
my_dog2 = Dog('巴巴',18)
my_dog2.read_name()
my_dog2.chang_name("丽丽")
my_dog2.read_name()
狗狗的名字是:巴巴
狗狗的名字是:丽丽