python是怎么定义类的,看了下面的文章大家就会了,不用多说,开始学习。

一、类定义:

复制代码代码如下:

class <类名>:

<语句>

类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性。如果直接使用类名修改其属性,那么将直接影响到已经实例化的对象

类的私有属性:

__private_attrs 两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs

类的方法

在类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数

私有的类方法

__private_method 两个下划线开头,声明该方法为私有方法,不能在类地外部调用。在类的内部调用slef.__private_methods

类的专有方法:

init 构造函数,在生成对象时调用

del 析构函数,释放对象时使用

repr 打印,转换

__setitem__按照索引赋值

__getitem__按照索引获取值

__len__获得长度

__cmp__比较运算

__call__函数调用

__add__加运算

__sub__减运算

__mul__乘运算

__div__除运算

__mod__求余运算

__pow__称方

复制代码代码如下:

类定义

class people:

#定义基本属性

name = ''

age = 0

#定义私有属性,私有属性在类外部无法直接进行访问

__weight = 0

#定义构造方法

def __init__(self,n,a,w):

self.name = n

self.age = a

self.__weight = w

def speak(self):

print("%s is speaking: I am %d years old" %(self.name,self.age))

p = people('tom',10,30)

p.speak()

二、继承类定义:

1.单继承

复制代码代码如下:

class <类名>(父类名)

<语句>

复制代码代码如下:

class childbook(book)

age = 10

复制代码代码如下:

单继承示例

class student(people):

grade = ''

def __init__(self,n,a,w,g):

#调用父类的构函

people.__init__(self,n,a,w)

self.grade = g

#覆写父类的方法

def speak(self):

print("%s is speaking: I am %d years old,and I am in grade %d"%(self.name,self.age,self.grade))

s = student('ken',20,60,3)

s.speak()

2.类的多重继承

复制代码代码如下:

class 类名(父类1,父类2,....,父类n)

<语句1>

需要注意圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索,即方法在子类中未找到时,从左到右查找父类中是否包含方法

复制代码代码如下:

另一个类,多重继承之前的准备

class speaker():

topic = ''

name = ''

def __init__(self,n,t):

self.name = n

self.topic = t

def speak(self):

print("I am %s,I am a speaker!My topic is %s"%(self.name,self.topic))

多重继承

class sample(speaker,student):

a =''

def __init__(self,n,a,w,g,t):

student.__init__(self,n,a,w,g)

speaker.__init__(self,n,t)

test = sample("Tim",25,80,4,"Python")

test.speak()#方法名同,默认调用的是在括号中排前地父类的方法

python如何定义类_python类定义的讲解相关推荐

  1. 用python定义一个员工类_python类的定义和使用

    类的定义: 类是用来描述具有相同的属性和方法的对象的集合.它定义了该集合中的每个对象所共有的属性和方法.对象时类的实例. 二.Python创建类: 使用class语句来创建一个新类,class之后为类 ...

  2. python定义方法继承类_Python类的定义、继承及类对象使用方法简明教程

    Python编程中类的概念可以比作是某种类型集合的描述,如"人类"可以被看作一个类,然后用人类这个类定义出每个具体的人--你.我.他等作为其对象.类还拥有属性和功能,属性即类本身的 ...

  3. python如何定义类_Python class定义类,Python类的定义(入门必读)

    在面向对象的程序设计过程中有两个重要概念:类(class)和对象(object,也被称为实例,instance),其中类是某一批对象的抽象,可以把类理解成某种概念:对象才是一个具体存在的实体.从这个意 ...

  4. python如何定义类_python中定义类

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 类的定义python中,定义类是通过class关键字,例如我们定义一个存储学生信 ...

  5. python类_python类和对象

    1.self? python的self相当于c++的指针 self相当于每个房子的门派号,同一个类生成很多对象,对象很相似.当一个对象的方法被调用时,对象为第一个参数传递给方法. 2.python的魔 ...

  6. python中类的嵌套_python类的嵌套

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 在.net和java语言中看到过嵌套类的实现,作为外部类一个局部工具还是很有用的 ...

  7. python中的数据成员有两类_Python类和对象

    一.概念 1.面向对象(Object Oriented,即OO),是一种设计思想. 2.面向对象编程(Object Oriented Programming,即OOP),可以使软件设计更加灵活,并且能 ...

  8. python调用接口实例化_python 类静态方法实例化另一个类对象的问题?

    Logger是使用logging封装的一个日志类, 每次使用的时候都要实例化一下: logger = Logger().getLogger() logger.info(' message ') 不想每 ...

  9. python 类方法装饰器_python类装饰器即__call__方法

    上一篇中我对学习过程中的装饰器进行了总结和整理,这一节简单整理下类装饰器 1.类中的__call__方法: 我们在定义好一个类后,实例化出一个对象,如果对这个对象以直接在后边加括号的方式进行调用,程序 ...

  10. python如何定义函数_python如何定义函数

    Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...

最新文章

  1. android开发字体样式,Android开发中修改程序字体的样式
  2. uva 753(网络流最大流)
  3. verilog定时打铃上下课程序设计
  4. IDEA:vue中缺少vue-quill-editor富文本插件
  5. Android项目clean之后R.java文件丢失解决办法
  6. Hibernate---简介
  7. 用WebView加载本地图片的方法
  8. 大数据处理系统关键层次架构
  9. 全局变量与局部变量的作用域问题
  10. 树莓派:Adafruit的I2C SSD1306 OLED驱动
  11. Mysql之DDL(数据定义语言)
  12. 摄像机镜头的计算方法
  13. 数据校验之Checksum算法
  14. 在线生成安卓APP图标
  15. unity-新手引导
  16. 安装x86版 OS X的系统要求
  17. 两个指针变量不可以做什么
  18. python字符串能不能加减乘除_Python运算符可不只有加减乘除
  19. 微信录音amr音频文件转mp3格式
  20. 嘉宾专访|2020 PostgreSQL亚洲大会中文分论坛:韩国盛

热门文章

  1. SAP CRM WebClient UI on new focus工作原理
  2. NPM useful library path: request.js
  3. 如何在Github里创建organization和代码仓库
  4. SAP CRM WebClient UI控制器方法DETACH_STATIC_OVW_VIEWS的作用
  5. SAP CRM PPR调试截图,头都搞大了,希望这问题这辈子只遇到这次
  6. 使用jMeter构造大量并发HTTP请求进行微服务性能测试
  7. Hybris UI的Route(路由)实现
  8. kafka reassign 限速_RabbitMQ 七战 Kafka,差异立现!
  9. 网络流-Dinic求最大流(仅做自己复习,写的很不清楚)
  10. golang语言变量定义、打印、占位符