[python]对self和_init_的理解
2015-07-01 09:17
288 查看
以该例子来记录自己对self和_init_的理解的理解
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
-------------------------------------------------------------------------------
Function:
【整理】Python中:self和init__的含义 + 为何要有self和__init__
http://www.crifan.com/summary_the_meaning_of_self_and___init___in_python_and_why_need_them
Author: Crifan
Verison: 2012-11-27
-------------------------------------------------------------------------------
"""
class Person:
def __init__(self, newPersionName):
self.name = newPersionName;
def sayYourName(self):
print 'My name is %s'%(self.name); #My name is crifan
def initDemo():
persionInstance = Person("crifan");
persionInstance.sayYourName();
if __name__=="__main__":
initDemo();
类,有属性和方法
类的属性,就是变量,在def __init__函数中,给类的属性初始化,即这个类有什么样的属性
类的方法,就是函数,在下面的def sayYourName(self)函数中,定义类的方法,即这个类能做什么
这样,在class Person:
函数段中,类person就具有了属性和方法.
类的实例,就是一个具体的例子,具备类的属性和方法,且把类的属性和方法都实例化
1.将类的属性赋值
2.将类的方法进行具体的调用
self指当前类的实例本身
Python中,函数的第一个参数,名字为self,且是实例对象本身
Python中就规定好了,函数的第一个参数,就必须是实例对象本身,并且建议,约定俗成,把其名字写为self
__init__函数,是给对应的类Class本身,进行初始化的
1.支持带参数的类的初始化
2.实现类本身相关内容的初始化
__init__函数如何工作:
在创建一个新实例 persionInstance = Person("crifan"); 的时候,我们没有专门调用__init__方法,只是在创建一个类的新实例时,把参数包括在圆括号内跟在类名后面,从而传递给__init__方法。这是这种方法的重要之处。
何时去使用 self 和 __init__:
http://woodpecker.org.cn/diveintopython/object_oriented_framework/defining_classes.html#d0e12045
当定义你自已的类方法时,你必须 明确将 self 作为每个方法的第一个参数列出,包括 __init__。当从你的类中调用一个父类的一个方法时,你必须包括 self 参数。但当你从类的外部调用你的类方法时,你不必对 self 参数指定任何值;你完全将其忽略,而 Python 会自动地替你增加实例的引用。
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
-------------------------------------------------------------------------------
Function:
【整理】Python中:self和init__的含义 + 为何要有self和__init__
http://www.crifan.com/summary_the_meaning_of_self_and___init___in_python_and_why_need_them
Author: Crifan
Verison: 2012-11-27
-------------------------------------------------------------------------------
"""
class Person:
def __init__(self, newPersionName):
self.name = newPersionName;
def sayYourName(self):
print 'My name is %s'%(self.name); #My name is crifan
def initDemo():
persionInstance = Person("crifan");
persionInstance.sayYourName();
if __name__=="__main__":
initDemo();
类,有属性和方法
类的属性,就是变量,在def __init__函数中,给类的属性初始化,即这个类有什么样的属性
类的方法,就是函数,在下面的def sayYourName(self)函数中,定义类的方法,即这个类能做什么
这样,在class Person:
函数段中,类person就具有了属性和方法.
类的实例,就是一个具体的例子,具备类的属性和方法,且把类的属性和方法都实例化
1.将类的属性赋值
2.将类的方法进行具体的调用
self指当前类的实例本身
Python中,函数的第一个参数,名字为self,且是实例对象本身
Python中就规定好了,函数的第一个参数,就必须是实例对象本身,并且建议,约定俗成,把其名字写为self
__init__函数,是给对应的类Class本身,进行初始化的
1.支持带参数的类的初始化
2.实现类本身相关内容的初始化
__init__函数如何工作:
在创建一个新实例 persionInstance = Person("crifan"); 的时候,我们没有专门调用__init__方法,只是在创建一个类的新实例时,把参数包括在圆括号内跟在类名后面,从而传递给__init__方法。这是这种方法的重要之处。
何时去使用 self 和 __init__:
http://woodpecker.org.cn/diveintopython/object_oriented_framework/defining_classes.html#d0e12045
当定义你自已的类方法时,你必须 明确将 self 作为每个方法的第一个参数列出,包括 __init__。当从你的类中调用一个父类的一个方法时,你必须包括 self 参数。但当你从类的外部调用你的类方法时,你不必对 self 参数指定任何值;你完全将其忽略,而 Python 会自动地替你增加实例的引用。
相关文章推荐
- python中web框架
- 利用pyexe封装py脚本文件
- python中的Lock
- python处理excel的第三方库
- python 中的pipe
- Python读写csv文件
- 用python读写excel(xlrd、xlwt)
- python 装饰器 四 (带有类参数的装饰器)
- python 装饰器 三 (带有参数的装饰器)
- python 装饰器 二 (装饰带参数的函数)
- python获取一组汉字拼音首字母的方法
- python实现的希尔排序算法实例
- python选择排序算法实例总结
- python保存字符串到文件的方法
- 在Python中marshal对象序列化的相关知识
- Python笔记:urllib2模块
- Python笔记:urllib模块
- python删除N天前文件
- python numpy矩阵和数组的转换
- Think In Python Exercise