zoukankan      html  css  js  c++  java
  • 类方法@classmethod、属性方法@property、静态方法 @staticmethod

    class Baby():
    # def __init__(self,name):#构造函数不是必须得
    # print('self的内存地址',id(self))
    # self.name=name
    # #self代表的就是实例化之后的对象
    # self.money=5000
    # self.sex='女'
    country='China'#类变量,公共的变量,每个实例都可以用

    def my(self):
    self.name='nhy'
    def cry(self):#实例方法
    print('哇哇哇哇')
    @property#看起来像属性的一个方法(没有入参可以用,结果就是返回值)
        def h(self):
    return 198

    @classmethod#(不想实例化的时候,就可以用类方法)1、不用实例化就可以直接调用。2、它可以通过cls使用类变量3、它不能调用这个类里面的其他实例方法和实例变量
       def xm(cls):#cls代表的就是baby这个类
    print(cls.country)
    print('我是类方法')
    # print(cls.name)
    # cls.cry()
    @staticmethod#
    就是一个普通的函数,只不过写在类里面而已,它用不了类变量,类方法,实例变量,实例方法
        def xh():
    print('静态方法,它和一个没写在类里面的函数一样')
    Baby.xh()

    Baby.xm()
    x=Baby()
    x.xm()
    # Baby.country='USA'#类变量可以直接用过类名,XXX来进行修改的
    # dcg=Baby()
    # print(dcg.country)
    # dcg.country='Japan'
    # yjt=Baby()
    # print(yjt.country)

    # b=Baby()
    # print(b.h)
    # zll=Baby()
    # zll.my()
    # print(zll.name)
    # ka=Baby('可爱')
    # print('可爱的内存地址',id(ka))
    # print(ka.money)
    # print(ka.sex)
    # ka.car='bmw x3'
    # print(ka.car)
    # xb=Baby('小白')
    # print(id(xb))
  • 相关阅读:
    C#字符串常见处理
    应用各种领域逻辑模式组织业务逻辑层
    谈谈C#的异常处理机制
    android适配器Adapter
    Struts+Tomcat搭建
    Android特性与系统架构
    常用控件应用之文本框(TextView)特效
    Activity中与ListActivity中使用listview区别
    Android四大基本组件介绍与生命周期
    ftp原理
  • 原文地址:https://www.cnblogs.com/irisx/p/9063410.html
Copyright © 2011-2022 走看看