Python从入门到上瘾14——Python类的创建和使用

说正事之前,先扯下淡,谈谈人生。
这段时间一直在想,人生意义是什么?感觉有点哲学
从小到大包括自己在内大部分人一直都是学习,为了当然是能过得更好。但努力==有意义?

这里先说一个人,马云。

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()
狗狗的名字是:巴巴
狗狗的名字是:丽丽
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值