python类的使用的生物学应用_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学习笔记(七)对象和类
什么是对象 Python中所有的数据都是以对象的形式存在,无论是简单的数字类型还是复杂的代码模块.在Python中,当我们想要创建属于自己的对象或者修改已有对象的行为时,才需要关注对象的内部实现细节. ...
- python模型的属性是什么_python – Django:为什么Django模型字段的类属性?
不,原因与此相同: >>> class Foo(object): ... bar = 'Foo attribute' ... >>> f = Foo() >& ...
- Python编程语言学习:python的列表的特殊应用之一行命令实现if判断中的两类判断
Python编程语言学习:python的列表的特殊应用之一行命令实现if判断中的两类判断 目录 python的列表的特殊应用 一行命令实现if判断中的两类判断 python的列表的特殊应用 一行命令实 ...
- python创建一个类初始化两个变量name、age_Python小白入门:第八讲||类
Python 是一种面向对象的编程语言.在面向对象编程中,你编写表示现实世界中的事务和情景的类,并基于这些类来创建对象. 编写类时,你定义的一大类对象都有的通用行为.基于类创建对象时,每个对象都自动具 ...
- 27、Python 面向对象(创建类、创建实例对象、访问属性、内置类属性、对象销毁、类的继承、方法重写、基础重载方法、运算符重载、类属性与方法、下划线双下划线)
27Python面向对象(Python2) Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. ...
- python库_python使用ctypes库调用DLL动态链接库_python
最近要使用python调用C++编译生成的DLL动态链接库,因此学习了一下ctypes库的基本使用. ctypes是一个用于Python的外部函数库,它提供C兼容的数据类型,并允许在DLL或共享库中调 ...
- Python OOP:面向对象三大特性(封装、继承、多态)、类属性和实例属性、类方法@classmethod、静态方法@staticmethod、函数和类callable、__call__
一.面向对象三大特性 二.多态 定义:多态是⼀种使⽤对象的⽅式,⼦类重写⽗类⽅法,调⽤不同⼦类对象的相同⽗类⽅法,可以产⽣不同的执⾏结果. 一个父类,可以继承给多个子类,每个不同的子类可以创建多个对象 ...
- python︱函数、for、if、_name_、迭代器、防范报错、类定义、装饰器、argparse模块、yield
新手入门python,开始写一些简单函数,慢慢来,加油~ 文章目录 一.函数 +三个内建函数filter,map和reduce + if 1.def/lambda 2.if 如果if + for列表的 ...
- python标准库不需要导入即可使用其中的所有对象和方法_Python程序设计-中国大学mooc-题库零氪...
<Python程序设计基础>课程导学 单元测验 1.下面属于Python应用领域的有? A.数据分析 B.云计算 C.开发操作系统 D.网络安全 E.树莓派 F.数据可视化 2.在Wind ...
- python标准库不需要导入即可使用其中的所有对象和方法_Python编程及应用-中国大学mooc-题库零氪...
<Python程序设计基础>课程导学 单元测验 1.下面属于Python应用领域的有? A.数据分析 B.云计算 C.开发操作系统 D.网络安全 E.树莓派 F.数据可视化 2.在Wind ...
最新文章
- Python脑电数据的Epoching处理
- mysql 日期字符串互转
- linux vim模板,FreeBSD8下的vim配置模板
- python模块导入_Python模块导入详解
- IBM X系列服务器IMM日志采集
- vue中的keep-alive
- websphere不释放游标_不懂别瞎搞!Redis 性能优化的 13 条军规!
- idea pom依赖失败_IDEA中Maven依赖下载失败的完美解决方案
- ES6的新特性(8)——数组的扩展
- C#LeetCode刷题之#599-两个列表的最小索引总和​​​​​​​​​​​​​​(Minimum Index Sum of Two Lists)
- 深入学习js之——原型和原型链
- 将Numpy数组保存为图像
- Oracle数据库基础1-数据类型与约束
- java小项目-房屋出租系统
- 系统自动化制作工资条,很简单,还能发送短信息
- 机器学习(14)——激活函数
- COT为平台各项功能,进行TOKEN化赋能
- 用while循环写四叶玫瑰数(自幂数)
- lio linux工具,LIO介绍
- 比较Cint() , int() , fix() ,round()的区别