zoukankan      html  css  js  c++  java
  • staticmethod非绑定方法

    staticmethod非绑定方法

    定义在类内部,普通方法,谁都不绑定

    对象/类都可以调用,但是不会自动传值

    class Person:
        def __init__(self,name,age):
            self.name=name
            self.age=age
    
        def object_method(self):
            print('我是对象绑定方法,对象来调用我')
    
        @classmethod
        def class_method(cls):
            print('我是类的绑定方法,类来调用我')
    
        #当成一个普通函数,只不过是写在类内部的
        @staticmethod
        def static_method():
            print('我是静态方法,谁都不绑定')
    #静态方法(非绑定方法)
    #类来调用
    Person.static_method()
    #对象来调用
    p=Person('nick',19)
    p.static_method()
    

    静态方法(非绑定方法)的作用

    跟类和对象都没有关系的时候,可以定义成静态方法,一般在类内部使用,类外部也可以使用

    就是一个普通函数,想把它拿到类中管理,就可以定义成静态方法

    class Person:
        def __init__(self,name,age):
            self.id=self.get_uuid()
            self.name=name
            self.age=age
    
        # 当成一个普通函数,只不过是写在类内部的
        @staticmethod
        def static_method():
            print('我是静态方法,谁都不绑定')
        @staticmethod
        def get_uuid():
            import uuid
            return uuid.uuid4()
    
    p=Person('nick',18)
    # print(p.id)
    # print(p.get_uuid())
    # print(Person.get_uuid())
    
  • 相关阅读:
    PHP快速入门
    redis命令_ZREVRANGEBYSCORE
    redis命令_ZRANGE
    redis命令_ZREM
    redis命令_ZINCRBY
    redis命令_ZADD
    redis命令_SETEX
    编译过程的一点心得
    关于c语言中的program_invocation_short_name
    关于toolchain(工具链)的一点知识
  • 原文地址:https://www.cnblogs.com/aden668/p/11430008.html
Copyright © 2011-2022 走看看