Python学习——静态方法、类方法、属性方法

import os
# os.system()
# os.mkdir()

class Dog(object):
    # name = ‘kk‘
    def __init__(self,name):
        self.name = name

#    @staticmethod #静态方法,实际上跟类没什么关系了,并且,这个不会主动传self参数的。
#    @classmethod #类方法,能够调用self参数了,但是不能够调用实例化的变量。
    @property #静态属性,不能传入参数了,只能自己调用类或者实例里面的属性。
    def eat(self):
        print("%s is eating %s" %(self.name,‘dd‘))

    def talk(self):
        print("%s is talking"% self.name)
d = Dog("ChenRonghua")
d.eat

d.talk()
类    变量        类变量        实例变量        私有变量    方法        构造函数        析构函数        私有方法

对象    实例化的一个类后得到一个对象

封装    将某些功能的实现细节隐藏

继承    重复使用代码    单继承(最多)    多继承        2.7中经典类,为深度优先        3.0以后的新式类是广度优先

多态    一个接口,多种实现

静态方法    只是名义上归于类来管理,但是实际上在静态方法里面没有办法访问类或者实例里面的任何属性

类方法    只能访问类变量,不能访问实例变量

属性方法    把一个方法变成静态属性。可以通过  方法名.setter 和 方法名.deleter 的方法进行改动和删除。

原文地址:https://www.cnblogs.com/Ian-learning/p/8453083.html

时间: 2024-10-10 02:03:15

Python学习——静态方法、类方法、属性方法的相关文章

python静态方法类方法属性方法

Python的静态方法和类成员方法都可以被类或实例访问,两者概念不容易理清,但还是有区别的: 1)静态方法无需传入self参数,类成员方法需传入代表本类的cls参数: 2)从第1条,静态方法是无法访问实例变量的,而类成员方法也同样无法访问实例变量,但可以访问类变量: 3)静态方法有点像函数工具库的作用,而类成员方法则更接近类似Java面向对象概念中的静态方法. 静态方法 @staticmethod    def staticmd():        print '静态方法 @classmetho

类的各种自带方法,静态方法,属性方法,类方法等

#coding=utf-8 class Dog(object): ''' 类的描述 ''' def __init__(self,name): self.name = name self.__food = None @staticmethod #实际上跟类没什么关系,单纯的函数,但是必须通过类名来调用 def eat(food): print ('%s is eating %s'%('xiaohuang',food)) @classmethod #类方法,只能访问类变量,不能访问实例变量 def

Python学习之__slots__属性

在廖老师的网站上学习的__slots__属性 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/5/14 17:16 # @Author : Aries # @Site : # @File : 使用_slots_.py # @Software: PyCharm from types import MethodType # # class Student(object): # pass # s=Student() # s.na

day7 静太方法 类方法 属性方法 反射 导常

类方法 1 '''是类对象所拥有的方法,需要用修饰器@classmethod来标识其为类方法,对于类方法 2 ,第一个参数必须是类对象,一般以cls作为第一个参数(当然可以用其他名称的变量作为其第一个参数, 3 但是大部分人都习惯以'cls'作为第一个参数的名字,就最好用'cls'了),能够通过实例对象和类对象去访问.''' 4 5 lass People(object): 6 country = 'china' 7 8 #类方法,用classmethod来进行修饰 9 @classmethod

静态方法@staticmethod 属性方法@property

多态 接口重用, 一种接口,多种实现 静态方法@staticmethod 只是名义上归类管理, 实际上在静态方法里访问不了类或实例中的任何属性类方法@classmethod 只能访问类变量,不能访问实例变量 属性方法@property 把一个方法变成一个静态属性给参数赋值要重新定义一个同名函数,并且前面加@属性名.setter import os# os.system()# os.mkdir() class Dog(object): def __init__(self,name): self.n

python学习之路--属性

本篇文章主要是分享pyton里面的属性的设置和获取使用:Property属性的内置函数: 1.__getattr__(self, name)  -定义当用户试图获取一个不存在的属性时的行为2.__getattribute__(self, name) -定义当该类的属性被访问时的行为3.__setattr__(self, name, value) -定义当一个属性被设置时的行为4.__delattr__(self, name) -定义当一个属性被删除时的行为 一个对象的属性在对象里面其实是由一个字

Python学习笔记之魔法方法

魔法方法(特殊方法):名称以双下划线和双下划线结尾的方法. 这些方法会在特殊情况下被Python直接调用,几乎没有直接调用的必要. __init__():构造函数 __del__():析构函数 在其他语言中对象可能被要求属于某一个类,或被要求实现接口,但在Python中只是简单的要求它遵守几个给定的规则. 如一个序列类,为了实现规则,则需要实现以下魔法方法: __len__(self):返回集合中所含项目的数量 __getitem__(self,key):返回与所给键对应的值 __setitem

Python学习(类属性与实例属性)

编程语言都围绕着实例(对象),函数关系,及作用域展开(对象的生命周期) Python的import sys或者其它类似于c语言编译时的链接过程,不在同一个文件中的函数关系,我们怎样才能利用到它 Python的类跟c++的类基本是同一个东西,Python没有protected的权限,只有private和public,感觉友好很多 实例属性与c++的普通成员相同,类属性则类似于静态成员(static变量),初始化一次,通过类名访问和修改,所有的实例维护类的同一份的static成员变量 __init_

python学习笔记(二)-字符串方法

python的字符串内建函数: #====================常用方法=============================name = 'besttest' new_name = name.strip() #默认是去掉两边的空格和换行符 new_name= name.lstrip() #默认是去掉左边的空格和换行符 new_name= name.rstrip()#默认是去掉右边边的空格和换行符 new_name = name.count('t')#查找某个字符串在字符串里面出现