上一页 1 ··· 4 5 6 7 8 9 10 下一页
摘要: 定义类方法 和属性类似,方法也分实例方法和类方法。 在class中定义的全部是实例方法,实例方法第一个参数 self 是实例本身。 要在class中定义类方法,需要这么写: class Person(object): count = 0 @classmethod def how_many(cls): 阅读全文
posted @ 2020-02-07 23:16 搞点薯条 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 方法也是属性 我们在 class 中定义的实例方法其实也是属性,它实际上是一个函数对象: class Person(object): def __init__(self, name, score): self.name = name self.score = score def get_grade( 阅读全文
posted @ 2020-02-07 23:06 搞点薯条 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 定义实例方法 一个实例的私有属性就是以__开头的属性,无法被外部访问,那这些属性定义有什么用? 虽然私有属性无法从外部访问,但是,从类的内部是可以访问的。除了可以定义实例的属性外,还可以定义实例的方法。 实例的方法就是在类中定义的函数,它的第一个参数永远是 self,指向调用该方法的实例本身,其他参 阅读全文
posted @ 2020-02-07 22:55 搞点薯条 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 类属性和实例属性名字冲突怎么办 修改类属性会导致所有实例访问到的类属性全部都受影响,但是,如果在实例变量上修改类属性会发生什么问题呢? class Person(object): address = 'Earth' def __init__(self, name): self.name = name 阅读全文
posted @ 2020-02-07 22:47 搞点薯条 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 创建类属性 类是模板,而实例则是根据类创建的对象。 绑定在一个实例上的属性不会影响其他实例,但是,类本身也是一个对象,如果在类上绑定一个属性,则所有实例都可以访问类的属性,并且,所有实例访问的类属性都是同一个!也就是说,实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。 定义类属性可以直接在 阅读全文
posted @ 2020-02-07 22:35 搞点薯条 阅读(909) 评论(0) 推荐(0) 编辑
摘要: 访问限制 我们可以给一个实例绑定很多属性,如果有些属性不希望被外部访问到怎么办? Python对属性权限的控制是通过属性名来实现的,如果一个属性由双下划线开头(__),该属性就无法被外部访问。看例子: class Person(object): def __init__(self, name): s 阅读全文
posted @ 2020-02-07 22:21 搞点薯条 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 初始化实例属性 虽然我们可以自由地给一个实例绑定各种属性,但是,现实世界中,一种类型的实例应该拥有相同名字的属性。例如,Person类应该在创建的时候就拥有 name、gender 和 birth 属性,怎么办? 在定义 Person 类时,可以为Person类添加一个特殊的__init__()方法 阅读全文
posted @ 2020-02-07 22:10 搞点薯条 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 面向对象编程 什么是面向对象编程 面向对象是一种编程范式 把程序看做不同对象的相互调用 对现实世界建立对象模型 面向对象编程的基本细想 类和实例 类用于定义抽象类型 实例根据类的定义被创建出来 class person: pass xiaoming = person() xiaojun = pers 阅读全文
posted @ 2020-02-07 22:04 搞点薯条 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 模块和包的概念 在文件系统中,包就是文件夹,模块就是xxx.py,包可以有多级,包和普通目录的区别就是包下面必须有个__init__.py,每一层都必须有 py文件名即模块名,模块的上一级为包,不同模块允许同名变量函数等,不同包允许同名模块 在一个模块引用其他模块: import math prin 阅读全文
posted @ 2020-02-07 20:24 搞点薯条 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 这两个都是可变参数,可以传入任意个数的参数 *args是非关键字参数,用于tuple,**kw是关键字参数,用于dict 同时使用*args和**kwargs时,必须*args参数列要在**kwargs前 代码 def foo(*args, **kw): print ('args = ', args 阅读全文
posted @ 2020-02-07 17:37 搞点薯条 阅读(252) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 下一页