类的使用

文档化函数:

在函数的开头写下字符串,它会作为函数的一部分运行存储,这称为文档字符串(常用来描述该函数的信息)。

如下:

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 类的使用相关推荐

  1. python中简述对象和类的关系_Python学习笔记(七)对象和类

    什么是对象 Python中所有的数据都是以对象的形式存在,无论是简单的数字类型还是复杂的代码模块.在Python中,当我们想要创建属于自己的对象或者修改已有对象的行为时,才需要关注对象的内部实现细节. ...

  2. python模型的属性是什么_python – Django:为什么Django模型字段的类属性?

    不,原因与此相同: >>> class Foo(object): ... bar = 'Foo attribute' ... >>> f = Foo() >& ...

  3. Python编程语言学习:python的列表的特殊应用之一行命令实现if判断中的两类判断

    Python编程语言学习:python的列表的特殊应用之一行命令实现if判断中的两类判断 目录 python的列表的特殊应用 一行命令实现if判断中的两类判断 python的列表的特殊应用 一行命令实 ...

  4. python创建一个类初始化两个变量name、age_Python小白入门:第八讲||类

    Python 是一种面向对象的编程语言.在面向对象编程中,你编写表示现实世界中的事务和情景的类,并基于这些类来创建对象. 编写类时,你定义的一大类对象都有的通用行为.基于类创建对象时,每个对象都自动具 ...

  5. 27、Python 面向对象(创建类、创建实例对象、访问属性、内置类属性、对象销毁、类的继承、方法重写、基础重载方法、运算符重载、类属性与方法、下划线双下划线)

    27Python面向对象(Python2) Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的.本章节我们将详细介绍Python的面向对象编程. ...

  6. python库_python使用ctypes库调用DLL动态链接库_python

    最近要使用python调用C++编译生成的DLL动态链接库,因此学习了一下ctypes库的基本使用. ctypes是一个用于Python的外部函数库,它提供C兼容的数据类型,并允许在DLL或共享库中调 ...

  7. Python OOP:面向对象三大特性(封装、继承、多态)、类属性和实例属性、类方法@classmethod、静态方法@staticmethod、函数和类callable、__call__

    一.面向对象三大特性 二.多态 定义:多态是⼀种使⽤对象的⽅式,⼦类重写⽗类⽅法,调⽤不同⼦类对象的相同⽗类⽅法,可以产⽣不同的执⾏结果. 一个父类,可以继承给多个子类,每个不同的子类可以创建多个对象 ...

  8. python︱函数、for、if、_name_、迭代器、防范报错、类定义、装饰器、argparse模块、yield

    新手入门python,开始写一些简单函数,慢慢来,加油~ 文章目录 一.函数 +三个内建函数filter,map和reduce + if 1.def/lambda 2.if 如果if + for列表的 ...

  9. python标准库不需要导入即可使用其中的所有对象和方法_Python程序设计-中国大学mooc-题库零氪...

    <Python程序设计基础>课程导学 单元测验 1.下面属于Python应用领域的有? A.数据分析 B.云计算 C.开发操作系统 D.网络安全 E.树莓派 F.数据可视化 2.在Wind ...

  10. python标准库不需要导入即可使用其中的所有对象和方法_Python编程及应用-中国大学mooc-题库零氪...

    <Python程序设计基础>课程导学 单元测验 1.下面属于Python应用领域的有? A.数据分析 B.云计算 C.开发操作系统 D.网络安全 E.树莓派 F.数据可视化 2.在Wind ...

最新文章

  1. Python脑电数据的Epoching处理
  2. mysql 日期字符串互转
  3. linux vim模板,FreeBSD8下的vim配置模板
  4. python模块导入_Python模块导入详解
  5. IBM X系列服务器IMM日志采集
  6. vue中的keep-alive
  7. websphere不释放游标_不懂别瞎搞!Redis 性能优化的 13 条军规!
  8. idea pom依赖失败_IDEA中Maven依赖下载失败的完美解决方案
  9. ES6的新特性(8)——数组的扩展
  10. C#LeetCode刷题之#599-两个列表的最小索引总和​​​​​​​​​​​​​​(Minimum Index Sum of Two Lists)
  11. 深入学习js之——原型和原型链
  12. 将Numpy数组保存为图像
  13. Oracle数据库基础1-数据类型与约束
  14. java小项目-房屋出租系统
  15. 系统自动化制作工资条,很简单,还能发送短信息
  16. 机器学习(14)——激活函数
  17. COT为平台各项功能,进行TOKEN化赋能
  18. 用while循环写四叶玫瑰数(自幂数)
  19. lio linux工具,LIO介绍
  20. 比较Cint() , int() , fix() ,round()的区别

热门文章

  1. PMC新近推出的 DIGI-G4 400G OTN处理器荣获光波通信创新大奖
  2. Airtest 在设备安装app
  3. 怎样营造更好的职场氛围?
  4. 借生态力量,openGauss突破性能瓶颈
  5. 【天华学术】文艺美学论文:《哈姆雷特》悲剧蕴含的审美价值(节选)
  6. 即将到来的风暴 ― SDN/NFV探讨
  7. vim 操作Esc+:wq无效怎么办?
  8. 全程干货,用 python 下载某站全部【免抠图片】,图片背景透明,格式PNG
  9. 在 KubeSphere 上部署 Apache Pulsar
  10. ERDAS IMAGINE 2015 AOI文件转为矢量文件SHP