class

概念

class:在python中,类的概念可以看作是某种类型合的描述,如人类可以被看作一个类,然后人类这个类可以定义出每个具体的人——你我他等作为对象,类还拥有属性和功能。属性既类本身的一些特性,如人类有名字、身高和体重等属性,而具体值则会根据每个人的不同而不同;功能则是类所能实现在行为,如人类拥有吃饭、走路和睡觉等功能。具体的开式如下:

# 例:类的概念

Class human():

Name = ‘name’

#

成员变量

Def say():#成员函数

Print

saysomething #成员变量赋初始值

Somebody =

human() #类实例化,定义一个人类对象某人

Somebody.name = ‘person

a’ #实例的属性

Somebody.say(‘hello’) #实例的方法

Python中定义和使用类的形式为:class

类名[(父类名)]:[成员函数及成员变量],类名为这个类的名称,而父类名为可选,但定义父类名后,子类则拥有父类的相应属性和方法。在用类定义成对象时,会先调用__init__构造函数,以初始化对象的各属性,类的各属性(成员变量)均可以在构造函数中定义,定义时只要加上对象指针就好了。而在对象销毁时,则会调用__del__析构函数,定义类的成员函数时,必须默认一个变量(类似于C++中的this指针)代表类定义的对象本身,这个变量的名称可自行定义,下面例子将使用self变量表示类对象变量。

# 例:类定义及使用

class CAnimal:

name = 'unname' #类属性

def

__init__(self,voice='hello'): # 重载构造函数

#__init__是双划线,可不定义,如果定义,必须记得显示调用宾类行为,须包括self参数。女果从类

#的外部调用类方法时,可以不对self参数指定值。绑定or 非绑定?

#一个类只有一个init方法,如果子类拥有init方法,则会覆盖父类的init方法

#应总在init中给一个实例的所有数据属性赋一个初始值,这会减少捕捉未初始化属性浪费的时间

self.voice =

voice #数据属性,实例属性

def

__del__(self): # 重载析构函数

pass # 空操作

def

Say(self):

print self.voice

t =

CAnimal() # 定义动物对象t

t.Say() # t说话

>>

hello # 输出

dog =

CAnimal('wow') # 定义动物对象dog

dog.Say() # dog说话

>>

wow # 输出,注意参数传递的顺序

Python编程中类可以承继父类属性,形式为class

类名(父类),子类可以继承父类的所有方法和属性,也可以重载父类的成员函数及属性,须注意的是子类成员函数若重载父类(即名字相同),则会使用子类成员函数。

class

CDog(CAnimal): # 继承类CAnimal

def

SetVoice(self,voice,test=‘test’): # 子类增加函数SetVoice

self.test = test

def

say(self): # 子类重载函数say

print 'Running'

bobo = CDog()

