Python 内置方法和属性详解

目录
  • 1.1 _del_方法(知道)
  • 1.2 _str_ 方法
  • 总结

1.1 _del_方法(知道)

在Python中

当使用 类名()创建对象时,为对象 分配完空间后,自动 调用 _init_方法;

当一个 对象被从内存中阶段 前,会 自动 调用 _del_方法;

生命周期

1)、一个对象从调用 类名()创建,生命周期开始;

2)、一个对象的 _del_ 方法一旦被调用,生命周期结束;

3)、在对象的生命周期内,可以访问对象属性,或者让对象调用方法;

class Cat():
   def __init__(self,new_name):
       self.name = new_name
       print("%s 来了" % self.name)
   def _del_(self):
        print("%s 我去了" % self.name)

# tom 是一个全局变量
tom = Cat("Tom")
print(tom.name)

# del 关键字可以删除一个对象
del tom

print("-" * 50)
 

1.2 _str_ 方法

在 Python 中,使用 print 输出 对象变量,默认情况下,会输出这个变量 引用的对象 是 由哪一个类创建的对象,以及 在内存中的地址(十六进制表示);

如果在开发中,希望使用 print 输出 对象变量 时,能够打印 自定义的内容,就可以利用 _str_ 这个内置方法了;

注意:

_str_ 方法必须返回一个字符串

class Cat():
   def __init__(self,new_name):
       self.name = new_name
       print("%s 来了" % self.name)
   def _del_(self):
        print("%s 我去了" % self.name)
   def __str__(self):
        # 必须返回一个字符串
        return "我是小猫[%s]" % self.name

# tom 是一个全局变量
tom = Cat("Tom")
print(tom)
 

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Python反射和内置方法重写操作详解

    本文实例讲述了Python反射和内置方法重写操作.分享给大家供大家参考,具体如下: isinstance和issubclass isinstance(obj,cls)检查是否obj是否是类 cls 的对象,类似 type() class Foo(object): pass obj = Foo() isinstance(obj, Foo) issubclass(sub, super)检查sub类是否是 super 类的派生类 class Foo(object): pass class Bar(Fo

  • Python中常用的内置方法

    1.最大值 max(3,4) ##运行结果为4 2.最小值 min(3,4) ##运行结果为3 3.求和 sum(range(1,101)) ##求1-100的和 使用过这个函数求1-100的偶数或者奇数的和更简单 sum(range(1,101,2)) ##1-100之间的奇数和 sum(range(2,101,2)) ##1-100之间的偶数和 4.枚举 返回索引值和对应的value值 for i,v in enumerate('hello'): print(i,v) 5.zip 可以使两个

  • python字符串string的内置方法实例详解

    下面给大家分享python 字符串string的内置方法,具体内容详情如下所示: #__author: "Pizer Wang" #__date: 2018/1/28 a = "Let's go" print(a) print("-------------------") a = 'Let\'s go' print(a) print("-------------------") print("hello"

  • Python内置方法和属性应用:反射和单例(推荐)

    1. 前言 python除了丰富的第三方库外,本身也提供了一些内在的方法和底层的一些属性,大家比较常用的如dict.list.set.min.max.range.sorted等.笔者最近在做项目框架时涉及到一些不是很常用的方法和属性,在本文中和大家做下分享. 2. 内置方法和函数介绍 enumerate 如果你需要遍历可迭代的对象,有需要获取它的序号,可以用enumerate, 每一个next返回的是一个tuple list1 = [1, 2, 3, 4] list2 = [4, 3, 2, 1

  • Python 内置方法和属性详解

    目录 1.1 _del_方法(知道) 1.2 _str_ 方法 总结 1.1 _del_方法(知道) 在Python中 当使用 类名()创建对象时,为对象 分配完空间后,自动 调用 _init_方法: 当一个 对象被从内存中阶段 前,会 自动 调用 _del_方法: 生命周期 1).一个对象从调用 类名()创建,生命周期开始: 2).一个对象的 _del_ 方法一旦被调用,生命周期结束: 3).在对象的生命周期内,可以访问对象属性,或者让对象调用方法: class Cat(): def __in

  • python 函数中的内置函数及用法详解

    今天来介绍一下Python解释器包含的一系列的内置函数,下面表格按字母顺序列出了内置函数: 下面就一一介绍一下内置函数的用法: 1.abs() 返回一个数值的绝对值,可以是整数或浮点数等. print(abs(-18)) print(abs(0.15)) result: 18 0.15 2.all(iterable) 如果iterable的所有元素不为0.''.False或者iterable为空,all(iterable)返回True,否则返回False. print(all(['a','b',

  • python中模块的__all__属性详解

    python模块中的__all__属性,可用于模块导入时限制,如: from module import * 此时被导入模块若定义了__all__属性,则只有__all__内指定的属性.方法.类可被导入. 若没定义,则导入模块内的所有公有属性,方法和类 # kk.py class A(): def __init__(self,name,age): self.name=name self.age=age class B(): def __init__(self,name,id): self.nam

  • angular内置provider之$compileProvider详解

    一.方法概览 1.directive(name, directiveFactory) 2.component(name, options) 3.aHrefSanitizationWhitelist([regexp]); 4.imgSrcSanitizationWhitelist([regexp]); 5.debugInfoEnabled([enabled]); 6.strictComponentBindingsEnabled([enabled]); 7.onChangesTtl(limit);

  • SpringBoot内置tomcat启动原理详解

    前言 不得不说SpringBoot的开发者是在为大众程序猿谋福利,把大家都惯成了懒汉,xml不配置了,连tomcat也懒的配置了,典型的一键启动系统,那么tomcat在springboot是怎么启动的呢? 内置tomcat 开发阶段对我们来说使用内置的tomcat是非常够用了,当然也可以使用jetty. <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo

  • Python内建模块struct实例详解

    本文研究的主要是Python内建模块struct的相关内容,具体如下. Python中变量的类型只有列表.元祖.字典.集合等高级抽象类型,并没有像c中定义了位.字节.整型等底层初级类型.因为Python本来就是高级解释性语言,运行的时候都是经过翻译后再在底层运行.如何打通Python和其他语言之间的类型定义障碍,Python的内建模块struct完全解决了所有问题. 知识介绍: 在struct模块中最最常用的三个: (1)struct.pack:用于将Python的值根据格式符,转换为字符串(因

  • springboot+mybatis-plus实现内置的CRUD使用详解

    springboot+mybatis-plus实现内置的CRUD使用详情,具体修改删除操作内容后文也有详细说明 mybatis-plus的特性 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD操作:内置通用 Mapper.通用Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 支持 Lambda形式调用:通过 Lambda 表达式,方

  • Python内置方法实现字符串的秘钥加解密(推荐)

    在实际编程开发中,我们会使用到各类的加密算法来对数据和信息进行加密.比如密码中比较常见的MD5加密,以及AES加密等等. 对于密码认证来说,MD5加密是比较适合的,因为其不需要接触到明文的数据,只需要比对MD5加密后的哈希值就能判断数据是否一致:而对于一些在加密后进行解密的数据而言,AES则更加的常用. 在Python中实现AES算法需要借助的第三方库Crypto,其在各个操作系统上的安装方法有些许复杂,所以对于简单的使用有点杀鸡用牛刀的意思.在Mrdoc的开发过程中,我们就遇到了这样的问题.一

随机推荐