本笔记是基于《Python学习手册-原书第五版》第四章 介绍Python对象类型的个人理解。
Python的程序结构是什么?
Python程序可以分解成模块、语句、表达式以及对象。
程序由模块组成,模块包含语句,语句包含表达式,表达式包含对象。
编程的三大支柱是什么?
1.顺序语句——执行这一条,然后下一条
2.选择语句——当选择值为真时执行这一条,为假时执行那一条
3.循环语句——重复执行这一条
Python中还有函数和类的概念。
什么是内置类型?
内置类型将常用的步骤进行封装。用户可以直接使用内置类型,而不必考虑诸如如何部署内存结构,管理内存分配,实现搜索和读取例程等又无聊又容易出错的工作。
内置对象使程序更容易编写。是可扩展的组件。比定制的数据结构更有效率。是语言标准的一部分。
Python的核心数据类型有哪些?
1.数字——整数,浮点数,复数,有理数,全功能集等
2.字符串str
3.列表list
4.字典dict
5.元组tuple
6.文件
7.集合set
8.其他核心类型——类型、None、布尔型(0/1)
9.程序单元类型——函数(def)、模块(.py)、类(class)
10.Python实现相关类型——已编译代码,调用栈跟踪
Python是如何确定对象的类型的?
Python中没有类型声明,运行的表达式的语法决定了创建和使用的对象的类型。
什么是字符串?字符串的操作有哪些?
字符串是由单字符的字符串所组成的不可变序列。
# 创建一个字符串
>>> S = 'Python'
# 求字符串的长度
>>> len(S)
6
# 索引下标为0的元素
>>> S[0]
'P'
# 索引下标为-1的元素
>>> S[-1]
'n'
# 下标负值等同于下标(len()+负值)值
>>> S[len(S)-1]
'n'
# 切片操作
>>> S[1:2]
'y'
# 拼接操作--生成新字符串
>>> S + 'Java'
'PythonJava'--生成新字符串
# 重复操作
>>> S * 2
'PythonPython'
# find方法寻找子字符串出现的位置
>>> S.find('o')
# replace方法替换子字符串--生成新字符串
>>> S.replace('o', 'ooo')
'Pythooon'
# upper方法将字符串变为大写
>>> S.upper()
'PYTHON'
# isalpha方法判断是否为纯字母字符串
>>> S.isalpha()
True
# dir()函数查询字符串可用方法
>>> dir(S)
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__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', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
# help函数查询查询字符串方法的使用说明
>>> help(S.replace)
Help on built-in function replace:
replace(old, new, count=-1, /) method of builtins.str instance
Return a copy with all occurrences of substring old replaced by new.
count
Maximum number of occurrences to replace.
-1 (the default value) means replace all occurrences.
If the optional argument count is given, only the first count occurrences are
replaced.
什么是元组?
元组是由对象组成的不可变序列。
# 创建一个元组
>>> T = (1,2,3,4)
# 元组拼接
>>> T + (5,6)
(1, 2, 3, 4, 5, 6)
# 元组重复
>>> T * 2
(1, 2, 3, 4, 1, 2, 3, 4)
# 索引
>>> T[0]
1
# 切片
>>> T[1:2]
(2,)
# index方法寻找元素的下标
>>> T.index(4)
3
# index方法寻找元素出现的次数
>>> T.count(4)
1
什么是列表?
列表是由对象组成的的可变序列。
# 创建一个列表
>>> L = [1,2,3,'Python']
# 索引
>>> L[0]
1
# 切片
>>> L[1:2]
[2]
# 拼接
>>> L + [5,6]
[1, 2, 3, 'Python', 5, 6]
# 重复
>>> L * 2
[1, 2, 3, 'Python', 1, 2, 3, 'Python']
# append方法在尾部增加元素
>>> L.append('Java')
>>> L
[1, 2, 3, 'Python', 'Java']
# pop方法删除下标指向元素并返回删除的元素
>>> L.pop(2)
3
>>> L
[1, 2, 'Python', 'Java']
什么是字典?
字典是一种mapping——映射的无序集合。通过key——键来存储位置信息。通过value来存储值。
# 创建一个字典
>>> D = {'brand':'xiaomi', 'price':2999, 'color':'pink'}
# 通过键寻找值
>>> D['brand']
'xiaomi'
# 通过键修改值
>>> D['price'] += 1000
>>> D
{'brand': 'xiaomi', 'price': 3999, 'color': 'pink'}
可变集合有哪些?不可变集合有哪些?
不可变就是不能在原位置进行修改。
不可变集合有数字,字符串和元组。
可变集合有列表,字典和集合。
什么是文件?
文件对象是Python代码调用电脑上存放的外部文件的主要接口。