"一等对象":
满足条件: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. 织梦CMS让channelartlist标签支持currentstyle【转】

    打开include\taglib\channelartlist.lib.php找到 $pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]); ...

  2. 【QTP-场景恢复】Post-Recovery Test Run Options Screen

    Post-Recovery Test Run Options Screen When you clear the Add another recovery operation check box in ...

  3. CharSequence与String的区别

    CharSequence与String都能用于定义字符串,但CharSequence的值是可读可写序列,而String的值是只读序列. 原文: http://blog.csdn.net/joy_zha ...

  4. Chat Order (map映射)

     Chat Order Time Limit:3000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit ...

  5. SQLMAP 基础操作

    SQLMAP 基础操作 sudo git clone https://github.com/sqlmapproject/sqlmap GET 请求: -u POST 请求: Option: --dat ...

  6. 恢复 MSSQL bak 文件扩展名数据(上)

    恢复 MSSQL bak 文件扩展名数据 一.概念: Microsoft SQL Server是由美国微软公司所推出的关系数据库解决方案,最新的版本是SQL Server 2016,已经在2016年6 ...

  7. linux awk 文本分析实例 [视频]

    实例: 点我打开哔哩哔哩 实战: 点我打开哔哩哔哩 以下是一个分享: ➜ log Time Now 16:23:35 > awk '/Installed/' yum.log* | awk -F ...

  8. Archlinux 下系统如何设置让 Wine 调用 ibus输入法

    前言: 如果你是fcitx输入法用户,那么这篇文章大可不必看.fcitx是一个非常强大的框架,著名搜狗输入法就是基于fcitx输入法架构开发的.据我所知.您遇到这个问题可以通过卸载ibus输入法进行修 ...

  9. css盒子模型基础,margin-top塌陷,元素溢出

    现在布局不用table,一般用盒子模型来布局,也就是通常说的div+css,一个页面就是多个盒子的拼接   一. 初识盒子模型   例子1,测试盒子各属性设置   <head> <s ...

  10. js的常用方法和对象学习

    js的常用方法和对象学习String对象:操作字符的. 使用:字符串.函数名. 大小写转换: toUpperCase() 转换大写 toLowerCase() 转换小写 function testSt ...