《Python语言程序设计》——3.5 对象和方法简介

简介:

本节书摘来自华章计算机《Python语言程序设计》一书中的第3章,第3.5节,作者:[美]梁勇(Y. Daniel Liang) 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.5 对象和方法简介

关键点:在Python中,所有的数据(包括数字和字符串)实际都是对象。
在Python中,一个数字是一个对象,一个字符串是一个对象,每个数据都是对象。同一类型的对象都有相同的类型。你可以使用id函数和type函数来获取关于对象的一些信息。例如:


e8e29eb9c4f8af1eafc005032b53ba673c3f9746


ee1238d4d8d945029d7a2869aee6eb10697765c0

当执行程序的时候,Python会自动为对象的id赋一个独特的整数。在程序的执行过程中,对象的id不会改变。然而,每当执行程序时,Python都可能会赋一个不同的id。Python按照对象的值决定对象的类型。第2行显示数字对象n的id,第3行显示的是Python已经被赋值给对象的id,而第4行显示它的类型。
在Python中,一个对象的类型由类决定。例如:字符串的类是str(第15行),整数的类是int(第5行),浮点数的类是float(第10行)。术语“class”来自面向对象程序设计,这些都会在第7章中讨论。在Python中,类(class)和类型(type)是一样的意思。
注意:id和type函数在程序设计里很少用到,但是它们是学习更多有关对象的好工具。
Python中的变量实际上是一个对象的引用。图3-2显示前面的代码中变量和对象之间的关系。


a391bf8372346e3efa23e5c9e1be4a22ce5ea8e1

图3-2 在Python中,每个变量实际就是一个指向对象的引用
第1行的语句“n=3”是将3赋值给了n,实际上是将3赋值给了一个int对象,这个对象是由变量n引用的。
注意:对于n=3,我们可以说n是一个整型变量,其值为3。严格说来,n是一个引用了int对象的变量,而这个int对象的值为3。简单讲,说n是一个值为3的整型变量也可以。
你可以在一个对象上执行操作。操作是用函数定义的。Python中对象所用的函数被称为方法。方法只能从一个特定的对象里调用。例如:字符串类型里有像lower()和upper()这样的方法,它们返回大写字母或小写字母写成的新字符串。下面是一些如何调用这些方法的例子。


fe91702e7a60ffe24c2bbcd6576f57bb306db6e9

第2行调用对象s上的s.lower()方法,返回一个小写字母表示的新字符串,然后将它赋值给s1。第5行调用对象s上的s.upper()函数,返回一个大写字母表示的新字符串,然后将它赋值给s2。
正如你在之前的例子中所看到的那样,一个对象调用方法的语法就是object.method()。
另外一个有用的字符串方法是strip(),它能被用来移除一个字符串两端的空格符。字符' '、t、f、r和n都是空格符。
例如:


3f94c78dc4f31a306ffad0cda2159abeeb290d5b

注意:如果你在Eclipse上使用Python,Eclipse会自动在input函数输入的字符串后追加r。因此,你应该用strip()方法移除字符r:


<a href=https://yqfile.alicdn.com/ed520f9b2f0d29729b0ad701bc6301d4a743749d.png" >

有关处理字符串和面向对象程序设计的更多细节将在第7章中讨论。
检查点
3.12 什么是对象?什么是方法?
3.13 如何找到一个对象的id?如何找到一个对象的类型?
3.14 下面哪种陈述是语句“n=3”最准确的含义?
(a)n是一个拥有整型值3的变量。
(b)n是一个对象的引用,该对象的值为整数3。
3.15 假如s是"tGeorgian",那么s.lower()和s.upper()是什么?
3.16 假如s是"tGoodtMorningn",那么s.strip()是什么?

相关文章
|
1天前
|
Python
【Python进阶(二)】——程序调试方法
【Python进阶(二)】——程序调试方法
|
3天前
|
C++ Python
Python中的类与对象
Python中的类与对象
6 1
|
3天前
|
存储 Linux Shell
python移除/删除非空文件夹/目录的最有效方法是什么?
python移除/删除非空文件夹/目录的最有效方法是什么?
8 0
|
6天前
|
Python
【Python 基础】Python中的实例方法、静态方法和类方法有什么区别?
【5月更文挑战第6天】【Python 基础】Python中的实例方法、静态方法和类方法有什么区别?
|
6天前
|
数据处理 Python
Python中每个字段增加多条数据的高效方法
Python中每个字段增加多条数据的高效方法
11 1
|
6天前
|
存储 数据挖掘 Python
Python技术分享:实现选择文件或目录路径的方法
Python技术分享:实现选择文件或目录路径的方法
16 2
|
6天前
|
数据处理 Python
Python中按指定数量分割列表字符串的方法
Python中按指定数量分割列表字符串的方法
9 1
|
10天前
|
Python
使用Python pandas的sort_values()方法可按一个或多个列对DataFrame排序
使用Python pandas的sort_values()方法可按一个或多个列对DataFrame排序。示例代码展示了如何按&#39;Name&#39;和&#39;Age&#39;列排序 DataFrame。先按&#39;Name&#39;排序,再按&#39;Age&#39;排序。sort_values()的by参数接受列名列表,ascending参数控制排序顺序(默认升序),inplace参数决定是否直接修改原DataFrame。
23 1
|
12天前
|
机器学习/深度学习 数据可视化 前端开发
【Python机器学习专栏】机器学习模型评估的实用方法
【4月更文挑战第30天】本文介绍了机器学习模型评估的关键方法,包括评估指标(如准确率、精确率、召回率、F1分数、MSE、RMSE、MAE及ROC曲线)和交叉验证技术(如K折交叉验证、留一交叉验证、自助法)。混淆矩阵提供了一种可视化分类模型性能的方式,而Python的scikit-learn库则方便实现这些评估。选择适合的指标和验证方法能有效优化模型性能。
|
12天前
|
机器学习/深度学习 算法 Python
【Python机器学习专栏】Python中的特征选择方法
【4月更文挑战第30天】本文介绍了机器学习中特征选择的重要性,包括提高模型性能、减少计算成本和增强可解释性。特征选择方法主要包括过滤法(如相关系数、卡方检验和互信息)、包装法(如递归特征消除和顺序特征选择)和嵌入法(如L1正则化和决策树)。在Python中,可利用`sklearn`库的`feature_selection`模块实现这些方法。通过有效的特征选择,能构建更优的模型并深入理解数据。