bobo.SetVoice('My Name is

BoBo!') # 设置child.data为hello

bobo.Say()

>> My Name is

BoBo!

>> running

测试init参数写法

def

__init__(self):

self.x = 4

self.y = 6

t=MyClass()

t.x=4

t.y=6

class MyClass():

def

__init__(self,x,y):

self.x = 4

self.y = 6

t=MyClass()

t.x

TypeError: __init__() takes exactly 3 arguments (1

given)

class MyClass():

def

__init__(self,x=1,y=2):

self.x = 4

self.y = 6

t=MyClass()

t.x=4

t.y=6

下划线的用法

以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import

*”而导入;以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如

__init__()代表类的构造函数。

python中summary_python summary 1: class相关推荐

  1. python中summary_Python summary_pb2.Summary方法代码示例

    本文整理汇总了Python中tensorflow.core.framework.summary_pb2.Summary方法的典型用法代码示例.如果您正苦于以下问题:Python summary_pb2 ...

  2. python中summary_python summary_study.py

    #!/usr/bin/env python #-*- coding:utf-8 -*- import os,sys,time,shutil,re from _ast import Num from d ...

  3. python中fit什么意思_使用Logit()和fit()在python中进行逻辑回归

    我尝试使用以下代码在python中执行logistic回归-from patsy import dmatrices import numpy as np import pandas as pd imp ...

  4. python 中 feedparser的简单用法

    最近在机器学习实战中用到feedparser ,然后简单总结了一下: feedparser是python中最常用的RSS程序库,使用它我们可轻松地实现从任何 RSS 或 Atom 订阅源得到标题.链接 ...

  5. 如何在Python中建立和训练K最近邻和K-Means集群ML模型

    One of machine learning's most popular applications is in solving classification problems. 机器学习最流行的应 ...

  6. 循环 直到 python_如果您在Python中存在慢循环,则可以对其进行修复……直到无法解决为止...

    循环 直到 python by Maxim Mamaev 马克西姆·马马耶夫(Maxim Mamaev) Let's take a computational problem as an exampl ...

  7. python如何查看有什么模块_在python中如何查看模块功能

    在python中查看模块功能的方法:1.在python命令行输入help()函数进入help帮助文档界面:2.键入[modules]列出当前所有安装的模块:3.键入相应的模块名称即可得到该模块的功能信 ...

  8. python中自定义类中的self_Python类和构造方法

    1.面向对象介绍 描述:是函数的一个变种,在Python中,有函数式编程和面向对象编程,java和C#之类只能把函数写到类里,没有函数式编程,所以只有面向对象,所以在Python中有了选择,可能就变得 ...

  9. python找图是什么模块-python中模块查找的原理与方法详解

    前言 本文主要给大家介绍了关于python模块查找的原理与方式,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 基础概念 module 模块, 一个 py 文件或以其他文件形式存在的可被 ...

最新文章

  1. Networking 基本术语/概念
  2. linux tunnel 与cisco 三层交换机的tunnel互联
  3. 我失败的阿里程序员生涯
  4. javascript嵌套的对象被修改时log不符合的问题
  5. tensorflow 数据格式
  6. 17行代码AC——习题5-3 卡片游戏(Throwing cards away I, UVa 10935,约瑟夫环)_解题报告
  7. Android与服务器端数据交互(基于SOAP协议整合android+webservice)
  8. 一文纵览自然语言生成的发展
  9. 数据结构基础(1) --Swap Bubble-Sort Select-Sort
  10. 基于OpenCL的数字地形分析之坡度坡向提取
  11. 移动端调取摄像头上面如何给出框_智能AI助力家居安防,创维小湃高清智能摄像头...
  12. hdu4608 暴力+大数
  13. Gantt - attachEvent事件监听 - 多个参数事件(大于两个)
  14. 极客爱情 2.4 | 和程序员男友过节是这样的
  15. 如何书写软件应用发明专利说明书(实例)
  16. 基于arduino的ESP32 学习笔记(四)基于AIDA64的电脑性能监控
  17. 服务器图标怎么显示在任务栏,win10任务栏右侧的图标如何显示或隐藏起来?附图文教程...
  18. 解决Keil4与Keil5在同系统不能共存的问题
  19. 用计算机实测技术研究声波和拍内容,大学物理实验
  20. 字符串后#号导致导出excel换行问题

热门文章

  1. “数据资产化”线上论坛圆满结束!
  2. 【2016年第6期】面向国际的生命组学大数据管理体系建设
  3. “大数据与精准营销沙龙”成功在京召开
  4. 【2016年第4期】分布式协商:建立稳固分布式 大数据系统的基石
  5. 《大数据》第2期“应用”——医疗健康大数据:应用实例与系统分析
  6. 【数据结构与算法】带环单链表查找环的入口算法
  7. 系统分析——以事件开始构建系统模型
  8. 从0开始Vue2集成Bootstrap4(1)
  9. Mysql,Zookeeper,Redis,Mongodb压力测试结果
  10. JDK源码笔记-java.util.HashMap