"一等对象":
满足条件:1.在运行时创建 2.能赋值给变量或数据结构中的元素 3.能作为参数传递给函数 4.能作为函数的返回结果
[ 整数、字符串、字典、"所有函数" ]等都是一等对象

"什么是函数"
调用:直接使用、不需要类或对象进行调用
定义:定义在模块中、类体外
作用:数据处理

"什么是方法"
调用:不能直接使用、需要类或对象进行调用
定义:定义在类体中
作用:状态处理、状态(对象的属性、类的属性)

"实例方法"
实例方法、接受一个self参数、该参数指向类的实例.
实例方法、通过self参数可以自由地访问同一个对象的属性和其他方法.
实例方法、不仅可以修改对象的状态、还可以修改类的状态、通过self.__class__属性访问类本身.
实例方法、需要一个类的实例对象、并通过self访问实例.

"类的方法"
类的方法、用一个@classmethod装饰器标记.
类的方法、接受一个cls参数、该参数指向类本身、而不是实例.
类的方法、只能访问cls参数、因此无法修改实例对象.
类的方法、仍然可以修改适用于此类的所有实例的类状态.
类的方法、不需要类实例、无法访问实例、但他们可以通过cls访问类本身. 常用于定义备选构造方法

"静态方法"
静态方法、用@staticmethod装饰器标记.
静态方法、既不需要self也不需要cls参数.
静态方法、既不能修改对象状态也不能修改类状态.
静态方法、无法访问cls或self、它们像常规函数一样工作,但属于类的命名空间.
静态方法和类的方法通信并(在某种程度上)强制开发人员 关于类设计的意图、这可以带来维护益处.
将方法标记为静态方法不仅仅是一个方法不会修改类或实例状态的提示 - 这个限制也是由Python运行时强制执行的

"高阶函数"
参数包含函数、或返回值是函数 的函数就是高阶函数。
如内置高阶函数:map、filter、reduce

"匿名函数"
匿名函数就是没有名字的函数、lambda关键字用来创建匿名函数、
lambda函数只能是纯表达式、不能赋值、不能使用while、try等语句、在参数列表中最适合使用匿名函数

"钩子函数"
钩子函数也叫回调函数,是通过函数指针来实现的. 函数的指针可以指向不同的函数, 从而完成不同的功能. 函数指针往往被声明为全局变量. 实例方法见C语言代码

python 初级/中级/高级/核心的更多相关文章

  1. 马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)

    马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)目录详情:18_02_ssl协议.openssl及创建私有CA18_03_OpenSSH服务及其相关应用09_01_磁盘及文 ...

  2. 天草(初级+中级+高级)VIP和黑鹰VIP破解教程(全部iso下载地址)

    以下就是我收集的教程地址,之前我收集到的都是一课一课下载的,虽然这样,我也下载完了天草的全部课程.这里分享的是在一起的iso文件,比起一课课下载爽多了.~~ 还有这些教程都是从零起点开始教的,不用担心 ...

  3. python介绍,计算机核心基础,与运行程序有关的三大核心硬件,操作系统

    python介绍,计算机核心基础,与运行程序有关的三大核心硬件,操作系统 引子 python是什么? 什么是编程语言?为何要有编程语言? 什么是编程?什么是程序?什么是进程?为何要编程? 计算机基础 ...

  4. 进击的Python【第十章】:Python的socket高级应用(多进程,协程与异步)

    Python的socket高级应用(多进程,协程与异步)

  5. 渗透测试工具Nmap从初级到高级使用教程

    本文由阿德马翻译自国外网站,请尊重劳动成果,转载请注明出处,谢谢 Nmap是一款网络扫描和主机检测的非常有用的工具.Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器.它 ...

  6. 渗透测试工具Nmap从初级到高级

    Nmap是一款网络扫描和主机检测的非常有用的工具. Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器.它可以适用于winodws,linux,mac等操作系统.Nmap ...

  7. Python中的高级数据结构详解

    这篇文章主要介绍了Python中的高级数据结构详解,本文讲解了Collection.Array.Heapq.Bisect.Weakref.Copy以及Pprint这些数据结构的用法,需要的朋友可以参考 ...

  8. Python中的高级数据结构(转)

    add by zhj: Python中的高级数据结构 数据结构 数据结构的概念很好理解,就是用来将数据组织在一起的结构.换句话说,数据结构是用来存储一系列关联数据的东西.在Python中有四种内建的数 ...

  9. Python:笔记(4)——高级特性

    Python:笔记(4)——高级特性 切片 取一个list或tuple的部分元素是非常常见的操作.Python提供了切片操作符,来完成部分元素的选取 除了上例简单的下标范围取元素外,Python还支持 ...

随机推荐

  1. redis安装 卸载 启动 关闭

    一 redis安装 第一步:在VMware中安装CentOS(参考Linux教程中的安装虚拟机) 第二步:在Linux下安装gcc环境 [root@hadoop ~]#yum install gcc- ...

  2. POST or GET?

    在web2.0时代,很多网站不再是枯燥的静态页面,也不是那种加上让用户填写一些表单的简单页面.它们已经功能复杂的应用程序.本文,着重改善这些web应用程序出现的问题中的get和post.针对不同需求的 ...

  3. mysql into outfile 和 load data local备份还原

    在 my.ini 的  [mysqld] 节点增加如下配置: secure-file-priv="D:/mysql_secure_file" max_allowed_packet= ...

  4. python 和pycharm 安装

    昨天 我重新装了一个Windows 7 系统 结果很多东西丢了 没有做好备份 其中就有python 和pycharm 今天花了一天时间装 想想也是够了 坑真多 整理一下吧 python 网址:http ...

  5. 用户画像,知乎Live总结

    ttps://www.zhihu.com/lives/889189116527403008/messages 用户画像两层含义:单个标签:用户的分布 标签体系要与时俱进,如果标签被下游强依赖,则不轻易 ...

  6. redis 3.0 集群__数据迁移和伸缩容

    添加节点 1,启动2个新的redis-sever, 参照 ( redis 3.0 集群____安装 ),端口号为 7007 和 7008 2,使用命令 redis-trib.rb add-node 命 ...

  7. docker部署sftp

    一. 按照我博客中搭建sftp的方法做一个docker镜像 这种方法可用,但不是最好的,待改进.可参照另一篇博客:设置多用户不同权限的sftp服务器搭建 1. dockerfile文件如下,当前目录假 ...

  8. IOS开发之——objectForKey与valueForKey在NSDictionary中的差异

    从 NSDictionary 取值的时候有两个方法,objectForKey: 和 valueForKey:,这两个方法具体有什么不同呢? 先从 NSDictionary 文档中来看这两个方法的定义: ...

  9. win7 设置docker加速器

    本来专门已经有了一个源于docker加速器的了,公司的电脑是mac,配置很简单,但是我自己的电脑是win7,在实际操作的时候还真是累啊,官网的教程不知道为什么没起效果,所以最终还是找了其他人发的帖,可 ...

  10. Schema Workbench 启动慢

    原始是JDBC连接设定的时候需要在参数中增加下列选项 FILTER_SCHEMA_LIST 官方的解释是 就是去搜寻连接数据库的所有的表结构,表越大越慢. 也要把这选项去除,保存数据库链接,并重新登录 ...