python学习10内置属性对象属性类属性私有属性私有方法对象方法类方法静态方法(代码片段)

DQ_CODING DQ_CODING     2023-01-16     617

关键词:

内置属性

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


# 内置属性: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()



28.python面向对象类:创建类&实例对象,私有属性,类里面的方法,类属性crud,常用内置类属性

目录:每篇前言:Python面向对象(一)1.1面向对象基础1.1.1创建类1.1.2创建实例对象1.1.3私有属性1.1.4类里面的方法1.1.5访问对象的属性1.1.6python内置类属性每篇前言: 查看详情

是否有 Python 方法可以访问类的所有非私有和非内置属性?

】是否有Python方法可以访问类的所有非私有和非内置属性?【英文标题】:IsthereaPythonmethodtoaccessallnon-privateandnon-builtinattributesofaclass?【发布时间】:2013-06-0903:07:50【问题描述】:我想调用一个方法来给我一个包含所有“非私有”... 查看详情

python20181217面向对象的学习总结(代码片段)

...可以通过方法访问print(s1._Student__score)调用方法s2.setName(‘python‘)私有方法:不能通过对象直接访问#s1.__privateFun()s1._Student__privateFun()私有的属性、方法,不会被子类继 查看详情

python中的私有属性和私有方法

Python对于类的成员没有严格的访问控制限制,这与其他面相对对象语言有区别。关于私有属性和私有方法,有如下要点:1、通常我们约定,两个下划线开头的属性是私有的(private)。其他为公共的(public);2、类内部可以访问... 查看详情

10类属性实例(对象)属性,多态

类属性:这个类下的所有对象可以共享这个类属性,相当于java中的静态属性classUser(object):name="ming"#共有类属性__passwrod="123"#私有类属性def__init__(self,gender):self.gender=gender#共有实例属性 类属性可以通过类或对象访问类属性只能... 查看详情

玩转python类的(私有)属性与方法的使用(代码片段)

1.Python中属性:类属性,实例属性,私有属性的使用   在Python中的属性分为:类属性和对象(实例)属性:1.类属性就是属于类所有,可以直接用类名.属性名直接调用,类的属性在内存中只有一份。实例... 查看详情

python3-self语法面向对象内置属性魔法方法(代码片段)

文章目录1.uuid2.使用第三方模块3.包的使用4.self语法的使用5.魔法方法6.运算符相关的魔法方法7.内置属性8.如何把对象当做一个字典使用9.私有属性的使用10.类方法和静态方法11.面向对象练习12.函数练习1.uuid#uuid用来生成一个全局... 查看详情

python获取类属性

参考技术A通常情况下,我们在类对象中定义的属性都会设置访问权限,外部程序无法直接获取,防止恶意的修改,当属性被设置为私有属性后,外部程序该如何访问呢?例:使用普通方法访问私有属性例:使用property方法访问私... 查看详情

python面向对象特性(代码片段)

目录1面向对象之继承1.1继承的概念1.2单继承1.3多继承1.4子类重写父类同名方法和属性1.5子类调用父类的同名方法和属性1.6多层继承1.7super()调用父类方法1.8私有权限1.8.1定义私有属性和方法1.8.2获取和修改私有属性值2面向对象-其... 查看详情

python入门-6面向对象编程:06私有属性和私有方法(实现封装)-@property装饰器-get和set方法-总结(代码片段)

一:私有属性和私有方法(实现封装)  Python对于类的成员没有严格的访问控制限制,这与其他面向对象语言有区别。关于私有属性和私有方法,有如下要点:    1.通常我们约定,两个下划线开头的属性是私有的(private)。... 查看详情

python全栈--9.1--面向对象进阶-super类对象成员--类属性-私有属性查找源码类对象步骤类特殊成员isinstanceissubclass异常处理(代码片段)

...向对象三大特性:封装、继承和多态 本篇将详细介绍Python类的成员 查看详情

javascript学习笔记2_面向对象

1.对象的定义ECMAScript中,对象是一个无序属性集,这里的“属性”可以是基本值、对象或者函数2.数据属性与访问器属性数据属性即有值的属性,可以设置属性只读、不可删除、不可枚举等等访问器属性是用来设置getter和setter的... 查看详情

c++_类和对象(代码片段)

...类和对象类定义类定义对象对象成员的访问类成员的访问属性结构体和类的区别类的基本使用范例c++_类和对象类1.什么是类?类是一种用户定义的引用数据类型,也称类类型。每个类包含数据说明和一组操作数据或传递... 查看详情

python面向对象:面向对象(oop)基本概念类和对象基础语法封装案例私有属性和私有方法(代码片段)

一、面向对象(OOP)基本概念面向对象编程——ObjectOrientedProgramming简写OOP目标了解面向对象基本概念01.面向对象基本概念我们之前学习的编程方式就是面向过程的面相过程和面相对象,是两种不同的编程方式对比面向过程的特... 查看详情

类的私有属性公有属性继承多态(代码片段)

私有属性&&公有属性1#定义一个最简单的类2classperson(object):3hometown="china"#公有属性,所有类的对象共用的。使用对象.公有属性只会修改自己对象的公有属性,类名.公有属性会把所有对象的公有属性进行修改。4#原因是只要... 查看详情

python中的面向对象(高级)之私有方法、多继承、多态

参考技术A特征:私有属性与私有方法不能从外部被调用,也不能被子类继承唯一写法:在属性或方法前面加上__(两个下划线)我们写一个简单的例子,创建一个类,包含私有方法、私有属性、普通方法、普通属性,并生成一个实例私... 查看详情

面向对象总结

...法,但是有重载这一概念,后面会讲到的)  现在我们学习的js是Ecmascript2014(es5)生成对象靠构造函数,但是Ecmascript2015(es6)用class生成类,但是es5是基础;  constructor:构造器  1.浏览器每个类(函数)都有一个prototype的属... 查看详情

python核心编程总结(四面向对象与异常)(代码片段)

✍、脑图时刻四、面向对象与异常✍、脑图时刻1、面向对象1.1、定义类1.1.2、创建对象1.1.3、self1.2、添加和获取对象属性1.2.1、类外面添加对象属性1.2.2、类外面获取对象属性1.2.3、类里面获取对象属性1.3、魔法方法1.3.1、`__ini... 查看详情