Python第6章学习笔记
2017-01-10 14:52
267 查看
self使用
self在定义时需要定义,但是在调用时会自动传入。如上,如果最后一句写成t.prt(t)会报错。只定义了一个参数,却传入两个
self的名字并不是规定死的,但是最好还是按照约定是用self
self只能写在类的方法里,不能在类外部被调用。
self总是指当前所在类的实例,而非调用这个方法的类的实例
这里最后一个self是指omelet的实例,而非fridge的实例。
自定义类
1.创建对象,其实就是去调用这个类的init方法。自定义类可以不用重写init(), 就像a=TestClassA()这样调用。但是如果重写了方法,那么就要按照init方法定义的那样去传参。例如:a=TestClassA(2)
2. 规范的写法还是要重写下,可以在init方法里显示声明一些属性。例如: self.attr1=b
3. 以双下划线开头的都是私有属性,只能在自己类中使用。
字典定义:
还是需要先声明下,然后再访问键和值。
可以直接dicA={‘a’:1,’b’:2},但是不能像下面那么直接定义。
面向对象编程:
1.方法功能尽量简单,多写几个方法,远比写一个业务发杂的方法好。
2.不需要在外部类使用的,或者外部类根本不需要关心的方法,可以定义为私有方法。外部类需要用到的,或者和外部类有交互的定义成公有方法。
3.一个私有方法,可以再设计一个外部接口,在接口里直接调用私有方法。比直接把方法写成公有的,更易扩展。
class Test: def prt(self): print(self) t = Test() t.prt()
self在定义时需要定义,但是在调用时会自动传入。如上,如果最后一句写成t.prt(t)会报错。只定义了一个参数,却传入两个
self的名字并不是规定死的,但是最好还是按照约定是用self
self只能写在类的方法里,不能在类外部被调用。
self总是指当前所在类的实例,而非调用这个方法的类的实例
class Omelet: def get_ingredients2(self,fridge): self.from_fridge=fridge.get_ingredients(self)
这里最后一个self是指omelet的实例,而非fridge的实例。
自定义类
class TestClassA: def __init__(self, b): self.attr1=b return def get_attr(self): self.attr1='a' print(self.attr1) a=TestClassA() #a=TestClassA(2) #a.__init__(2) a.get_attr()
1.创建对象,其实就是去调用这个类的init方法。自定义类可以不用重写init(), 就像a=TestClassA()这样调用。但是如果重写了方法,那么就要按照init方法定义的那样去传参。例如:a=TestClassA(2)
2. 规范的写法还是要重写下,可以在init方法里显示声明一些属性。例如: self.attr1=b
3. 以双下划线开头的都是私有属性,只能在自己类中使用。
字典定义:
还是需要先声明下,然后再访问键和值。
可以直接dicA={‘a’:1,’b’:2},但是不能像下面那么直接定义。
'''this is a wrong example''' d['1']='a' d['2']='b' print(d)
面向对象编程:
1.方法功能尽量简单,多写几个方法,远比写一个业务发杂的方法好。
2.不需要在外部类使用的,或者外部类根本不需要关心的方法,可以定义为私有方法。外部类需要用到的,或者和外部类有交互的定义成公有方法。
3.一个私有方法,可以再设计一个外部接口,在接口里直接调用私有方法。比直接把方法写成公有的,更易扩展。
相关文章推荐
- python学习手册笔记--第5章--数字--第6章--动态类型
- Python基础教程 第6章: 抽象(函数) 学习笔记
- Head First Python (中文)学习笔记-第6章
- Head First Python (中文)学习笔记-第6章
- Python学习笔记(1)
- [原创]Ruby学习笔记(4)-闰年、季节和月份天数的Ruby版和Python版
- Think in java学习笔记-第6章 Inheritance
- if __name__ (python学习笔记一,注意前面是双下划线)
- Boost.Python学习笔记
- python学习笔记,整形,字符串
- python(异常处理机制,学习笔记摘要)
- CCSP-防火墙学习笔记第6章
- 王纯业的Python学习笔记 下载
- Python 学习笔记(1)
- python基础学习笔记分享版(1)
- Python学习笔记1
- python 学习笔记(自家用)
- Python学习笔记
- python学习笔记(二)
- Python 学习笔记 (转载)