码迷,mamicode.com
首页 > 编程语言 > 详细

Python基础语法难点突破!

时间:2020-10-14 20:34:53      阅读:28      评论:0      收藏:0      [点我收藏+]

标签:object   @class   代码   alt   场景   img   bsp   png   形式   

1. 面向对象类的基本使用

知识点:

  • 属性:类属性、实例对象属性

  • 方法:实例方法、类方法、静态方法

  • 类可以调用哪些内容:类属性、类方法、静态方法

代码示例:

class A(object):
    # 类属性
    class_a = 20

    def __init__(self):
        # 实例对象属性
        self.a = 10

    # 实例方法
    def a_print(self):
        print("a_print")

    # 类方法
    @classmethod
    def class_print(cls):
        print(‘class_print‘)

    # 静态方法
    @staticmethod
    def static_print():
        print("static_print")


# 类调用类属性,不能调用实例对象属性
print(A.class_a)
# 使用实例化对象调用实例对象属性
print(A().a)

# 使用类调用类方法
A.class_print()
# 使用类调用静态方法
A.static_print()
# 调用实例方法的两种方式
A.a_print(A())
A().a_print()

  

2. 面向对象类的调用和属性

知识点:

  • 在一个类中想要调用另一个类的方法和属性的方法:继承、属性赋值的形式

代码示例:

class A(object):
    class_a = 20

    def __init__(self):
        self.a = 10

    def a_print(self):
        print("a_print")

    @classmethod
    def class_print(cls):
        print(‘class_print‘)

    @staticmethod
    def static_print():
        print("static_print")


# 继承
class B(A):
    def b_print(self):
        print("b_print")


B().b_print()
B().a_print()


# 属性赋值的形式
class C(object):
    obj_a = A()

    def c_print(self):
        print(‘c_print‘)


# 调用A中的方法
C.obj_a.a_print()

  

3. 面向对象super和@property的使用

知识点:

  • super作用:super() 函数是用于调用父类(超类)的一个方法。

  • super使用场景:重写父类方法,在父类方法的基础上,新增一些业务逻辑

  • 使用@property装饰器可以直接通过方法名来访问方法,不需要再在后面使用"()"

代码示例:

class A(object):

    def a_print(self):
        print("a_print")


class B(A):
    def a_print(self):
        # 调用父类方法
        super().a_print()
        print("add_data")

    @property
    def data(self):
        print("data")


B().a_print()
# 直接以调用属性的形式调用方法
B().data

  技术图片

 

Python基础语法难点突破!

标签:object   @class   代码   alt   场景   img   bsp   png   形式   

原文地址:https://www.cnblogs.com/last2233/p/13814406.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!