[oeasy]python086方法_method_函数_function_区别

简介: 本文详细解析了Python中方法(method)与函数(function)的区别。通过回顾列表操作如`append`,以及随机模块的使用,介绍了方法作为类的成员需要通过实例调用的特点。对比内建函数如`print`和`input`,它们无需对象即可直接调用。总结指出方法需基于对象调用且包含`self`参数,而函数独立存在无需`self`。最后提供了学习资源链接,方便进一步探索。

[oeasy]python086方法_method_函数_function_区别

回忆

  • 上次了解了 list 列表的操作
  • 追加列表项 append
  • 在列表的结尾处 追加列表项

  • lst.append
  • lst 是 list类 的 实例对象
  • append 是具体的方法
  • 中间(.) 点 的意思 是 里面的
  • 就像time.asctime()
  • 我们还学过什么模块来着?🤔

随机方法

  • 随机模块

  • 以前玩过的 验证码
import random
help(random)
  • Random 是 一个类

  • randint是 怎么 调用的呢?

具体方法

random.randint
  • random.randint其实是
  • Random类 对象的
  • 成员(member)方法(method)

  • 能直接查看
  • randint方法的 手册 吗?

帮助手册

help(random.randint)
  • 对着方法 喊救命

  • 我们回到
  • 列表类 的
  • 实例对象
  • instance object

实例里面的方法

help(name_list)
  • 进入 list类的 帮助文档

  • 这里面 列出了 list类所有的方法

翻页

  • ctrl + f
  • forward 向前翻页
  • 找到append

  • name_list.append
  • name_list 是
  • list类 的实例对象
  • .(点) 是 里面的
  • append 是 list类的成员方法
  • 如何快速查找到 append方法的 帮助 呢??🤔

帮助手册

  • 先q退回到游乐场
help(list)
  • 重复之前的方式 查看手册

  • 帮助说以下的
  • 都是方法(method)
  • 传统方法是 ctrl + f往下翻
  • 可以在list类的帮助里面
  • 快速定位 到append 吗?

帮助手册

  • 先q退回到游乐场
help(list)
  • help(list)
  • /append
  • 在帮助中查找append
  • 可以直接定位到append的帮助

  • n 找到一个 append
  • N 找到一个 append

仔细观察

  • append 成员方法
  • 是 list列表类的 成员方法

  • 用法 类似于 函数
  • 但属于 是类的成员方法
  • 作用是 在列表尾部 追加元素
  • 两个参数
  1. 第一个 是 对象实例自身 self
  2. 第二个 是 被追加的元素对象
  • 还可以更快、更明确吗?
  • 先按q 退出帮助
  • 回到 游乐场

直接找到

  • 查找类的方法
help(list.append)
  • 查询结果

  • 可以根据list的实例对象
  • 来查方法的帮助吗?

尝试

  • 查找实例的方法
help(lst.append)
  • 都可以找到append的帮助手册

  • 但这种情况是没有self的
  • 因为self已经明确为lst对象了
  • append 方法 前面必须得有对象吗?

尝试

append
  • append
  • 直接用根本就不认识

  • 函数 和 方法
  • 有什么相同吗?

相同之处

  • 成员方法(method) 和 内建函数(function) 很像
  1. 都有括号
  2. 括号里 都有参数
  3. 都会执行 设计好的 代码

  • 既然有了函数
  • 为什么还要 方法呢?

分别调用

  • 下面有 两个 列表对象
  1. 名单 name_list
  2. 数字列表 num_list
honglou_list = ["贾宝玉", "林黛玉", "薛宝钗", "史湘云", "晴雯"]
sanguo_list = ["刘备","关羽","张飞","赵云"]
honglou_list.append("刘姥姥")
sanguo_list.append("诸葛亮")
honglou_list
sanguo_list
  • 两个 列表 对象
  • 分别 追加自己的 列表项
  • 互不影响

  • 根据 这个特性 可以做点好玩的吗?

废话生成器

现代诗歌

  • 找到诗人的常用词汇
  • 分门别类 建立 列表
  • 开始作诗

  • 列表对象 各调各的append方法
  • 这和 函数 有什么不同吗?

不同

  • print函数
  • 没有self作为第一个参数的

  • 为啥 函数function
  • 就没有self呢?

函数

  • print函数 直接 自己就能用
  • 不需要 被所有者 调用
  • input 也是
  • 没有 self这个参数
  • 自己就能运行

  • 这说明什么?

内建函数

  • 内建函数

  • 其实 function前面
  • 有一个定语
  • built-in
  • 内建的

  • 这些函数
  • 直接建立 在 python 里面
  • 独立存在
  • 不需要任何的类
  • 不需要任何对象
  • 函数都这样吗?

ord函数

help(ord)
  • 没有self

  • 还有他的逆函数
help(chr)
  • 同样没有self

区分

  • locals 就是
  • 内建的 built-in 的函数(function)
  • 不需要任何类或者对象来调用
  • 直接写就行

  • append
  • 不是 内建的函数
  • 需要有个 self 进行调用

总结

  • 这次了解了 方法 和 函数的 不同之处
方法(method) 函数(function)
需要对象调用 无需对象调用
根据 对象名字 调用 无需名字 直接调用
基于类的对象 独立的
需要self 不需要self

相关文章
|
5月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
348 1
|
5月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
721 1
|
5月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
299 0
|
6月前
|
设计模式 缓存 监控
Python装饰器:优雅增强函数功能
Python装饰器:优雅增强函数功能
320 101
|
5月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
243 4
|
C# Python
Python中的module,library,package之间的区别
背景 Python中有一些基本的名词,很多人,尤其是一些初学者,可能听着就很晕。 此处,简单总结一下,module,library,package之间的大概区别。 Python中的module的简介 module,中文翻译为:模块 Python中的module,说白了,就是Python文件,而python文件一般后缀为py,所以就是你的xxx.py而已。
1897 0
|
6月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
747 102
|
6月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
411 104
|
6月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
324 103
|
6月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
268 82

推荐镜像

更多