Python学习笔记-17.09.18

来源:互联网 发布:维普数据库 账号 密码 编辑:程序博客网 时间:2024/04/30 19:50

面向对象编程

 多继承
 类中所有的__开头的方法都是内置的方法,来自于继承的父类,不能被外部调用
 定义类的语法
 class类名(父类….)
对象
 创建对象和调用函数一样
方法
 类方法:定义类方法要使用装饰器@classmethod,定义的第一个参数只能是类对象的引用,可以通过类或者实例直接调用

实例方法: 只能通过实例调用,实例方法第一个参数只能实例本身的引用
类方法: 定义类方法要使用装饰器@classmethod,定义的第一个参数只能只能是类对象的引用,可以通过类或者实例直接调用
静态方法: 定义静态方法要使用装饰器@staticmethod,没有默认必须参数,可以通过类或者实例直接调用

class person():    #name ="zhangsan"    #字段,等同于java成员变量    #name = None    #__开头的方法和变量是受保护的,外部不可调用    def __myshow(self):        print("!!")    def __init__(self,name=None):        self.name = name        self.__myshow()    def show(self,s):  #this        print(self.name,s)p = person("ls")p.show("sssss")p.name="zs"print(p.name)

创建实例

class Myclass:    def foo(self):        print(id(self))    @classmethod    def foo2(cls):        print(id(cls))    @staticmethod    def foo3():        print("foo3")a = Myclass()   #创建实例b = Myclass()print(id(a))a.foo()b.foo()print(id(Myclass))Myclass.foo2()a.foo2()

其中foo()是实例方法
foo2()是类方法
foo3()是静态方法

原创粉丝点击