展开

关键词

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() 函数进行对象输出

23330

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

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

31440
  • 广告
    关闭

    【玩转 Cloud Studio】有奖调研征文,千元豪礼等你拿!

    想听听你玩转的独门秘籍,更有机械键盘、鹅厂公仔、CODING 定制公仔等你来拿!

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

    Python - 类对象属性

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

    4210

    pythonlen和str和pow简单用法

    参考链接: Python pow() str()函数 返回一个对象string字符串格式。 语法: class str(object=’’) 实例 实例 以下展示了使用 str() 方法实例:     s = ‘RUNOOB’ str(s) ‘RUNOOB’     dict = {‘runoob import math math.pow(2,3) 8.0     pow(2,3) 8  参考链接http://www.runoob.com/python/func-number-pow.html len ()函数 描述 Python len() 方法返回对象(字符、列表、元组等)长度或项目个数。  TypeError: object of type ‘int’ has no len() 实例 以下实例展示了 len() 使用方法:     str = “runoob” len(str) # 字符串长度

    23200

    pythonstr.translate用法,删除文本标点符号

    参考链接: Pythonstring.punctuation pythonstr.translate用法  删除文本标点符号  translate():使用指定翻译映射表对字符串执行替换  简单替换  test1='aaabcdaefghjk' table=str.maketrans("abc","123") print(test1.translate(table)) 删除文本标点符号   def remove_punct(text):     table=str.maketrans('','',string.punctuation)     return text.translate (table) example="I love&*(()@ #python" print(remove_punct(example)) 输出:I love python

    54910

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

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

    50830

    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方法却不会。

    29120

    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对象已经访问过元素无法再次访问,使用时要注意这个问题。

    83380

    PHPstr_split()函数用法讲解

    PHP str_split() 函数 实例 把字符串 “Hello” 分割到数组: <?php print_r(str_split("Hello")); ? 定义和用法 str_split()函数把字符串分割到数组。 语法 str_split( _string,length_ ) ? ? 实例 1 使用 length 参数: <? php print_r(str_split("Hello",3)); ?

    19120

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

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

    26720

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

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

    9010

    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) 文件编码格式决定了该源文件声明字符串编码格式

    62220

    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,

    8110

    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.5K10

    Python深入03 对象属性

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

    36370

    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’))】  对象属性访问

    25530

    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

    20700

    kerasHistory对象用法

    kerasfit_generator和fit函数均返回History对象,那么History怎么用呢?事实上History对象已经记录了运行输出。 了解之前,我们甚至自己定义回调函数记录损失和准确率等。 self.epoch.append(epoch) for k, v in logs.items(): self.history.setdefault(k, []).append(v) 可以看出History类对象包含两个属性 planets.groupby('method'): print(f"{method:30s shape=group.shape}") 198: %history -g print*metho* 以上这篇keras History对象用法就是小编分享给大家全部内容了,希望能给大家一个参考。

    96320

    javascriptMath对象用法

    Math对象用法 math对象里有属性对象方法,调用方法如下代码 var pi_value=Math.PI; var sqrt_value=Math.sqrt(15); 注释:Math 对象并不像 Date 和 String 那样是对象类,因此没有构造函数 Math(),像 Math.sin() 这样函数只是函数,不是某个对象方法。 您无需创建它,通过把 Math 作为对象使用就可以调用其所有属性和方法。 Math对象详细属性 属性 描述 E 返回算术常量 e,即自然对数底数(约等于2.718)。 exp(x) 返回 e 指数。 floor(x) 对数进行下舍入。 log(x) 返回数自然对数(底为e)。 max(x,y) 返回 x 和 y 最高值。 min(x,y) 返回 x 和 y 最低值。 pow(x,y) 返回 x y 次幂。 random() 返回 0 ~ 1 之间随机数。 round(x) 把数四舍五入为最接近整数。

    19910

    Swift — 面向对象类和对象属性

    Swift类和对象属性分为三种:储存属性,计算属性和类属性。 import Foundation class Person { // 储存属性必须赋初值 var score1: Int = 20 var score2: Int = 50 // 延迟储存属性,须要时再去分配 lazy var dog: Dog = Dog() // 计算属性,不能赋初值,提供get和set方法, var sum: Int { get { return score1 + score2 } } // 类属性,仅仅能是计算属性,使用类而非对象去调用 // 如 Person.desc class var desc: String

    7120

    扫码关注腾讯云开发者

    领取腾讯云代金券