4.__str__(self):

作用:

创建完对象,直接打印对象名/引用名我们得到的是对象的内存信息(十六进制的地址信息),

这串数据我们程序员并不关心,我们更希望看到的是属性赋值以后的内容(属性赋值的检测),

那么我们就可以认为显示的重写__str__函数,来实现属性内容的返回显示

【注意】:

此函数必须有返回值,而且return后只能接受字符串数据
class Person:
def __init__(self,name,age,address):
self.name=name
self.age=age
self.address=address def details(self):
print('名字:'+self.name + ',年龄:' + str(self.age) + ', 籍贯:'+self.address) #重写_str__函数
def __str__(self):
print('我是__str__函数...')
# return '123'
return '名字:'+self.name + ',年龄:' + str(self.age) + ', 籍贯:'+self.address #实例化对象
p=Person('Joy',25,'北京')
print(p) p.details()
5.魔术方法/魔术函数:

定义在class中的__开始__结尾的方法,就是魔术方法;

特点:

它们都有固定执行的时机,而且都是系统自动调用;不需要我们程序员关心

举例:

__init__、__del__、__str__...

6.self关键字:

出现的位置:

在函数(一般函数、构造函数)的形参位置

作用:

1).那个对象调用函数,此函数的self记录了这个对象的内存地址

2).为哪个对象实例化做准备,构造函数的self就记录了这个正在被创建的对象的内存地址

总结:属性和函数都是属于类的成员

返回目录

python第四十二课——__str__(self)函数的更多相关文章

  1. NeHe OpenGL教程 第四十二课:多重视口

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  2. python第三十二课——栈

    栈:满足特点 --> 先进后出,类似于我们生活中的子弹夹 [注意] 对于栈结构而言:python中没有为其封装特定的函数,我们可以使用list(列表)来模拟栈的特点 使用list对象来模拟栈结构 ...

  3. python第三十二课——队列

    队列:满足特点 --> 先进先出,类似于我们生活中的买票.安检 [注意] 对于队列而言:python中有为其封装特定的函数,在collections模块中的deque函数就可以获取一个队列对象; ...

  4. Python学习第十二课——json&pickle&XML模块&OS模块

    json模块 import json dic={'name':'hanhan'} i=8 s='hello' l=[11,22] data=json.dumps(dic) #json.dumps() ...

  5. python六十二课——高阶函数之filter

    高阶函数之:filter函数:过滤数据的,最终返回一个惰性序列对象(filter对象,迭代器对象)解释:filter的意思:在计算机领域中我们都称为过滤器格式:filter(fn,lsd):参数和ma ...

  6. python第五十二课--自定义异常类

    myexception.py ''' 实现自定义异常类: ''' class MyException(Exception): def __init__(self,msg): super().__ini ...

  7. python第四十五课——继承性之多继承

    测试模块 演示多继承的结构和使用: 子类:Child 直接父类(多个):Father.Mother 注意: 由于有多个直接父类,多个父类都要自己给其属性赋值, 避免混淆,我们使用类名.__init__ ...

  8. 第四十二课:基于CSS的动画引擎

    由于低版本浏览器不支持css3 animation,因此我们需要根据浏览器来选择不同的动画引擎.如果浏览器支持css3 animation,那么就使用此动画引擎,如果不支持,就使用javascript ...

  9. 潭州课堂25班:Ph201805201 django 项目 第四十二课 后台 课程相关,用户组管理 (课堂笔记)

    在线课程: 当点击进入页面时,显示所有课程 def get(self, request): courses = Course.objects.select_related('category', 't ...

随机推荐

  1. Html.DropDownListFor练习(2)

    下午有做了练习<Html.DropDownListFor练习>http://www.cnblogs.com/insus/p/3382575.html 在实现过程中,需要创建一个List&l ...

  2. vue-cli中配置屏幕自适应(px2rem)

    在vue-cli中配置屏幕自适应的方法 首先,我们需要安装flexible库. npm i lib-flexible --save 在index.html文件当中配置meta标签, <meta ...

  3. centos7配置java环境

    首先自行下载jdk的tar.gz的包,上传至相应服务器目录下,比如我的是:/usr/java下,然后解压缩,之后进行如下操作: 注意要修改/etc/profile文件,在末尾添加内容: export ...

  4. 如何让企业邮箱更安全之gmail yahoo hotmail 反垃圾邮件机制

    一.雅虎.Gmail Domainkeys 是由雅虎公司推出的一项确保电子邮件来源的真实性和内容的完整性的技术,它能让电子邮件服务商确定某封信是否真实的来自某个域和帮助他们的用户免受“钓鱼欺诈邮件“的 ...

  5. 【学习笔记】--- 老男孩学Python,day3 while 循环 运算符 逻辑、赋值运算

    1. 循环. while循环 while 条件: 代码块(循环体) 执行流程: 1. 判断条件是否为真. 如果真. 执行代码块 2. 再次判断条件是否为真...... 3. 当条件为假.执行else ...

  6. openstack-on-centos7之各组件服务

    认证服务keystone(安装和配置) 在配置 OpenStack 身份认证服务前,必须创建一个数据库和管理员令牌 [用数据库连接客户端以root用户连接到数据库服务] # mysql -u root ...

  7. inline-block元素间隙处理

    要使多个块级元素并行显示,可使用float或者inline-block进行处理 使用inline-block会出现元素之间的间隙 <div class="demo"> ...

  8. js实现分享到QQ

    js代码 <script src="http://connect.qq.com/widget/loader/loader.js" widget="shareqq&q ...

  9. javax.net.ssl.SSLHandshakeException sun.security.validator.ValidatorException PK

    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building f ...

  10. JQuery 节点监听

    DOMSubtreeModified: 在DOM结构发生任何变化的时候.这个事件在其他事件触发后都会触发: $(".attr_box").bind("DOMSubtree ...