python装饰、类(构造,私有化字段,封装方法)
2017-09-15 13:16
786 查看
''' 面向对象编程 类 继承:多继承 类中所有的__开头的方法都是内置的来自于父类 对象 创建对象和调用函数一样 方法 类方法 对象方法 构造方法 静态方法 '''
#装饰 装饰器其实就是一个以函数作为参数并返回一个替换函数的可执行函数。
#这一篇博客对装饰解释的很好,如果不是很明白的话,可以考虑看下 http://python.jobbole.com/85056/ import typesdef shucai(n):print("蔬菜:7")if type(n) == types.FunctionType:return n()+7return n + 7def yangrou(n):print("羊肉:38")if type(n) == types.FunctionType:return n()+38return n+38@shucai #类似注解的感觉@yangroudef mala():print("麻辣:15")return 15print(mala)#-----class python:类继承class per(a,b): 可以多继承,不支持实现,因为没有接口存在,都是类#-----class java:类继承class per extends a{}class per():__name=None#私有化filed字段 (java中叫属性) python中以__修饰即可,java中 private String name
#建构造方法def __init__(self,name):self.__name=name#python 中 java中# def show(self): 可以修改 public void show(this){} 默认this隐藏,不可写#python中的self即java中的thisdef show(self):print("名字为:"+self.__name)p=per("li")p.show()# print(p.__name)执行这行代码会报错,因为私有化字段不可被调用class ps :#python中不可存在多个构造函数def __init__(self,fname,lname):self.__first_name=fnameself.__last_name=lname@property # @property 可以将python定义的函数“当做”属性访问,从而提供更加友好访问方式,但是有时候setter/getter也是需要的
#将zh()方法转为zh属性,不然show方法中print zh()方法def zh(self):return self.__first_name+'*'+self.__last_name@zh.setterdef zh(self,zh):self.__first_name=zh[:zh.index("+")]self.__last_name=zh[zh.index("+")+1:]def show(self,s):print(self.zh,s) #print(propterty(zh),s)#ps.zh="wang+wu"通过@zh.setter调用def zh(self,zh)方法,该方法给self.__first_name,self.__last_name属性赋值#使用show方法 调用 def zh(self)方法,该方法将上述的self.__first_name,self.__last_name以*拼接起来#通过 @property 将zh()方法转为zh属性
ps=ps("zs","ls")ps.show("heh")ps.zh="wang+wu"ps.show("hah")
相关文章推荐
- A.3.2-创建简单的类(人类),包含的概念(字段,构造,封装字段,创建方法,创建对象,赋值,调用方法)
- python魔法方法-构造方法详解
- 面向对象基础续2(static关键字、理解main方法、代码块、构造方法私有化(单例模式)) .
- Visual Studio快速封装字段方法
- 零基础入门学习Python(21):魔法方法(1)构造和析构
- python封装安卓查找元素方法V1.0
- python3 django models保存filefiled字段统一目录、不修改文件名的方法
- Python,构造析构函数,文档字符串方法,类的变量与对象的变量
- 面向对象 封装 构造方法 重载
- python基础(05)——类,对象,私有化封装,继承
- 构造方法封装
- 高效开发Python扩展模块方法:用SWIG封装C/C++代码
- 用ladon框架封装Python为Webservice接口以及调用接口的方法
- 类与对象、引用传递、封装、构造方法、匿名对象笔记
- python构造方法
- python 面向对象类成员(字段 方法 属性)
- 第二十四天 代码块与构造方法私有化
- python通过装饰器检查函数参数数据类型的方法
- python 读取 excel 的方法封装
- python(一):构造方法 /类的初始化