首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python__str__() 和 __repr__() 用法

定义,我们通常会看到 __str__() 方法和 __repr__() 方法,那么这两个方法作用是什么以及如何使用他们呢?本文便来介绍下这两个方法。...可以看到没有定义 __str__ 和 __repr__ 方法情况下,不管是直接输出对象还是调用 print() 函数进行输出,输出结果都是 <__main__.Dog object at 0x7f86e42c4c10...在这种情况下使用是缺省 __str__() 和 __repr__() 。 类包含 __str__() 下面添加 __str__() 方法。 >>> class Dog: ......总结 当自定义类没有定义 __str__() 和 __repr__() 时,进行对象输出时,会调用默认 __str__() 和 __repr__() ;当类只包含 __str__() 时,调用...print() 函数进行对象输出,会调用 __str__(),直接输出调用默认 __repr__();当类既包含 __str__() 又包含 __repr__() 时,调用 print() 函数进行对象输出

50830

Python面向对象程序设计属性作用与用法

属性是一种特殊形式成员方法,结合了公开数据成员和成员方法优点,既可以像成员方法那样对值进行必要检查,又可以像数据成员一样灵活访问。...Python 2.x对象属性并没有提供太多保护机制,存在一些问题。Python 3.x属性得到了较为完整实现,支持更加全面的保护机制。...如果设置属性为只读,则无法修改其值,也无法为对象增加与属性同名新成员,当然也无法删除对象属性。...下面的演示代码将属性设置为可读、可修改、可删除,如果不指定删除操作方法将无法删除该属性,同理,如果不指定修改操作方法则无法对属性值进行修改。...__value = v #删除对象私有数据成员 def __del(self): del self.

91640
您找到你想要的搜索结果了吗?
是的
没有找到

Python - 类对象属性

= 'Class Var' def __init__(self): self.var_of_instance = 'Instance Var' 定义、使用类、实例对象属性过程...,其实涉及两个过程: 类属性绑定 实例属性绑定 使用绑定一词事实上更加确切,可以理解为属性并不是属于类或实例Python中一切皆对象,每个属性也都是一个个现货鲜活对象,之所以这些对象被称之为...类属性绑定 Python作为动态语言,类对象和实例对象都可以在运行时绑定任意属性,因此类属性绑定有两种时机: 编译类时(写在类属性) 运行时 # 定义时绑定类属性 print(f'定义时绑定类属性...defined during running 属性引用 上文中对属性使用事实上都是引用类对象或实例对象属性。...需要特别说明是实例对象属性引用冲突问题,当类存在同名实例属性与类属性时: 由于类对象无法访问实例属性,因此对类对象属性引用没有影响 实例属性有权访问二者,实现上会优先引用实例级属性,即同名属性会被覆盖

2.6K10

理解Python对象、实例对象属性、方法

def msg(): # 静态方法,可以没有参数 pass # 类对象: 将具有相似属性和方法对象总结抽象为类对象,可以定义相似的一些属性和方法,不同实例对象去引用类对象属性和方法...# 类属性: 类对象所有的属性,类对象和实例对象均可以访问,被它们共同拥有; # 公有类属性: 可以类外修改类属性,需要通过类对象引用直接修改; 类内可以通过类方法修改类属性。...如果通过实例对象来引用类属性,相当于实例对象实例方法创建了一个和类属性相同名字,等同于局部变量实例属性,和类属性无关; # 私有类属性: 类外通过类对象引用不能直接更改,只能通过实例方法调用类对象更改...# 实例对象: 通过类对象创建实例对象 # 实例属性: 通过方法定义属性 # 私有实例属性: __开头定义变量名;只能通过方法调用来更改 公有实例属性: 可以通过实例对象重新定义...# 私有方法: 只能在类内调用,如果类外调用,则需要类内公有方法调用类内私有方法,类外调用这个公有方法,则间接调用了私有方法。

3.8K30

data自定义属性jQuery用法

