栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python学习10 内置属性 对象属性 类属性 私有属性 私有方法 对象方法 类方法 静态方法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python学习10 内置属性 对象属性 类属性 私有属性 私有方法 对象方法 类方法 静态方法

内置属性

创建类时系统自动创建的属性


# 内置属性:dir(对象),列出所有的内置属性
class Person(object):
    '''Person类1'''
    # Person类2
    __slots__ = ('name', 'age')

    def __init__(self, name, age):
        self.name = name
        self.age = age

    def eat(self):
        print("eat!!!")


p = Person('name',17)
print(dir(p))
# 输出
# ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'eat']
print(p.__class__)
#将对象所支持的所有属性和函数列出。
print(p.__dir__)
#显示的是多行注释
print(p.__doc__)
print(Person.__doc__)
#主方法
print(p.__module__)

对象属性

类属性



# 类属性
class Person(object):
    type = 'mm'
    __slots__ = ('name', 'age')

    def __init__(self, name, age):
        self.name = name
        self.age = age

    def eat(self):
        print("eat!!!")

p=Person('name',19)
#通过对象和类名调用类属性
print(p.type)
print(Person.type)
#只能通过类名修改类属性
Person.type='upq'
print(Person.type)
print(p.type)
#输出
# mm
# mm
# upq
# upq
私有属性




# 私有属性
class Teacher():
  def __init__(self):
    self.__name='ert'
    self.__level=99
  #获取老师的等级
  def get_level(self):
    return self.__level
  #获取名字
  def get_in_name(self):
    return self.__name
  def set_in_name(self,name):
      self.__name=name
t=Teacher()
# #获取私有属性1
print("name is",t._Teacher__name)      #输出GG
t._Teacher__name="AA"            #被改变了
print("name is",t._Teacher__name)      #输出AA
#获取私有属性2
t.set_in_name('pppp')
print(t.get_in_name())

#输出
# name is GG
# name is AA
# pppp



私有方法


#function:私有方法
class Person(object):
    def __init__(self):
        self.__p=100
    def __xx(self):
        print(self.__p)
p1=Person()
print(p1._Person__p)
p1._Person__xx()
实例方法


类方法


静态方法



总结:实例方法 & 类方法 & 静态方法

静态方法:当用不到当前类和对象属性时(感觉与当前类没关系一样),可以定义为静态方法(一个定义在类中的普通方法)

# author:dq
# project:PythonProject
# date:2021年10月21日
# function:实例方法 & 类方法 & 静态方法

class Person():
    type = 'type'
    __slots__ = ('name', 'age')

    def __init__(self, name, age):
        self.name = name
        self.age = age
        # 实例方法

    def common(self):
        print('common')
        # 类方法

    @classmethod
    def classmethod(cls):
        cls.type = 'class type'
        print(cls.type)
        print('classmethod')
        # 静态方法

    @staticmethod
    def staticmethod():

        print('static')
p=Person('name',77)
#对象调用
p.common()
p.classmethod()
p.staticmethod()
#类调用
Person.common(p)
Person.classmethod()
Person.staticmethod()



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/341462.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号