美文网首页
关于类型和对象

关于类型和对象

作者: HHHHUA | 来源:发表于2018-08-02 21:40 被阅读30次

类型都有自己的特点!

Python中类型,一旦定义,就会自动添加特有的一些属性和行为,是从python定义的基础类型继承过来的!

面向对象:一切皆对象-> python中所有的东西都是由一个超级原始对象衍生出来的!

自己定义的类型~都会继承原始的这个对象~继承该对象的属性和行为

object – type

自定义类型,继承的[双下划綫开头和结尾的属性和函数]:魔法属性、魔法方法

魔法属性/方法:已经具备了一定功能的固有的属性和方法!

(1)]常见魔法属性和方法

输出:__str__():输出当前对象在内存中的地址十六进制表示字符串!

            __repr__(): 用于在交互模式下,直接操作变量时~获取变量数据的定义!

比较:__gt__():grant than大于

            __lt__(): less than小于

            __ge__(): grant or equals大于或者等于

            __le__(): less or equals小于或者等于

            __ne__(): not equals 不等于

            __eq__(): equals 等于

运算:__add__():加法

            __sub__():减法

            __mul__():乘法

            __truediv__():除法

            __floordiv__():整除

用户类型->创建多个对象-> 存放到一个集合中

[账号、密码、昵称]-> 需求认为:用户对象需要存放到一个集合中,不能存放重复账号的用户~如果账号相同~不能重复!

    定义一个用户类型[User]

    创建5个用户对象->2个用户对象和其他账号重复了-> 存放到一个集合中

    集合中不能存放重复账号的对象->结果:集合中只有三个用户对象!

    集合:可以存放多个数据,但是不能重复[哈希算法进行比较]

    对象:对象不是基础类型,不能直接操作~重写哈希算法和比较函数

    __hash__()    __eq__()

    实现:对象在集合中的剔重!


有一个列表中,包含了大量的数字数据,如果要剔除列表中的重复数字?

nums = [1,2,3,2,3,3,2,4,5,6,7,5,4,6,8,8,98,6,5]

nums_set = set(nums)

nums = list(nums_set)

面向对象:类型中公共的属性和方法

类:类型、数据类型、通过class关键字自定义的类型

通过类型创建对象,对象中包含了我们需要的属性数据和操作方法

该类型创建的所有对象,互相都是独立的!

但是:总有一些数据,是该类型所有的对象公共的!如~所有人都有一个最大年龄!

面向对象中~类型中提供了这样的操作:用于给所的对象提供公共的属性和操作方法

(1)公共属性:类属性

声明在类型的内部,方法的外部的属性!

普通属性:声明在方法中,通过self声明的~成员属性,是每个对象特有的!

(2)类型中的方法

成员方法/实例方法:就是属于类型的普通方法

    def 方法名称(self, ..):

成员方法,必须通过对象.成员方法() 调用!

类方法:属于当前类型的方法,可以通过类型、该类型的对象进行调用

@classmethod

def 类方法(cls, ..):

类方法:使用较少~特殊需求~在方法中要对当前类型进行操作:考虑使用类方法

静态方法:类型中的函数

可以被所有的对象、包括类型名称,进行调用

参数声明和普通函数没有任何区别!

@staticmethod

     def 静态方法(..):

相关文章

  • 关于类型和对象

    类型都有自己的特点! Python中类型,一旦定义,就会自动添加特有的一些属性和行为,是从python定义的基础类...

  • 《重学前端》笔记: 101 JavaScript: 类型和对象

    《重学前端》笔记: 模块一: JavaScript: 类型和对象 JavaScript类型:关于类型,有哪些你不知...

  • OC 中自己的一些疑问(1)

    关于 nil Nil NULL NSNull 的区别 2.关于对象类型和相等的判断 3.关于id 和 insta...

  • 对象和类型

    1.类和对象有什么区别 Java的类用class关键字定义,它代表了一种抽象的集合,例如,动物类,植物类,在它里边...

  • 对象和类型

    学生的属性 姓名 性别 年龄 身高 体重 籍贯 五种基本对象类型 字符串string,简记为str使用''或""括...

  • 基础类型和对象类型

    静态类型分为两种,基础类型和对象类型 基础类型包括 number string null undefined sy...

  • CodeWars-Find the next perfect s

    今天的题目,加深了关于对象类型以及函数和对象方法的理解。 一.题目 You might know some pre...

  • 对象

    1.对象分为值类型和引用类型 值类型(不是对象) 引用类型(都是对象) 类型的判断值类型判断用typeof引用类型...

  • 关于基本类型、引用类型和对象的拷贝

    在JS中,有六种数据类型,分别是数值(Number)、字符串(String)、布尔型(Boolean)、undef...

  • J.U.C 原子类系列之AtomicIntegerFieldUp

    之前写了几篇关于基本数据类型的原子类、数组类型的原子类和引用对象类型的原子类,重点介绍了AtomicInteger...

网友评论

      本文标题:关于类型和对象

      本文链接:https://www.haomeiwen.com/subject/ihfevftx.html