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并发编程之线程中的信息隔离(五)
大家好,并发编程 进入第三篇. 上班第一天,大家应该比较忙吧.小明也是呢,所以今天的内容也很少.只要几分钟就能学完. 昨天我们说,线程与线程之间要通过消息通信来控制程序的执行. 讲完了消息通信,今天就 ...
随机推荐
- R语言中的采样与生成组合
不放回采样:sample(1:10, 5, replace = FALSE) 生成组合:
- python-列表,元组,range
# 列表# lst = ["光头强", 1, True, {}, (1, ), {123}, ["周杰伦",[], "周杰", " ...
- 改变Cube的Shader下的Alpha值,实现Cube若隐若现的效果。
private float rotaSpeed = 5f; private float timer = 1; private bool flag = true; private float delay ...
- jsp自定义标签开发
参考:http://blog.csdn.net/lw001x/article/details/7589302
- vue-router-2-动态路由配置
const User = { template: '<div>User{{ $route.params.id }}</div>' } const router = new Vu ...
- vue-13-插件
Vue.js 的插件应当有一个公开方法 install MyPlugin.install = function (Vue, options) { // 1. 添加全局方法或属性 Vue.myGloba ...
- sas 选择一段日期,和一定周期,生成日期序列和周期序列
工作需要,得选择一段日期,和一定周期,生成日期序列和周期序列.暂时用七天为一个周期 data d; format date date9.; do date='04mar2018'd to'05may2 ...
- Java 将图片转成base64,传到前台展示
后台代码: public String getBase64(SysFile sysFile){ String imgStr = ""; try { File file = new ...
- css经验之谈
//清除浮动 .clear { zoom:1; }.clear:after { content:''; display:block; clear:both; }.fl { float:left; }. ...
- OJ_查找二叉树
#include<iostream>using namespace std;int n,m;int d[120];int t=1;int re;struct Node{ int data; ...