生活不易 我用python我的Python自学之路

【Python笔记】浅析python中的类(第一章)

2017-03-30  本文已影响85人  简书这个地方快倒闭了

浅析python中的类

面向对象最重要的概念就是类(Class)和实例(Instance)
面向对象的设计思想是从自然界中来的,因为在自然界中,(Class)
实例(Instance)的概念是很自然的。Class 是一种抽象概念,比如我
们定义的 Class——Student,是指学生这个概念,而实例(Instance)则
是一个个具体的 Student,比如,Bart Simpson 和 Lisa Simpson 是两个具
体的 Student。


所以,面向对象的设计思想是抽象出 Class,根据 Class 创建 Instance。
面向对象的抽象程度又比函数要高,因为一个 Class 既包含数据,又包
含操作数据的方法。

关于类

类与类的属性

class CocaCola:
formula = ['caffeine','sugar','water','soda']

使用class来定义一个类,formula为一个装载着列表的变量
在类里面赋值的变量就是类的变量,而类的变量又叫类的属性(Class Atrribute)

类的实例化

coke_a = CocaCola()
coke_b = CocaCola()
------------------------
print (CocaCola.formula)
print (coke_a.formula)
print (coke_b.formula)

我们在左边创建一个变量,在右边指定类的名称(类似于赋值),这就叫类的实例化。实例化后的对象称为实例(instance)

类属性的引用

print (CocaCola.formula)
    
print (coke_a.formula)
    
print (coke_b.formula)
------------------------------------
输出结果:
>>> ['caffeine','sugar','water','soda']
>>> ['caffeine','sugar','water','soda']
>>> ['caffeine','sugar','water','soda']
 

实例属性


class CocaCola:
formula = ['caffeine','sugar','water','soda']
coke_a = CocaCola()
coke_a.local_logo = '可口可乐'    #创建新的实例属性
print (coke_a.local_logo)    #打印实例属性引用结果

实例方法


说明

类的实例可以使用方法。方法就是函数,但是我们把这个函数称之为方法(Method),由于方法是供实例使用的。因此,我们还可以称之为实例方法(Instance Method)

class CocaCola:
    formula = ['caffeine','sugar','water','soda']
    def drink(self):
        print('Energy!')
coke = CocaCola()
coke.drink()

关于 self


注意以下代码中原本self的位置变为了test

class CocaCola:
    formula = ['caffeine','sugar','water','soda']
    def drink(test):
        print('Energy!')
coke = CocaCola()
coke.drink()

实例的使用与使用函数相似

coke = CocaCola
coke.drink() == CocaCola.drink(coke)#左右两边的写法完全一致

==按照Python的规矩,我们还是统一使用self==

更多的参数

class CocaCola:
    formula = ['caffeine','sugar','water','soda']
    def drink(self,how_much):
        if  how_much == 'a sip':
              print ('Cool~')
        elif how_much == 'whole bottle'
              print ('Headache!')
coke = CocaCola()
coke.drink('a sip')

魔术方法

python中的一些方法被称之为“魔术方法”,_init_()就是其中之一。

class CocaCola():
    formula = ['caffeine','sugar','water','soda']
    def __init__(self):
        self.local_logo = '可口可乐'
    def drink(self):
        print ('Engergy!')

coke = CocaCola()
print (coke.local_logo)
class CocaCola():
    formula = ['caffeine','sugar','water','soda']
    def __init__(self):
        for element in self.formula:
            print ('Coke has {}!'.format(element))
    def drink(self):
        print ('Engergy!')

coke = CocaCola()
----------------------------------
output:

Coke has caffeine!
Coke has sugar!
Coke has water!
Coke has soda!
上一篇 下一篇

猜你喜欢

热点阅读