python类的使用的生物学应用_Python 类的使用
类的使用
文档化函数:
在函数的开头写下字符串,它会作为函数的一部分运行存储,这称为文档字符串(常用来描述该函数的信息)。
如下:
def test(x,y):
u"""这是一个Python程序,返回参数x加参数y的值"""
return x+y
def test1():
'this is python program!'
return 1
print test1.__doc__
print help(test)
运行结果:
this is python program!#test1.__doc__的打印结果
Help on function test in module __main__:
test(x, y)
这是一个Python程序,返回参数x加参数y的值
None
[Finished in 0.2s]
类的创建:
# -*-encoding:utf-8 -*-
__metaclass__=type#新式类的创建方式
class person:
'create person class and And related properties and methods'
def setName(self,name):
'Set the name of the person'
self.name=name
def getName(self):
'get the name of the person'
return self.name
def Introduction(self):
print "my name is %s" % self.name
print "hello %s ,how are you?" %self.getName()
if __name__=="__main__":
p=person()
p.setName('joce')
p.Introduction()
lambda 关键字
add=lambda x,y : x+y
print add(1,2)
#等价于
def add_test(x,y):
return x+y
print add_test(10,20)
继承:
class SuperA: #a的父类
def add(self,a,b):
return a+b
def minues(self,x,y):
return x-y
class a(SuperA): #a基础SuperA类
def show(self,a,b):
print a,b
newa=a() #实例化a类
if issubclass(a,SuperA): #检查a是否为SuperA类
result=newa.add(20,30)
print result
运行结果:
50
[Finished in 0.2s]
构造方法:
构造方法是用于主要初始化类的成员属性,构造方法以__init__()方法定义,具体如下实例:
class A:
def __init__(self,a,b):
self.a=a
self.b=b
def show(self):
if self.a>self.b:
print self.a
else:
print self.b
a=60
b=20
test=A(a,b)
test.show()
运行结果:
60
[Finished in 0.3s]
子类可以继承父类的构造方法,并获取到父类的成员属性
__metaclass__=type #新式类定义
class SuperA:
def __init__(self,a,b):
self.a=a
self.b=b
def size(self):
if self.a>self.b:
print self.a
else:
print self.b
class A(SuperA):
def __init__(self):
super(A,self).__init__(a,b) #super只能用于新式类
self.name="python"
def show(self):
print self.name
a=90
b=40
testA=A() #此处类似初始化A类构造方法和父类的构造方法,并将a、b传给父类构造方法
testA.show()
testA.size()
运行结果:
python
90
[Finished in 0.2s]
静态方法:
静态方法的定义没有self参数,且能够被类本身直接调用
__metaclass__=type
class A:
def show():
print u"这是静态方法"
show=staticmethod(show)
def info(self):
print u"普通方法"
#第一种调用方式,通过实例化对象调用
test=A()
test.show()
#第二种调用方式,直接通过类名进行调用(普通方法只能通过类实例化对象进行调用)
A.show()
运行结果:
这是静态方法
这是静态方法
[Finished in 0.2s]
通过装饰器定义静态方法:
__metaclass__=type
class A:
@staticmethod #静态方法装饰器你
def show():
print u"这是静态方法"
def info(self):
print u"普通方法"
#第一种调用方式,通过实例化对象调用
test=A()
test.show()
#第二种调用方式,直接通过类名进行调用(普通方法只能通过类实例化对象进行调用)
A.show()
运行结果:
这是静态方法
这是静态方法
[Finished in 0.1s]
类方法:
类方法在定义时需要名为cls的类似于self的参数,类成员方法可以直接用类的具体对象调用,
但cls参数是自动被绑定到的类。
__metaclass__=type
class A:
@classmethod
def cmethod(cls):
print "this is class method",cls
# cmethod=classmethod(cmethod)
def info(self):
print u"普通方法"
#第一种调用方式,通过实例化对象调用
test=A()
test.cmethod()
#第二种调用方式,直接通过类名进行调用(普通方法只能通过类实例化对象进行调用)
A.cmethod()
运行结果:
this is class method
this is class method
[Finished in 0.2s]
python类的使用的生物学应用_Python 类的使用相关推荐
- python类的使用的生物学应用_python类的使用的生物学应用_Python 类的使用
类的使用 文档化函数: 在函数的开头写下字符串,它会作为函数的一部分运行存储,这称为文档字符串(常用来描述该函数的信息). 如下: def test(x,y): u""" ...
- python中的继承有什么特点_python类的继承是什么?类的继承有什么样的规则?
在这篇文章之中我们来了解一下python类的继承,对于刚刚接触到python这一编程语言的朋友来说,对于python类的继承的了解应该比较少,不过没关系,在接下来的文章之中我们就来了解一下python ...
- python中组合与继承的区别_python类与对象的组合与继承
1.把类的对象实例化放到一个新的类里面叫做类的组合,组合就是指几个横向关系的类放在一起,纵向关系的类放在一起是继承,根据实际应用场景确定.简单的说,组合用于"有一个"的场景中,继承 ...
- python类的属性和对象属性_python 类属性、对象属性-阿里云开发者社区
类的普通属性: dir(Myclass), 返回一个key列表: Myclass.__dir__,返回一个字典: 1.类的数据属性: 2.类的方法: 类的特殊属性: 1.Myclass.__name_ ...
- python中的继承有什么特点_Python类的继承机制是什么
继承是面向对象的三大特征之一,也是实现代码复用的重要手段.继承经常用于创建和现有类功能类似的新类,又或是新类只需要在现有类基础上添加一些成员(属性和方法),但又不想直接将现有类代码复制给新类. Pyt ...
- python类的析构方法是什么_python类的析构方法是什么_python类析构
python __del__ 转自:http://blog.csdn.net/bbdxf/article/details/25774763 最近学习<Python参考手册>学到Class部 ...
- python类的封装是什么意思_python类封装 python中将函数和变量封装成类的好处
Python中的封装有什么作用?发现自己的错误,就是开悟:改正自己的错误,就是成就. 日常生活中可以看到很多的汽车,汽车包括车轮.发动机.车架等零部件.可以在车架上安装车轮,然后安装发动机,最后安装其 ...
- python中类与对象之间的关系_python类与类之间的关系
在面向对象中,类和类之间也可以产生相关的关系 类中的关系: 依赖关系是最轻的,最重的是继承关系,关联关系是比较微妙的 依赖关系 执行某个动作的时候,需要xxx来帮助完成这个操作,此时的关系是最轻的. ...
- python中类与对象之间的关系_python 类与类之间的关系
一.依赖关系(紧密程度最低) (1)简单的定义:就是方法中传递一个对象.此时类与类之间存在依赖关系,此关系比较低. (2)实例植物大战僵尸简易版 题目要求:创建一个植物,创建一个僵尸 1.植物:名字. ...
最新文章
- 一次性讲清 Spring 常用注解 @Bean 、 @Component 、@Autowire、@Resource 的区别, 你知道吗?
- vs社区版到期离线激活_vs2019离线安装包
- 苹果手机透明桌面_打开手机这个设置,桌面变全透明!
- 【Linux】一步一步学Linux——wc命令(52)
- Google Maps JavaScript API V3 根据地址 加载地图
- Spring发展历程总结
- idea java no sdk_java - intelliJ IDEA 13错误:请选择Android SDK
- localstorage存mysql_存储localstorage
- 使用C语言计算utf-8字符串长度 和取子字符串-转
- [javax.validation]验证
- Vim下的插件管理工具pathogen简介
- linux 设置tomcat快捷启动方式
- 超好用的数据迁移工具
- 综合管廊:道路工程综合管廊施工方案(图文)
- 广告联盟,拿什么拯救博客?
- AidLearning上手使用经验谈
- 设置在线html视频几倍数播放,HTML5倍数功能视频播放器(加速2倍,1.5倍播放)...
- Android 修改保持WLAN热点开启的时间与最大连接数
- 【微信小程序学习笔记02理解与初始准备】【实战天气微信小程序】
- 分享一个CCLE细胞系数据(CCLE数据库不能用了吗?)
热门文章
- 利用ffmpeg把一帧原始视频数据转换成jpg格式的图片
- webStrom使用gitee管理代码
- DXC Technology预测2020年五大技术趋势有望改变工作的未来
- 联通下调国际漫游数据流量资费
- window环境下mysql导入sql文件时报错:ERROR: ASCII '\0' appeared in the statement
- python笑傲江湖统计字数_python编程题----字符串的处理(统计)
- 微软浏览器Edge在虚拟机(WIN11)中打开标签栏泛白
- 反激式开关电源仿真 基于Matlab simulin仿真软件设计
- Linux几种检测rootkit隐藏进程的方法
- 美丽中国,我们在行动!