python编程基础之三十三

构造方法:

  • 目的:构造方法用于初始化对象,可以在构造方法中添加成员属性
  • 触发时机:实例化对象的时候自动调用
  • 参数:第一个参数必须是self,其它参数根据需要自己定义
  • 返回值:不返回值,或者说返回None,不应该返回任何其他值

1 def __init__(self,arg1,arg2....):
2         函数体
3 #参数:arg1,agr2...根据需要自己定义
4 #如果自己不定义构造方法,系统自动生成一个构造函数
5 def __init__(self):
6   pass

如果自己没有写构造方法,系统会自动生成一个构造方法,里面除了self,没有任何参数,

 1 class Dog(object):
 2     def __init__(self,name,kind,age):
 3         self.name = name  #定义对象属性,这个类所有的对象都具有该属性
 4         self.kind = kind  #成员属性必须通过self.引用,否则是普通变量
 5         self.age = age
 6
 7     def bark(tmp):
 8         print(‘我是小可爱‘)
 9
10 dingding = Dog(‘大黄‘,‘泰迪‘,3)
11 print(‘我是可爱的%s犬,%s,我今年%d岁了‘ % (dingding.kind, dingding.name, dingding.age))

析构方法:

  • 目的:对象销毁时,释放资源
  • 时机:对象销毁时由系统自动调用
  • 参数:除了self外,没有其他参数
  • 返回值:不返回值,或者说返回None。

1 def __del__(self): 2 #to do

 1 class Dog(object):
 2     #构造
 3     def __init__(self,name,kind,age):
 4         self.name = name
 5         self.kind = kind
 6         self.age = age
 7     #析构
 8     def __del__(self):
 9         print(‘拜拜了,二十年后又是一条好汉‘)
10     def bark(tmp):
11         print(‘我是小可爱--丁丁‘)
12
13 dingding = Dog(‘丁丁‘,‘泰迪‘,3)
14 print(‘我是可爱的%s犬,%s,我今年%d岁了‘ % (dingding.kind, dingding.name, dingding.age))
15 del dingding  #销毁对象,自动调用析构方法
16
17 #在函数中对象,当函数结束运行时,自动析构
18 def test():
19     td = Dog(‘当当‘,‘泰迪‘,3)

还介绍一个魔术方法比较常用:__str__()

这个魔术方法可以让你定义的对象输出的时候不会是一个地址了,看到的可以是你希望看到的字符串,

  • 目的:将对象转化为字符串
  • 时机:凡是涉及对象向字符串转换的都会调用
  • 参数:self
  • 返回值:字符串

 1 class Animal:
 2     def __init__(self,name,age):
 3         self.name = name
 4         self.__age =age
 5     def __str__(self):
 6         return "name : {} age : {}".format(self.name,self.__age)
 7     def __repr__(self):
 8         return  self.__str__()
 9 a1 = Animal(‘zhu‘,3)