(1)如果在HTML文档设置data-自定义属性单个字符串名称属性若有大写值,js文件获取时只能用小写形式获取。...如: HTMLdata-Role,获取当时为$(node).data(“role”); (2)如果在HTML设置data-role和data-Role是一样,html属性不区分大小写。...然后我们从验证结果可以看出,js只会找到第一个与其匹配就直接返回。 (3)如果用js来设置data属性,那么如果你定义是大写格式,则访问也必须是大写形式。...最后讲一下data()和attr()区别: (1) 是否需要传参: data() 可以不传入参数,这使获得是一个js对象,就算你html没有设置任何data自定义属性时,获得也是一个对象。...(4)data-attribute属性会在页面初始化时候放到jQuery对象,被缓存起来,而attr方法却不会。

2.9K20

Pythonenumerate对象用法与特点

Python内置函数enumerate()函数用来枚举可迭代对象元素,返回可迭代enumerate对象,其中每个元素都是包含索引和值元组。...#枚举字符串元素 >>> list(enumerate('abcd')) [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')] #枚举列表元素 >>> list(enumerate...(['Python', 'Greate'])) [(0, 'Python'), (1, 'Greate')] >>> d = {'a':97, 'b':98, 'c':99} #枚举字典元素 >>>...list(enumerate(d.items())) [(0, ('a', 97)), (1, ('b', 98)), (2, ('c', 99))] #枚举range对象元素 >>> for index...并且,已经拿出来圆球管子里就没有了(可以想象每个圆球都有编号)。 ? 正如上面所说,enumerate对象已经访问过元素无法再次访问,使用时要注意这个问题。

1.5K80

python类,对象,方法,属性初认识

面向对象编程需要使用类,类和实例息息相关,有了类之后我们必须创建一个实例,这样才能调用类方法。...首先看一下类结构模式: class: 类私有属性:__private_attrs 两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问。...类内部方法中使用时 self....__private_attrs 类方法:类地内部,使用def关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数 类专有方法: ?...首先看一下构建类构成及实例化: ? 其次通过使用类内置方法进行方法构造: ? ? ? 编程是一门技术,更是一门艺术!

1.8K20

JavaScript 对象是拥有属性和方法数据

JavaScript 所有事物都是对象:字符串、数字、数组、日期,等等。 JavaScript 对象是拥有属性和方法数据。...字符串对象: var txt = "Hello"; 属性: txt.length=5 方法: txt.indexOf() txt.replace() txt.search() 面向对象语言中,使用...函数 函数就是包裹在花括号代码块,前面使用了关键词 function: function myFunction(var1,var2) { 这里是要执行代码; return x; } 变量和参数必须以一致顺序出现...); } var myVar=myFunction(); document.getElementById("demo").innerHTML=myFunction(); 局部变量:...全局变量:函数外声明变量是全局变量,网页上所有脚本和函数都能访问它。全局变量会在页面关闭后被删除。

3.7K10

分享 5 种 JS 访问对象属性方法

JavaScript 对象是语言基本组成部分,广泛用于表示数据结构。对象由保存值属性组成。为了访问这些属性,JavaScript 提供了多种方法。...本文中,我们将探索5种不同方式来访问 JavaScript 对象属性。 1.点属性属性访问器是 JavaScript 访问对象属性最常见和最直接方式。它使用点 (.)...2.方括号属性 方括号属性访问器是另一种 JavaScript 访问对象属性方法。它使用方括号 ([]) 和属性名称字符串表示来访问值。...这对于点属性访问器是不可能。 3.对象解构 对象解构是 ECMAScript 2015 (ES6) 引入一项强大功能,它允许我们从对象中提取属性并将它们分配给变量。...这允许我们访问对象属性时使用不同变量名。 此外,对象解构可以通过使用计算属性名称来处理动态属性名称。

1K31

pythonstr,unicode对象encode和decode方法

转自:链接 pythonstr,unicode对象encode和decode方法 pythonstr对象其实就是"8-bit string" ,字节字符串,本质上类似javabyte[]...而pythonunicode对象应该才是等同于javaString对象,或本质上是javachar[]。...用处2 非字符编码集non-character-encoding-codecs,这些只python定义,离开python就没意义(这个来自python官方文档) 并且也不是人类用语言,呵呵。...大概是指压缩吧(这是我猜),rot13回转13等,不知者google之 关于这些,官方有个详细表格,http://docs.python.org/library/codecs.htmlStandard...(java不需要声明原因在于:java默认是本地编码而py默认是ascii,搞得python更易出错, 并且,java编译时候还有个指定编码参数encoding) 文件编码格式决定了该源文件声明字符串编码格式

