`
kanwoerzi
  • 浏览: 1639788 次
文章分类
社区版块
存档分类
最新评论

Python笔记——类定义

 
阅读更多

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__称方

示例:

二、继承类定义:

1.单继承

class <类名>(父类名)

<语句>

eg.

class childbook(book)

age = 10

2.类的多重继承

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

<语句1>

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

即方法在子类中未找到时,从左到右查找父类中是否包含方法

类方法的覆写——子类覆盖掉父类的方法

def 方法名与父类一致

若是在方法中要使用到父类方法 父类名.方法名

若是将类放到了模块中

使用时

import A

l = A.()

以上三段程序的执行结果:

分享到:
评论

相关推荐

    Python笔记——scrapy爬虫框架

    — — python使用的最广泛的爬虫框架。 2. 创建项目:终端cmd下创建 输入命令:scrapy startproject [项目名qsbk] 生成目录结构: 1、scrapy.cfg:项目配置文件 2、items.py :定义需要爬去的字段 3、middlewares.py:...

    Python学习笔记——简易交互式计算器

    python语言学习 不知道如何下手,希望能继续坚持下去! 不知道有多少人和我在学习的路上! 通过PYthon编写简易交互式计算器: 实现简单计算器,包括两个数基本的加减乘除运算; 具体代码如下: #!/usr/bin/env ...

    Python学习笔记——大数据之Spark简介与环境搭建

    尤其是定义RDD的API、操作以及这两者上的动作。其他Spark的库都是构建在RDD和SparkCore之上的。SparkSQL:提供通过ApacheHive的SQL变体Hive查询语言(HiveQL)与Spark进行交互的API。每个数据库表被当做一个RDD,...

    Python量化交易学习笔记(24)——策略多参数优化

    笔记(13)中介绍了在策略中对单个参数进行...在向cerebro中添加策略时,使用list来定义长期、短期均线的取值: strats = cerebro.optstrategy( SmaCross, pfast = [5, 10, 15], pslow = [20, 30, 60]) 在策略类中

    Python练习——判断正整数是否为质数的三种方法

    本文参考《如何判断一个正整数是否为质数的三种方法 | 附Python程序》结合自身理解,作为笔记发布。如果对你有帮助,点赞关注哦! 一、基本概念 质数(又称素数): 一个大于1的自然数,除了1和它自身外,不能被其他...

    Python学习笔记_9:class 类定义的属性与方法——详解

    对很多没有其他语言基础的初学者来说,可能学到 python 的类定义的时候会苦恼很久 但,无论我们遇到什么困难,也不要怕,微笑着面对他,消除恐惧的最好办法就是面对恐惧,坚持,才是胜利,加油,奥利给!!! 今天...

    【Python入门自学笔记专辑】——面向对象编程

    【Python入门自学笔记专辑】——面向对象编程 前言 ​ 面相对象是Python的重要特性,继承了C++的类风格,在Python中的一切数据类型都是面向对象的。本章主要介绍Python的面向对象编程。 面向对象: ​ 什么是OOP...

    python——Matplotlib学习笔记2

    plt.xlim(xmax=10,xmin=0)#定义x轴范围 plt.ylim(ymax=10,ymin=0)#定义y轴范围 plt.plot([1,2,3,4,5,6,8,10],[4,5,6,8,10,8,6,4],'ro')#瞄点 plt.show() 下面是使用numpy随机生成数并用sactter绘制散点图方法 ...

    Python量化交易学习笔记(19)——连续下跌买入止盈止损卖出策略

    买入条件中,连续下跌定义为收盘价连续4日低于前1日的收盘价。卖出条件中,止盈率设置为10%,止损率设置为5%。回测初始资金100000元,单笔操作单位1000股,佣金千分之一,回测时间自2018年1月1日至2020年3月20日。 ...

    Python学习笔记(六)——–Python函数

    Python函数可以在类外定义。 Python函数类似Java中的方法。 二、定义一个Python函数 Python中以def开始定义函数,无需注明函数的返回值类型。 函数名后跟(),其中放入函数所需要的参数,同样的参数不需要注明类型。...

    笔记整理——Python爬虫(三):基本概念及常用基本方法

    笔记整理——Python爬虫(三):基本概念及常用基本方法一、爬虫基本概念定义使用爬虫的目的企业获取数据的方式使用Python做爬虫的优势爬虫分类通用爬取步骤(语义层面概括)二、爬虫请求模块模块及导入常用方法详解...

    python学习笔记(五)——模块导入

    模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。...函数/类/全局变量 导入第三方 random 模块,使用随机数。 import random print(r

    Python实现web服务器入门学习笔记(6)——多进程实现并发HTTP服务器的面向对象封装

    在Python实现web服务器入门学习笔记(3)——多进程、多线程实现并发HTTP服务器中,已经学习了如何通过多进程、多线程实现并发HTTP服务器,但当时是以实现功能为导向,并未使用面向对象的封装,本文记录一下如何对...

    Python随手笔记(九)——–面向对象高级编程(4)

    定制类 看到类似__slots__这种形如__...先定义一个Animal类,并打印一个实例: &gt;&gt;&gt; class Animal(object): def __init__(self,name): self.name = name &gt;&gt;&gt; print(Animal('Dog')) 一点都不好看 所以我们可以用__st

    Python随手笔记(九)——–面向对象高级编程(1)

    正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class: &gt;&gt;&gt; class Animal(object): pass 然后,尝试给实例绑定一个属性: &gt;...

    Python学习.docx

    人生苦短——我用Python Python学习全文共4页,当前为第1页。 Python学习全文共4页,当前为第1页。 开发环境Anaconda Notebook 笔记 Pycharm大型程序 Print想打什么打什么 没有数据类型 3 3.0 这种 列表【 , , ,...

    Python学习 | 一个JAVA程序员两天的Python入门笔记

    文章目录vlog正文入门基础注释算数运算符及优先级程序执行原理变量概念和定义方式变量的命名变量的输入和输出数据类型数值型非数值型列表元组列表与元组的互相转换字典字符串在Python中所有非数字型变量都支持的特点...

    Python3.4学习笔记之 idle 清屏扩展插件用法分析

    python idle 清屏问题的解决,使用python idle都会遇到一个常见而又懊恼的问题——要怎么清屏? 在stackoverflow看到这样两种答案: 1.在shell中输入 import os os.system&#40;'cls'&#41; 这种方法只能在windows...

Global site tag (gtag.js) - Google Analytics