• python面向对象2


    1.属性方法

      看起来像属性(变量)的一个方法

    class Baby():  #定义一个类

      @property      #装饰器,表示hhh()是一个属性方法,可以被调用

      def hhh(self):  #定义一个方法

        return 999

    bb=Baby()  #实例化

    print(bb.hhh)  #调用属性方法,属性方法可以用装饰器@property标记

    2.类变量

      在类里面定义的变量。

    class Baby():

      country='China'  #类变量,公共的变量,每个实例都可以用的

      def cry(self):

        print('哇哇哇')

    aa=Baby()  #实例化

    print(aa.country)  #实例化后,调用类变量

    ps:类变量可以通过类名.xx来修改,例如:

    Baby.country='Japan'

    3.类方法

    class Baby():

      country='China'  

      def cry(self):

        print('哇哇哇')

      @classmethod   #装饰器

      def xm(cls):   #xm()类方法,cls代表的就是Baby

        print(cls.country)

        print('我是类方法')

    结论:

      1.不实例化就可以直接用类名调用xm方法:

      print(Baby.xm())

      2.实例化之后,在通过实例化之后的对象调用xm方法:

      aa=Baby()  #实例化

      print(aa.xm())

      3.它通过cls实用类变量

      4.它不能调用这个类里面的其他实例方法和实例变量

    4.实例变量(成员变量)

      

    5.实例方法

      和self有关的,必须实例化之后才能调用的方法,所有的方法都需要实例化再调用

    class Baby():

      country='China'  

      def cry(self):  #实例方法

        print(‘哇哇哇’)

    6.静态方法

    @staticmethod   #是静态方法,它和一个没写在类里面的函数一样

    def xh():

      print('这个是静态方法,它和一个没写在类里面的函数一样') #它用不了类变量,类方法,实例变量,实例方法,和普通方法一样

    7.私有(私有方法/私有变量)

      在变量或方法前加两个下划线,比如:__port

      私有变量和私有方法,只能在类里使用,出了类就不能使用

    class My(object):  #定义类
    def __init__(self):
    self.__host = '118.24.3.40' #私有变量
    self.__port = 6379 #私有变量
        self.__password = 'HK139bc&*' #私有变量
            self.r = redis.Redis(host=self.__host,port=self.__port,password=self.__password)
    def get(self,k):
    res = self.r.get(k)
    if res:
    return res.decode()
    return None
    def __close(self): #私有方法
    print('close')
  • 相关阅读:
    Python requests乱码的五种解决办法
    apache安装
    Python 跨文件调用函数 + 在一个文件中执行另一个文件
    配置IIS使用Python
    gradle编译
    字符串UTF8转JIS
    cannot be loaded because running scripts is disabled on this system的对策
    您知道eval中的和括号的含义吗
    Python 学习笔记
    windows装mysql一定要装vs和python吗
  • 原文地址:https://www.cnblogs.com/fancyl/p/9073366.html
Copyright © 2020-2023  润新知