当前位置: 首页 > article >正文

新手学习Python第十天-新手笔记(速学)

一、特殊方法和特殊属性

1.1 特殊属性

    __dict__:获得类对象或实例对象所绑定的所有属性和方法的字典

1.2 特殊方法:

1.2.1 .__len__:通过重写__len__()方法,让内置函数len()的参数可以是自定义类型 长度

1.2.2 __add__():通过重写__add__()方法,可使用自定义对象具有“+”“功能

1.2.3.__new__():用于创建对象

1.2. 4.__init__():对创建的对象进行初始化

1.3 __add__()

a=100
b=20
c=a+b   #两个整数类型的对象相加操作
d=a.__add__(b)  #底层逻辑

print(c)
print(d)

整数相加的底层语法结构用__add__就是:c=a.__add__(b)

那么我让字符串相加呢?

class Student:
    def __init__(self,name):
        self.name=name
stu1=Student('张三')
stu2=Student('李四')
s=stu1+stu2
print(s)

结果错误,怎么办?这个时候就用到了__add__

class Student:
    def __init__(self,name):
        self.name=name
    def __add__(self,other):
        return self.name+other.name
stu1=Student('张三')
stu2=Student('李四')
s=stu1+stu2
print(s)

r=stu1.__add__(stu2)
print(r)

__add__() 语法结构

1.4__len__()

len(函数对象名)   或者   对象名+.+__len__()

lst=[11,22,33]
print(len(lst))
print(lst.__len__())

如果print(len(stu1))的话,那就报错。

所以在上面需要

def __len__(self):
    return len(self.name)

再print(len(stu1))就可以了 

1.5__new__:创建对象

从明天开始起,高强度学习  以后就没有休息喽  

打算以后6:00前到实验室,中午睡一小时,晚上10:00回寝室


http://www.kler.cn/news/313809.html

相关文章:

  • 【深度学习】(1)--神经网络
  • Pytorch Lightning框架
  • Java集合(List篇)
  • SpringBootAdmin源码修改编译002_踩坑记录一堆坑_记录过程_没有成功---VUE工作笔记0027
  • linux 操作系统下dhcrelay命令介绍和案例应用
  • 28V_1MHZ电子烟,无线鼠标,医疗器械等专用恒频升压转换器超小体积封装
  • 用户态缓存:高效数据交互与性能优化
  • Spring Boot中的响应与分层解耦架构
  • C一语言—动态内存管理
  • 24年蓝桥杯及攻防世界赛题-MISC-1
  • 力扣最热一百题——除自身以外数组的乘积
  • 【学术会议:中国厦门,为全球的计算机科学与管理科技研究者提供一个国际交流平台】第五届计算机科学与管理科技国际学术会议(ICCSMT 2024)
  • win10下使用docker、k8s部署java应用
  • Flask 第六课 -- 路由
  • 如何在Linux下升级R版本和RStudio
  • 2024华为杯研赛E题保姆级教程思路分析
  • Linux进阶命令-rsync
  • B-树底层原理
  • 英语六级-学习
  • uv-ui组件的使用——自定义输入框的样式
  • 【2020工业图像异常检测文献】SPADE
  • 数据中台系统产品原型RP原型Axure高保真交互原型 源文件分享
  • 08_React redux
  • AI大模型之旅--milvus向量库安装
  • 软件设计师——操作系统
  • API安全推荐厂商瑞数信息入选IDC《中国数据安全技术发展路线图》
  • 【C#】内存的使用和释放
  • SpringBoot 处理 @KafkaListener 消息
  • 专访阿里云:AI 时代服务器操作系统洗牌在即,生态合作重构未来
  • Java面试——集合篇