10 print(a1)
11 print(‘我是一头可爱的 ‘ + str(a1)

__str__()

原文地址:https://www.cnblogs.com/higer666/p/9454473.html

时间: 2024-10-09 00:29:52

python编程基础之三十三的相关文章

python编程基础之三十七

数据的持久化:数据持久化就是将内存中的对象转换为存储模型,以及将存储模型转换为内存中的对象的统称. 对象可以是任何数据结构或对象模型,存储模型可以是关系模型.XML.二进制流等 Python的数据持久化操作主要是六类:普通文件.DBM文件.Pickled对象存储.shelve对象存储.对象数据库存储.关系数据库存储. pickled:支持python所有的原生类型 dbm:一些小型应用程序中可以使用持久字典来存储名称/值对,他和字典极为类似,就把他当字典一样使用就行,但是有个比较苛刻的要求,键.

python编程基础之三十六

文件处理:文件处理包括读文件,写文件 读文件: 1.打开文件 2.读取文件 3.关闭文件 写文件: 1.打开文件 2.写如文件 3.关闭文件 无论是读取文件还是写文件都时需要打开文件,和关闭文件 打开文件: fp = open(file [, mode='r',  encoding=None, errors=None]) file:文件路径,可以是相对路径和绝对路径 mode:文件打开模式 r 只读 w 写之前会清空文件的内容 a 追加的方式,在原本内容中继续写 r+ 可读可写 w+ 打开一个文

Python编程基础

Python编程基础 数据类型 None 值 整型 浮点型 布尔类型True,False 字符串 元组 tuple(),有序,不可变例:t = (1,)t = (1,'Hello',1.0,True) 列表 list[],有序,可变 例:l = [1,'Hello',1.0,True] 字典 dict{},键-值对,无序例:d = {65:'A',48:0,'a':97,'Hello':'World'} 操作符 数学操作符 + - * / 除 // 整除 % 取模 ** 指数 比较操作符 ==

从能做什么到如何去做,一文带你快速掌握Python编程基础与实战

摘要:Python语言的教程虽然随处可见,但是忙于日常业务/学习的你或许:一直想要"找个时间学一点",但是又不知道该从何下手?本文将从Python能做什么,如何学习Python以及Python的基础知识为你的Python之路点上一盏明灯. 本文内容根据演讲视频以及PPT整理而成. 本文的分享主要围绕以下几个方面: Python能做什么?(常见应用场景介绍) 如何学习Python? Python语法基础实战 Python面向对象编程实战 练熟基础:2048小游戏项目的实现与实战 福利:小

python编程基础框架

a.python 开发 a.1基础 python,java语言优势:可以写网页+后台功能,python开发效率高,执行效率低,java执行效率高,开发效率低 环境变量配置:进入--->控制面板\用户帐户和家庭安全\用户帐户--->更改我的环境变量--->系统变量--->path--->;F:\python3.6.3(分号+python安装位置) python后缀名:以.py结束 执行方式:1)python编译器(软件),py文件路径:解释器路径:#!/usr/bin/env

1.Python编程基础

1. 其实,程序指的就是一系列指令,用来告诉计算机做什么,而编写程序的关键在于,我们需要用计算机可以理解的语言来提供这些指令. 虽然借助 Siri(Apple).Google Now(Android).Cortana(Microsoft)等技术,我们可以使用汉语直接告诉计算机做什么,比如“Siri,打开酷狗音乐”,但使用过这些系统的读者都知道,它尚未完全成熟,再加上我们语言充满了模糊和不精确因素,使得设计一个完全理解人类语言的计算机程序,仍然是一个有待解决的问题. 为了有效避开所有影响给计算机传

Python培训知识总结系列- 第一章Python编程基础

第一章主要是讲了下面几点: Python的基本历史,Python2,Python3的差别. Python的数据类型,变量,顺序执行,分支,循环语句. Python的开发工具,老师推荐的是PythonCharm. 与编程相关的知识,如数制的转换,二进制,十进制,十六进制等. 还有就是列表,字典,集合的概念的.老师在第二章具体讲应用. 原文地址:http://blog.51cto.com/huangsheng2/2065133

python编程基础之一

编译:将全部代码转成二进制可执行文件 速度快, c,c++等 解释:一行一行的将代码解释 速度慢 python,php等 python简介:Guido van Rossum 1989年 常用的python解释器: cpython ---最广泛 jpython ---java ironpython pypy -----支持JIT技术(即时编译) python的特点: 1.解释性语言------不编译,解释一行,运行一行 2.交互式语言------直接互动 3.面向对象语言 4.跨平台语言 5.适合

Python编程基础环境安装

安装python2.7 wget https://www.Python.org/ftp/Python/2.7.8/Python-2.7.8.tgz tar xvf Python-2.7.8.tgzcd Python-2.7.8./configure –prefix=/usr/local/python27makemake installmv /usr/bin/python /usr/bin/python_oldln -s /usr/local/python27/bin/python /usr/bi