day18-5个内置方法
# 1. __str__方法: 必须return
class Goods:
def __str__(self):
return 'apple'
g = Goods()
print(g) #apple,省略写法,使用print(dir(g))可以查到对象里面有__str__方法。
print(g.__str__()) #apple
print(str(g)) #apple, str(g)相当于g.__str__()
print('%s'%g) #apple, str(g)相当于g.__str__() # 2. __repr__方法:是__str__方法的备胎,当类中没有__str__方法的时候,依然可以调用__str__方法。必须return
class Goods:
def __repr__(self):
return 'apple'
g = Goods()
print(g) #apple
print(g.__str__()) #apple
print(str(g)) #apple
print('%s'%g) #apple print(g.__repr__())#apple
print(repr(g)) #apple ,相当于g.__repr__()
print('%r'%g) #apple ,相当于g.__repr__() # 3. __len__方法:
class Goods:
def __init__(self,name):
self.name = name
self.color = []
def __len__(self):
return '%s有%s种颜色'%(self.name,len(self.color))
apple = Goods('apple')
apple.color.append('red')
apple.color.append('green')
print(len(apple.color)) #
print(apple.__len__()) #apple有2种颜色 # 4. __del__方法:
class Goods:
def __del__(self):
print('删除商品')
apple = Goods()
del apple #删除对象,先调用对象里面的__del__方法,打印出‘删除商品’,接着删除apple对象。
print(apple) #name 'apple' is not defined class A:
def __del__(self): #析构方法:在删除一个对象之前先关闭文件,进行收尾工作。
self.f.close()
a = A()
a.f = open() #a.f 拿到一个文件操作符然后存放在内存中,open()打开文件
del a #del先执行方法,后删除a # 5. __call__方法:obj()就可以调用此方法。
class Goods:
def __call__(self):
print('调用方法')
apple = Goods()
apple() #调用方法
day18-5个内置方法的更多相关文章
- python黑魔法 -- 内置方法使用
很多pythonic的代码都会用到内置方法,根据自己的经验,罗列一下自己知道的内置方法. __getitem__ __setitem__ __delitem__ 这三个方法是字典类的内置方法,分别对应 ...
- python常用数据类型内置方法介绍
熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...
- 7.python字符串-内置方法分析
上篇对python中的字符串内置方法进行了列举和简单说明,但这些方法太多,逐一背下效率实在太低,下面我来对这些方法按照其功能进行总结: 1.字母大小写相关(中文无效) 1.1 S.upper() -& ...
- 6.python字符串-内置方法列举
所谓内置方法,就是凡是字符串都能用的方法,这个方法在创建字符串的类中,下面是总结: 首先,我们要学习一个获取帮助的内置函数 help(对象) ,对象可以是一个我们创建出来的,也可以是创建对象的那个类, ...
- python 字典内置方法get应用
python字典内置方法get应用,如果我们需要获取字典值的话,我们有两种方法,一个是通过dict['key'],另外一个就是dict.get()方法. 今天给大家分享的就是字典的get()方法. 这 ...
- 内置方法+lambda是pythonic的利器
python可以写的非常简洁,通过使用内置的map,reduce,filter,lambda方法,非常具有文艺范. 举个例子,例如 def fromIpToNum(ipAddr): return ...
- 字符串:各种奇葩的内置方法 - 零基础入门学习Python014
字符串:各种奇葩的内置方法 让编程改变世界 Change the world by program 字符串:各种奇葩的内置方法 或许现在又回过头来谈字符串,有些朋友可能会觉得没必要,也有些朋友会觉得不 ...
- s14 第4天 关于python3.0编码 函数式编程 装饰器 列表生成式 生成器 内置方法
python3 编码默认为unicode,unicode和utf-8都是默认支持中文的. 如果要python3的编码改为utf-8,则或者在一开始就声明全局使用utf-8 #_*_coding:utf ...
- while补充,字符串和数字的内置方法
一.while循环的补充 while True: name=input('please input your name: ') password=input('please input your pa ...
- JavaScript基础:BOM的常见内置方法和内置对象
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. BOM的介绍 JavaScript的组成 JavaScript基础分为三 ...
随机推荐
- 【动手学pytorch】pytorch的基础操作
一.Tensor a) 张量是torch的基础数据类型 b) 张量的核心是坐标的改变不会改变自身性质. c) 0阶张量为标量(只有数值,没有方向的量),因为它不随 ...
- SQL基础教程(第2版)第3章 聚合与排序:3-3 为聚合结果指定条件
第3章 聚合与排序:3-3 为聚合结果指定条件 ● 使用COUNT函数等聚合函数对表中数据进行汇总操作时,为其指定条件的不是WHERE子句,而是HAVING子句.● 聚合函数可以在SELECT子句. ...
- MySQL索引(一)
1.索引的类型 1) B-Tree索引 (1)概念 人们常说的Mysql索引一般是指B-Tree索引,它使用B-Tree数据结构来存储数据.存储引擎以不同的方式使用B-Tree索引,性能也各有不同,各 ...
- ODBC、OLEDB和ADO之间的关系 ,以及性能比较
学习了.net视频之后,对里面涉及到的数据库连接部分中的一些概念表示很无语.网上很多相关资料,但除了网站不一样外,基本上内容都神一样的一致. 现在,我就通过结合看到的一些资料再加上自己的理解试图去解释 ...
- vue图片查看器
vue 安装图片查看器插件安装cnpm install v-viewer引用 import 'viewerjs/dist/viewer.css' import Viewer from 'v-viewe ...
- Redis5新特性Streams作消息队列
前言 Redis 5 新特性中,Streams 数据结构的引入,可以说它是在本次迭代中最大特性.它使本次 5.x 版本迭代中,Redis 作为消息队列使用时,得到更完善,更强大的原生支持,其中尤为明显 ...
- Spring学习之Aspectj开发实现AOP
Aspectj是一个基于Java语言的Aop框架,它提供了强大的Aop功能. Aspectj简介: 1.Aspectj是一个面向切面的框架,它扩展了Java语言,它定义了一个Aop语法. 2.所以它有 ...
- Jenkin远程部署Tomcat8.5总结
tomcat8.5相比之前的tomcat进入manger管理界面需要多一些设置 1. 在 $tomcathome/conf/Catalina/localhost/下创建 manager.xml , 填 ...
- 微服务项目开发学成在线_Vue.js与Webpack
Vue.js 1.Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.自底向上逐层应用:作为渐进式框架要实现的目标就是方便项目增量开发. 渐进式框架:Progress ...
- MyBatis从入门到精通(第4章):MyBatis动态SQL【foreach、bind、OGNL用法】
(第4章):MyBatis动态SQL[foreach.bind.OGNL用法] 4.4 foreach 用法 SQL 语句中有时会使用 IN 关键字,例如 id in (1,2,3).可以使用 ${i ...