博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day34-3 类和对象小知识
阅读量:6623 次
发布时间:2019-06-25

本文共 1746 字,大约阅读时间需要 5 分钟。

目录

属性查找顺序

  • 属性查找顺序:先从对象自身查找,对象没有就去类中查找,类中没有则报错
class Student:    name = 'xxx'        def __init__(self, name):        self.name = name        stu1 = Student('张三')print(stu1.name)
张三

类与对象的绑定方法

class Student:    school = 'a中'        def __init__(self, num, name, age):        self.num = num        self.name = name        self.age = age            def eat(self):        print(self.school)        print(self.name)        self.num += 1        print(f'{self.num} is eat')        print(id(self))    stu1 = Student(1, '张三', 19)# Student.eat(111)          # 在这里self=111,所以会报错,以为111没有school用法stu1.eat()print(id(stu1))
a中张三2 is eat2874406763320       # 说明self和stu1是同一个东西2874406763320
  • 针对类而言:eat里的self就是正常传入的参数
  • 针对对象而言:eat里的self就是对象本身

类与数据类型

  • Python中一切皆对象
lis = [1, 2, 3]     # 和下面代码等价,就是一个实例化对象的过程,只是简写了lis1 = list([1, 2, 3])print(type(lis))        # 
类型就是一个名为list的类lis.append(5) # 和下面代码等价,就是一个查找类中方法的过程list.append(lis1, 5)print(lis)print(lis1)
[1, 2, 3, 5][1, 2, 3, 5]

对象的高度整合

  • 在类中封装了一大堆属性,然后又封装了一大堆方法(专门用来控制这些属性),并且在这基础之上,对于不同的对象,这些属性和方法又不相同。
  • 个人理解有点类似于闭包
class Student:    def __init__(self, num, name, age):        self.num = num        self.name = name        self.age = age            def eat(self):        print(self.name, '开始吃饭了')            def sleep(self):        print(self.name, '开始睡觉了')        zhangsan = Student(1, '张三', 19)lisi = Student(2, '李四', 20)zhangsan.eat()lisi.eat()
  • 闭包函数
import requestsdef outter(url)    def sqider():        response = requests.get(url)        response.encoding = 'gb2312'        data = response.text        return data    return sqider    xiaohuar = outter('http://www.xiaohuar.com')print(xiaohuar)print(xiaohuar)
  • 只是闭包外面套了个函数,而对象外面套了个类

转载于:https://www.cnblogs.com/lucky75/p/11047823.html

你可能感兴趣的文章
java 自适应响应式 网站 源码 SSM 生成 静态化 手机 平板 PC
查看>>
eoLinker-API_Shop_通讯服务类API调用的代码示例合集:短信服务、手机号归属地查询、电信基站查询等...
查看>>
因为小程序的scroll-view组件不能下拉刷新我做了个开源项目
查看>>
JavaScript 垃圾回收机制
查看>>
震惊! 这么实用的 chrome 扩展你居然没用过!
查看>>
前端面试回忆录 - 滴滴篇 - 凉面
查看>>
jxl导入Excel 切割List 并使用MyBatis批量插入数据库
查看>>
BMIP002协议介绍
查看>>
关于近期对于okuex数字货币合约不正当言论做出以下说明
查看>>
使用k3s减少k8s成本
查看>>
Node 入门级别的爬虫(青铜)
查看>>
过滤器
查看>>
Linux ln 软、硬链接命令
查看>>
前端的一些基础知识
查看>>
k8s拾遗 - NodePort Range 设置
查看>>
如何学习 Spring ?学习 Spring 前要学习什么?
查看>>
css动画
查看>>
你的小甜甜,一对一交友源码,快来找我吧
查看>>
LeetCode 96——不同的二叉搜索树
查看>>
2019哪里可以进行高层次人才扶持政策申报?
查看>>