《Python 学习手册4th》 第四章 介绍Python对象类型

时间:2023-03-09 02:25:52
《Python 学习手册4th》 第四章 介绍Python对象类型
'''
时间: 9月5日 - 9月30日
要求:
1. 书本内容总结归纳,整理在博客园笔记上传
2. 完成所有课后习题
注:“#” 后加的是备注内容
(每天看42页内容,可以保证月底看完此书)
'''

摘要

  Python程序可以分解成模块、语句、表达式和对象:

  1. 程序由模块构成;
  2. 模块包含语句;
  3. 语句包含表达式;
  4. 表达式建立并处理对象。

一. 为什么使用内置类型  #了解即可

  • 内置对象使程序更容易编写
  • 内置对象是扩展的组件
  • 内置对象往往比定制的数据结构更高效
  • 内置对象是语言的标准的一部分

二. Python的核心数据类型

  数字、字符串、列表、字典、元组、文件、集合、其他类型、编程单元类型、与实现相关的类型。

三. 寻求帮助

>>> s = ''
>>> dir(s)
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill'] >>> dir(s.replace)
['__call__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__name__', '__ne__', '__new__', '__qualname__', '__reduce__', '__reduce_ex__', '__repr__', '__self__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']

四. 列表解析

  列表解析是编写在方括号中的,并且由使用了同一个变量名的表达式和循环结构组成。

  简单的实例:

  

>>> y = [i+1 for i in x]
>>> y
[2, 3, 4]

本章习题:

1.列举4个Python核心数据类型的名称。

答:列表、元组、字典、数字、字符串、文件、集合。

2.为什么我们把它们称作是“核心”数据类型。

答:它们被认作是“核心”类型是因为它们是Python语言自身的一部分,并且总是有效的;为了建立其他的对象,通常必须调用被导入模块的函数。大多数核心类型都有特定的语法去生成其对象。

3. "不可变性"代表了什么,哪三种Python的核心类型被认为是具有不可变性的?

答:代表了创建后就不能就地改变;

  数字、字符串、元组

4. “序列”是什么意思,哪三种Python的核心类型被认为是这个分类中的?

答:一个“序列”是一个对位置进行排序的对象的集合。

  列表、元组、字符串

5. “映射”是什么意思,那种Python的核心类型是映射?

答:“映射”,表示将键与相关值相互关联映射的对象。

  字典

6.什么是“多态”,为什么我们要关心多态?

答:“多态”意味着一个操作符(如 + )的意义取决被操作的对象。这将变成使用好Python的关键思想: 不要把代码在特定的类型上,使代码自动适应于多种类型。