Pyhton面向对象编程,修饰等

大纲:
类:
继承:多继承
类中所有的__开头的方法都是内置的来自于父类
对象:
创建对象和调用函数一样
方法:
类方法
对象方法
构造方法
静态方法
装饰:
@property 负责把一个方法变成属性调用的
静态方法(staticmethod)
类方法(classmethod)
实例方法(instance method)

函数和方法的区别在与方法是在类里定义 函数不必代码在方法中定义,
可以在代码的任何地方调用,方法只能在类中调用.
函数:独立定义,独立调用
方法:依赖定义,依赖调用
变量作用域:
L (Local) 局部作用域
E (Enclosing) 闭包函数外的函数中
G (Global) 全局作用域
B (Built-in) 内建作用域
什么情况下产生新的作用域
def
class

g = 1  #全局的
def fun():
    g = 2 #局部的
    return g

print fun()
# 结果为2
print g
# 结果为1

类和对象:
类的创建:

class person:   #类 
   def a():    # 方法 

类的调用:

class person : #创建一个类
    def a(self,name):  #创建一个方法 ,self代表的是类的实例如java中的this,然后放一个名字为name的参数。
     print(name) #输出name
c = person()   #调用类c是对象
c.a("456")     #找到a方法给name赋值123
person().a("123")  #也可以使用这个类()直接点a方法。

类的构造方法:
类的构造方法都是def init():

class person:    #创建一个类
    def __init__(self, first_name, last_name):  #创建一个构造方法
         print(first_name,last_name)
person("123","456")

装饰:
一个简单的使用装饰的代码
一个火锅店,首先调用底料,然后其他的顺序随便。


import types   #导types包


def jingpinfeiniu(n): #创建函数
    print("金品肥牛:¥38")
    if type(n) == types.FunctionType:
        return n() + 38
    return n + 38


def shucai(n):
    print("什么蔬菜双拼:$7")
    if type(n) == types.FunctionType:
        return n() + 7
    return n + 7


@shucai     #给底料装饰 
@jingpinfeiniu  #给底料装饰   
def mala():
    print("麻辣锅底:$12")
    return 12


# shcai(jingpinfeiniu(mala))

# qian=shucai(jingpinfeiniu(mala())) 给底料装饰代码的执行是这样的。 

print("共消费:" + str(mala))

对象返回金钱然后作为上一个的属性。
函数作为参数:回调

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值