Python基础之类方法和静态方法】的更多相关文章

小叙一会儿: 通常情况下,在类中定义的所有函数(注意了,这里说的就是所有,跟self啥的没关系,self也只是一个再普通不过 的参数而已)都是对象的绑定方法,对象在调用绑定方法时会自动将自己作为参数传递给方法的第一个参数.除此之外还 有两种常见的方法:静态方法和类方法,二者是为类量身定制的,但是实例非要使用,也不会报错,后续将介绍. 一.类方法: 定义:在类里面把一个方法绑定给类,说白了类方法是给类用的,该方法由装饰器@classmethod所装饰,类.绑定 到类的方法(),会把类本身当做第一个…
所有的练习都是用的python3 ,还没试过python2 ############## 必须要会的7个基本方法 ############## join  split find strip upper / lower replace 其中 join   split    strip   真的是太常用了. #!/usr/bin/env python # coding:utf-8 # 关于方法中的参数,必要参数和可选参数的比喻太生动了. # 几个字符串方法 test = "alexamdexr&qu…
isinstance:判断一个对象是否是某个类的实例 参数一:要判断的对象 参数二:要判断的类型 issubclass:判断一个类是否是另一个类的子类 参数一:是待判断的子类 参数二:待判断的父类 __new__: 主要作用: 1.new方法主要继承一些不可变的class时(int,str,tuple...),提供给你一个自定义这些类的实例化过程的途径 2.new方法用来实现自定义的metaclass new方法被定义为静态类,并且至少需要传递一个参数cls,cls表示需要实例化的类,在创建实例…
''' 1.__slots__是什么:是一个类变量,变量值可以是列表,元祖,或者可迭代对象,也可以是一个字符串(意味着所有实例只有一个数据属性) 2.引子:使用点来访问属性本质就是在访问类或者对象的__dict__属性字典(类的字典是共享的,而每个实例的是独立的) 3.为何使用__slots__:字典会占用大量内存,如果你有一个属性很少的类,但是有很多实例,为了节省内存可以使用__slots__取代实例的__dict__ 当你定义__slots__后,__slots__就会为实例使用一种更加紧凑…
str 补充的方法: capitalize():首字母大写,其余变小写 s = 'liBAI' s1 = s.capitalize() print(s1) # Libai swapcase():大小写翻转 s = 'LiBai' s1 = swapcase() print(s1) # lIbAI title():每个单词首字母大写,其余变小写.以非字母隔开即为每个单词 s = 'libai& dufu@ sushi' s1 = s.title() print(s1) # Libai& Du…
以下方法为高级方法,一般来说没什么卵用 1.静态方法 @staticmethod 相当于把类内的函数从类内独立出来,只是名义上归类管,实际上不可以调用类内的变量和函数 通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法,可以在实例化后直接调用,并且在方法里可以通过self.调用实例变量或类变量,但静态方法是不可以访问实例变量或类变量的,一个不能访问实例变量和类变量的方法,其实相当于跟类本身已经没什么关系了,它与类唯一的关联就是需要通…
python基础--特性(property) 1 什么是特性property property是一种特殊的属性,访问它时会执行一段功能(函数)然后返回值 import math class Circle: #定义一个圆的类 def __init__(self,radius): #圆的半径radiu self.radius=radius @property # are=property(area) def area(self): #计算面积 return math.pi*self.radius**…
[转]Python基础-封装与扩展.静态方法和类方法 一.封装与扩展 封装在于明确区分内外,使得类实现者可以修改封装内的东西而不影响外部调用者的代码:而外部使用者只知道一个接口(函数),只要接口(函数)名.参数不变,使用者的代码永远无需改变.这就提供一个良好的合作基础——或者说,只要接口这个基础约定不变,则代码改变不足为虑. 实例: #类的设计者 class Room: def __init__(self,name,owner,width,length,high): self.name=name…
二十六. Python基础(26)--类的内置特殊属性和方法 ● 知识框架 ● 类的内置方法/魔法方法案例1: 单例设计模式 # 类的魔法方法 # 案例1: 单例设计模式 class Teacher:             #创建一个老师类     __isinstance = None     #创建一个私有静态变量, 准备用来指向一个裸着的对象     def __new__(cls, *args, **kwargs): #创建一个裸着的对象         if not cls.__is…
一.封装与扩展 封装在于明确区分内外,使得类实现者可以修改封装内的东西而不影响外部调用者的代码:而外部使用者只知道一个接口(函数),只要接口(函数)名.参数不变,使用者的代码永远无需改变.这就提供一个良好的合作基础——或者说,只要接口这个基础约定不变,则代码改变不足为虑. 实例: #类的设计者 class Room: def __init__(self,name,owner,width,length,high): self.name=name self.owner=owner self.__wi…