python 类编程相关内容(更新)
python作为面向对象的编程语言,类和对象相关的编程当然是少不了的!
python类:
class 类名 :
变量名 [ = 初始值 ]
……
def 函数名 ( self [ , 其余参数列表 ]) :
函数体
……
基本是个这样子的!
注意self参数,在我接触到的类方法里几乎都要在参数列表第一项填上self,当然只是在类定义的时候,在调用的时候大概默认将对象传入了函数中,所以调用时不需要传入这个参数。在方法定义的过程中使用到的类变量也需要用 self.变量名 的方式,不然会报错,表示变量是外部变量不能直接修改。
在一个类的类方法中使用其他模块的方法,只需要import一下就行
from 模块名 import 方法名
在python中,有许多内置方法是可以重载的,就像C++的类里的重载运算符,不过也有很多差别。
__init__( self ) :
这个就相当于C++里面的构造函数了,在对象生成的时候就会自动调用~
__add__( self [ , ] ) :
重载__add__相当于重载“+”运算符,可以实现对象的加法操作。
>>> class A:
num = 1;
def __add__( self , other ) :
tmp = A()
tmp.num = self.num + other.num
return tmp >>> a = A()
>>> b = A()
>>> a = a + b
>>> print( a.num )
2
__str__( self [ , ]) :
重载__str__使对象拥有字符串的表示方法,这样在调用 print(对象名) 时就可以直接输出
>>> class A:
num = 1;
def __str__( self ) :
return "num = %d"%self.num >>> a = A()
>>> print(a)
num = 1
__repr__( self [ , ]) :
重载__repr__使对象可以直接被调用输出
>>> class A:
num = 1;
def __repr__( self ) :
return "num = %d"%self.num >>> a = A()
>>> a
num = 1
python 类编程相关内容(更新)的更多相关文章
- 一文讲全了Python 类和对象内容
摘要:这是一个关于 Python 类和对象的全部内容. 本文分享自华为云社区<从零开始学python | Python 类和对象-面向对象编程>,原文作者:Yuchuan . Pytho ...
- python类的相关知识第二部分
类的继承.多态.封装 一.类的继承 1.应用场景: 类大部分功能相同,大类包含小类的情况 例如: 动物类 共性:都要吃喝拉撒.都有头有脚 特性: 猫类.走了很轻,叫声特别,喜欢白天睡觉 狗类.的叫声很 ...
- Python网络编程相关的库与爬虫基础
PythonWeb编程 ①相关的库:urlib.urlib2.requests python中自带urlib和urlib2,他们主要使用函数如下: urllib: urlib.urlopen() ur ...
- Python 网络编程相关知识学习
Python 网络编程 Python 提供了两个级别访问的网络服务.: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的 ...
- python读写文件相关内容
1.python读取文件 f = open('E:/info.txt', 'r')#用read的方式打开a = 0for line in f.readlines():读取没一行,就是读取所有文件的意思 ...
- python类的相关知识第一部分
一.类的相关概念 (1).什么是类 具有同种属性的对象称为类,是个抽象的概念.比如说:汽车.人.狗.神: (2).什么是对象或实例 日常生活中的所有东西都是对象,是类的实例化.比如说:推土车是汽车的实 ...
- Python socket编程之五:更新分时图
f1.py # -*- coding: utf-8 -*- import socket import struct import sqlalchemy import pandas ########## ...
- python网络编程相关
什么是网络套接字socket?简述基于tcp协议的套接字的通信流程. 为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字 (Socket)的接口,区分 ...
- Python并发编程之线程中的信息隔离(五)
大家好,并发编程 进入第三篇. 上班第一天,大家应该比较忙吧.小明也是呢,所以今天的内容也很少.只要几分钟就能学完. 昨天我们说,线程与线程之间要通过消息通信来控制程序的执行. 讲完了消息通信,今天就 ...
随机推荐
- ural1297
题解: 后缀数组 st表处理加速lcp 把串后面加一个不可能出现的字符 然后再把串倒过来放在后面 暴力枚举中心 判断lcp 代码: #include<bits/stdc++.h> usin ...
- [HDU4585]Shaolin
Problem 问你一个数的前驱和后继 Solution Treap模板题 Notice 注意输出那个人的编号 Code #include<cmath> #include<cstdi ...
- 哈希表概念和实现,C/C++实现
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- 一. Python基础(1)--语法
一. Python基础(1)--语法 1. 应用程序 1.1 什么是计算机(Computer)? 组成 ①运算器 arithmetic unit; ※ Arithmetic unit and cont ...
- Find the Missing Number II
Giving a string with number from 1-n in random order, but miss 1 number.Find that number. Notice n & ...
- bootstrapTable 学习使用
Bootstrap离线API Bootstrap Table 离线API <input type="button" id="btn_searcher" v ...
- MATLAB 地图工具箱 m_map 的安装和入门技巧(转)
reference: http://blog.sina.com.cn/s/blog_8fc890a20102v6pm.html 需要用一些地图工具,arcgis懒得装了,GMT(generic m ...
- Thread.join方法的解析(转)
原文链接:https://www.cnblogs.com/huangzejun/p/7908898.html 1. join() 的示例和作用 1.1 示例 1 // 父线程 2 public cla ...
- 杭电多校第七场 1010 Sequence(除法分块+矩阵快速幂)
Sequence Problem Description Let us define a sequence as below f1=A f2=B fn=C*fn-2+D*fn-1+[p/n] Your ...
- 2017-2018-2 20165214 实验四《Android开发基础》实验报告
一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:朱文远 学号:20165214 指导教师:娄嘉鹏 实验日期:2018年5月14日 实验时间:15:35 - 17:15 实验序号:四 ...