python类定义
在我的收藏中有一篇特别详细的类讲解
此处部分内容引自:http://blog.sina.com.cn/s/blog_59b6af690101bfem.html
class myclass:
'this is my first class of python'
# foo是类属性,相当于static foo是静态成员,可以用类名直接访问
foo=100
# myfun 是类方法,必须由类的实例来调用
def myfun (self):
print
myclass.foo
C=myclass()
C.myfun()
类的特殊属性
myclass 是类定义
print myclass.__name__ output:myclass貌似只有类定义有这个属性,类实例没有这个属性
print myclass.__doc__ output:'this
is my first class of python' 类的文档字符串
print myclass.__dict__ output:类的所有属性和方法,只有类定义有,实例这个属性输出空
print myclass.__module__ output:__main__类定义所在的模块
C是类的实例
print C.__doc__ output:'this is my first class of python' 类的文档字符串,实例也有此属性
print C.__dict__ output:{} 实例没有这个属性,输出为空
print C.__module__ output:__main__ 类定义所在的模块
print C.__class__ output: myclass 实例对应的类名,仅实例有此属性
类的构造
class myclass:
'this is my first class of python'
foo=100
def myfun (self):
print "class's func "
def __init__(self,msg='hello'):
self.msglist=msg //实例属性可以动态的添加,此时是在构造时候添加完成
print 'init'
print myclass.foo
C=myclass()
C.myfun()
print C.msglist
注意,python可以灵活的随时为类或是其实例添加类成员,有点变态,而且实例自身添加的成员,与类定义无关:
//添加一个类实例的成员
C.name='genghao'
现在实例C有了数据成员 name
现在加入这两句
print C.__dict__
print myclass.__dict__
可以看到类定义里面并没有添加成员name,说明它仅仅属于类的实例C
类继承:
class subclass(myclass):
member='sdkfjq'
def func(self):
print "sdfa"
多重继承:
class
multiple_inheritance(myclass,subclass,ortherclass):
def funy():
do what you want to do
测试代码:
class ttt:
name= 42
def __init__(self,voice='hello'):
self.voice=voice#new member for class
def member(self):
self.name=63
self.strane='st' #new member for class
def say(self):
print self.voice
t= ttt()
t.say()
print t.name
t.member()
t.fuc='sdfa'#new member for instance of the class ttt
print t.name
print ttt.__name__
print ttt.__dict__
print t.__dict__
print t.fuc
python类定义的更多相关文章
- python类定义与c#的一些区别
c#中可以定义一个空类,但是python中定义空类需要加pass class EmptyClass(object): pass python的lei是多继承 python子类继承了基类,如果子类也 ...
- python类定义的讲解
python是怎么定义类的,看了下面的文章大家就会了,不用多说,开始学习. 一.类定义: 复制代码代码如下: class <类名>: <语句> 类实例化后,可以使用其属性,实际 ...
- Python类定义和类继承详解
类实例化后,可以使用其属性,实际上,创建一个实例之后,可以通过类名访问其属性,如果直接使用类名修改其属性,那么直接影响已经实例化的对象. 类的私有属性: __private_attrs 两个下划线开头 ...
- python 类定义 继承
0 前言 系统:win7 64bit IDE : python(x,y) 2.7.6.1 IDE集成的解释器:Python 2.7.6 (default, Nov 10 2013, 19:24:18) ...
- Python类定义、属性、初始化和析构
类的定义,属性和方法概念 方法中self的作用和意义 初始化( __init__ ) 和 析构方法( __del__ ) 类的定义 class 类名 实例 实例名 = 类名() 一个“实例”的“特征” ...
- Python类的探讨
我们下面的探讨基于Python3,我实际测试使用的是Python3.2,Python3与Python2在类函数的类型上做了改变 1,类定义语法 Python类定义以关键字class开头,一个类定义例 ...
- Python笔记——类定义
Python笔记——类定义 一.类定义: class <类名>: <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属 ...
- python类的定义和使用
python中类的声明使用关键词class,可以提供一个可选的父类或者说基类,如果没有合适的基类,那就用object作为基类. 定义格式: class 类名(object): "类的说明文档 ...
- Python类的定义
Python笔记--类定义 一.类定义: class <类名>: <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属 ...
随机推荐
- plsql和tsql常用函数比较
数学函数 .绝对值 S:) value O:) value from dual .取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001) ...
- __str__与__repr__
在讲解之前,我们先来了解下str和repr的区别:两者都是用来将数字,列表等类型的数据转化为字符串的形式.不同之处在于str更加类似于C语言中使用printf输出的内容,而repr输出的内容会直接将变 ...
- Java不走弯路教程(3.用户验证与文件内容查询)
3.用户验证与文件内容查询 在上一章中,我们完成了对指定文件内容的输出操作. 我们现在有如下格式的文件product.db id,product_name,product_detail 1,noteb ...
- Go 语言 goto 语句
Go 语言的 goto 语句可以无条件地转移到过程中指定的行. goto语句通常与条件语句配合使用.可用来实现条件转移, 构成循环,跳出循环体等功能. 但是,在结构化程序设计中一般不主张使用goto语 ...
- About Windows 10 April 2018 Update
在四月的最后一天,微软终于正式发布了 Windows 10 的又一次重大更新,并命名为 Windows 10 四月更新,轮压哨,我软确实谁也不服:再晚一天,我软改名部门恐怕又要发挥作用了,毕竟我软存在 ...
- iOS开源照片浏览器框架SGPhotoBrowser的设计与实现
简介 近日在制作一个开源加密相册时附带着设计了一个照片浏览器,在进一步优化后发布到了GitHub供大家使用,该框架虽然没有MWPhotoBrowser那么强大,但是使用起来更为方便,操作更符合常规相册 ...
- Mybatis源码分析--关联表查询及延迟加载(一)
Mybatis提供了关联查询映射的功能. 一.一对一关联
- 让你的代码量减少3倍!使用kotlin开发Android(四) kotlin bean背后的秘密
上一篇我们介绍了缩短五倍的java bean,不知道你在看的时候有没有一种疑问捏? 本文同步自博主的私人博客wing的地方酒馆 再来回顾一下,两种代码的对比 public class User { p ...
- [CSDN_Markdown]使用LaTeX基本数学公式
简介 以前我很头疼在博文里写公式,一直期盼CSDN的博文编辑器能支持LaTeX 公式输入,今天终于可以使用这个功能了!此文主要讨论如何在CSDN的Markdown编辑器中写 LaTeX 公式! 使用L ...
- TextView + Spanned实现图文混排以及图片点击交互
最近要实现图文混排的需求,webview过大,所以想到了用SpannableStringBuilder来实现. 不过参考了大量国内文章,大多数是教你如何实现图文混排,并没有提及图片点击交互的.有翻阅了 ...