1.2K20

Python 字符串 — str

第二行注释是为了告诉 Python 解释器,按照 UTF­-8 编码读取源代码,否则,你源代码中文输出可能会有乱码。... Python 可以通过 英文 (双引号 ") 或者 (单引号 ') 识别出字符串来 #!...(i) print(result) # -->'0123456789' 三、字符串格式化 Python ,采用格式化方式和 C 语言是一致,用 % 实现,如下: 格式 含义 %c 单字符...,Python特殊方法,一般都是使用诸如__xxx__(前后两个下划线,中间是方法名)命名方式,例如:__init__、__class__。...Python 魔术方法,Python 高级专栏】中有详细介绍,请查看 Python魔法属性 4.2 使用 help() 来查看方法、函数文档 def iter_out(iter_obj,

1.2K10

pythonstr,unicode对象encode和decode方法

pythonstr,unicode对象encode和decode方法  pythonstr对象其实就是"8-bit string" ,字节字符串,本质上类似javabyte[]。 ...而pythonunicode对象应该才是等同于javaString对象,或本质上是javachar[]。 ...python内部表示和真实unicode是有点差别的,对我们几乎透明,可不考虑),和人交互时候用str对象。 ...ascii编码)  这样源文件str对象就是cp936编码,我们要把这个字符串传给一个需要保存成其他编码地方(比如xmlutf-8,excel需要utf-16)  通常这么写:  strobj.decode...用处2  非字符编码集non-character-encoding-codecs,这些只python定义,离开python就没意义(这个来自python官方文档)  并且也不是人类用语言,呵呵

1.9K10

Python深入03 对象属性

Python一切皆对象(object),每个对象都可能有多个属性(attribute)。Python属性有一套统一管理方案。...一个对象属性还可能是该对象实例定义,叫做对象属性(object attribute)。 对象属性储存在对象__dict__属性。__dict__为一个词典,键为属性名,对应值为属性本身。...可以看到,Python属性是分层定义,比如这里分为object/bird/chicken/summer这四层。当我们需要调用某个属性时候,Python会一层层向上遍历,直到找到那个属性。...(某个属性可能出现再不同层被重复定义,Python向上过程,会选取先遇到那一个,也就是比较低层属性定义)。...Python开发,你有可能使用这种方法来更合理管理对象属性

1.1K70

Pythonstr字符串

参考链接: 如何检查字符串Python是否为有效关键字?...Pythonstr字符串  特点:  字符串是有序字符集合使用单引号【’】、双引号【”】、三引号【”””或者’’’】字符串是不可不变对象Python3.0起,字符串就是Unicode类型(utf8...(注意:可迭代对象本身就是字符串)    iterable为可迭代对象 replace(old,new[,count])->str #将字符匹配到old字符串替换成new新字符串    old 需要替换字符...,小写转换成大写capitalize()->str #将字符串首个单词首字母转换成大写字母 title()->str #将英文单词每个字母首字母都转换成大写字母   位置调整类  center(...}.format(8888,”192.168.61.100”,server=”xdd”)】  访问元素:    例如:【"{0[0]}.{0[1]}".format((‘xdd’,‘com’))】  对象属性访问

1.3K30

Python对象和实例对象访问属性区别、property属性

参考链接: Python类和实例属性对象、实例对象、类属性、实例属性  下面的一个小demo,定义了一个省份类  Province ,即类对象 Province ,开辟了一块内存空间,空间中存放着...),参数 ‘山东省’ 传递到 __init__方法 name 参数上,name又赋予 self.name ,self.name 为新创建实例属性创建实例对象,存在默认__class__属性会指向类对象...可以看出来,实例对象实例属性自己独有,类对象属性可以被每一个实例对象所调用,即  类属性在内存只保存一份实例属性每个对象中都要保存一份 我们通过类创建实例对象时,如果每个对象需要具有相同名字属性...property属性有两种方式  装饰器 即:方法上应用装饰器(上述案例)类属性 即:定义值为property对象属性 1 装饰器方式  经典类(类没有继承object),只具有一种@property...class Goods:     """python3默认继承object类         以python2、3执行此程序结果不同,因为只有python3才有@xxx.setter  @xxx.deleter

3.6K00
领券