python面向对象

  1. 方法:
普通方法:由对象条用;至少一个self参数;执行普通方法是,自动将条用该方法的对象赋值给self;
类方法:由类调用;至少一个cls参数;执行类方法时,自动将调用该方法的类赋值给cls;
静态方法:由类调用;无默认参数;
静态方法是类中的函数,不需要实例。静态方法主要是用来存放逻辑性代码,主要是一些逻辑属于类,但是和类本省没有交互,即在静态方法中,不会涉及到类中的方法和属性的操作。可以理解为将静态方法存在此类的名称空间中。

class Foo:
 
    def __init__(self, name):
        self.name = name
 
    def ord_func(self):
        """ 定义普通方法,至少有一个self参数 """
        # print self.name
        print('普通方法')
 
    @classmethod
    def class_func(cls):
        """ 定义类方法,至少有一个cls参数 """
        print('类方法')
 
    @staticmethod
    def static_func():
        """ 定义静态方法 ,无默认参数"""
        print('静态方法')
# 调用普通方法
f = Foo()
f.ord_func()
# 调用类方法
Foo.class_func()
# 调用静态方法
Foo.static_func()

变量:

a、全局变量:在模块内、在所有函数外面、在class外面,这就是全局变量。

b、局部变量:在函数内、在class的方法内(未加self修饰的),这就是局部变量

c、 静态变量:在class内的,但不在class的方法内的,这就是静态变量

d、 实例变量:在class的方法内的,用self修饰的变量,这就是实例变量

quanjubianliang = "HelloWorld"  #全局变量

class Person(object):
    TAG = "Person"  #类变量,静态变量

    def __init__(self,name):# 局部变量
        self.personName = name  #personName是实例变量

    def printName(self):
        group ="BeiJing_"  #group是局部变量
        print(group +self.personName)     # 调用实例变量

if __name__ == '__main__':
    p = Person("hanxiaogang")
    p.printName()

3.属性

class Foo:
    # 定义属性
    @property
    def prop(self):
        print("shuxing")
        pass
# ############### 调用 ###############
foo_obj = Foo()

foo_obj.prop   #调用属性

公有成员,在任何地方都能访问
私有成员,只有在类的内部才能方法
私有成员和公有成员的定义不同:私有成员命名时,前两个字符是下划线。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值