《Python基础教程》第1章笔记👉https://blog.csdn.net/holeer/article/details/143052930
附录B Python参考手册
Python标准文档是完整的参考手册。本附录只是一个便利的速查表,当你开始使用Python进行编程后,它可帮助你唤醒记忆。
B.1 表达式
本节总结Python表达式。表B-1列出了Python中最重要的基本值(字面量)。表B-2列出了Python运算符及其优先级(先执行优先级高的运算符,后执行优先级低的运算符)。表B-3描述了一些最重要的内置函数。表B-4~表B-6分别描述了列表的方法、字典的方法和字符串的方法。
表B-1 基本值(字面量)
类型 | 描述 | 语法示例 |
---|---|---|
整数 | 没有小数部分的数字 | 42 |
浮点数 | 有小数部分的数字 | 42.5、42.5e-2 |
复数 | 实数(整数或浮点数)和虚数的和 | 38 + 4j、42j |
字符串 | 不可修改的字符序列 | ‘foo’、“bar”、“”“baz”“”、r’\n |
表B-2 运算符(摘录)
运算符 | 描述 | 优先级 |
---|---|---|
lambda | lambda表达式 | 1 |
… if …else | 条件表达式 | 2 |
or | 逻辑或 | 3 |
and | 逻辑与 | 4 |
not | 逻辑非 | 5 |
in | 成员资格检查 | 6 |
not in | 非成员资格检查 | 6 |
Is | 相同性测试 | 6 |
is not | 不相同测试 | 6 |
< | 小于 | 6 |
> | 大于 | 6 |
<= | 小于或等于 | 6 |
>= | 大于或等于 | 6 |
== | 等于 | 6 |
!= | 不等于 | 6 |
+ | 加 | 11 |
- | 减 | 11 |
* | 乘 | 12 |
@ | 矩阵乘法 | 12 |
/ | 除 | 12 |
// | 整数除法 | 12 |
% | 求余 | 12 |
** | 幂 | 14 |
x.attribute | 属性引用 | 15 |
x[index] | 元素访问 | 15 |
x[index1:index2[:index3]] | 切片 | 15 |
f(args…) | 函数调用 | 15 |
(…) | 将表达式用括号括起或元组视图 | 16 |
[…] | 列表视图 | 16 |
{key:value, …} | 字典视图 | 16 |
表B-3 一些重要的内置函数(摘录)
函数 | 描述 |
---|---|
all(iterable) | 如果iterable的所有元素都为真值,就返回True;否则返回False |
any(iterable) | 如果iterable的所有元素都为假值,就返回False;否则返回True |
bool(x) | 将x解读为布尔值,并返回True或False |
callable(object) | 检查对象是否是可调用的 |
chr(number) | 返回一个字符,其Unicode码点为指定的数字 |
delattr(object,name) | 删除指定对象的指定属性 |
dir([object] ) | 列出当前可见作用域中的(大部分)命令,或列出指定对象的(大部分)属性 |
divmod(a, b) | 返回(a // b, a % b) |
filter(function,sequence) | 返回一个列表,其中包含指定序列中这样的元素,即对其应用指定的函数时,结果为真值 |
frozenset([iterable]) | 创建一个不可修改的集合,这意味着可将其添加到其他集合中 |
hasattr(object,name) | 检查指定对象是否包含指定的属性 |
help([object]) | 调用内置的帮助系统,或打印有关指定对象的帮助信息 |
id(object) | 返回指定对象的独一无二的ID |
len(object) | 返回指定对象的长度(包含的项数) |
map(function,sequence, …) | 创建一个列表,其中包含对指定序列包含的项执行指定函数返回的值 |
ord(char) | 返回指定字符的Unicode码点 |
range([start,]stop[, step]) | 根据参数start(包含,默认为0)、stop(不包含)和step(默认为1)以序列的方式返回指定范围内的一系列值 |
reversed(sequence) | 返回一个反向迭代序列的迭代器 |
round(float[, n]) | 将指定的浮点数圆整到小数点后n位(默认为零位) |
str(object) | 返回指定对象的格式良好的字符串表示 |
super([type[,obj/type]]) | 返回一个将方法调用委托给超类的代理 |
type(object) | 返回指定对象的类型 |
表B-4 列表的方法(摘录)
方法 | 描述 |
---|---|
aList.append(obj) | 将obj追加到aList末尾 |
aList.clear() | 删除aList的所有元素 |
aList.count(obj) | 返回aList中与obj相等的元素个数 |
aList.extend(sequence) | 将sequence追加到aList末尾 |
aList.index(obj) | 返回aList中第一个与obj相等的元素的索引 |
aList.insert(index, obj) | 将指obj加入到index指定的位置 |
aList.pop() | 返回第一个元素并删除 |
aList.remove(obj) | 等同于del aList[aList.index(obj)] |
aList.reverse() | 就地按相反的顺序排列列表的元素 |
表B-5 字典的方法(摘录)
方法 | 描述 |
---|---|
aDict.clear() | 删除aDict的所有项 |
dict.fromkeys(seq[,val]) | 返回一个字典,其中的键来自seq,而值都被设置为val(默认为None)。 |
aDict.get(key[,default]) | 如果aDict``[key]存在,就返回它;否则返回指定的默认值(默认为None) |
aDict.keys() | 返回一个迭代器(视图),其中包含aDict中所有的键 |
aDict.pop(key[, d]) | 删除并返回对应于给定键的值,或给定默认值d |
aDict.popitem() | 在aDict中随机删除一项,并将其以(key, value)对的方式返回 |
aDict.update(other) | 用字典other更新aDict |
表B-6 字符串的方法(摘录)
方法 | 描述 |
---|---|
string.count(sub[, start[,end]]) | 计算子串sub出现的次数 |
string.endswith(suffix[,start[,end]]) | 检查字符串是否以suffix结尾 |
string.find(sub[, start[,end]]) | 返回找到的第一个子串sub的索引 |
string.index(sub[, start[,end]]) | 返回找到的第一个子串sub的索引 |
string.isalpha() | 检查字符串中的字符是否都是字母 |
string.isdigit() | 检查字符串中的字符是否都是数字 |
string.partition(sep) | 在字符串中搜索sep,并返回(sep前面的部分, sep, sep后面的部分) |
string.replace(old,new) | 将字符串中的子串old替换为new,并返回结果 |
string.rfind(sub[,start[,end]]) | 返回找到的最后一个子串的索引,如果没有找到这样的子串,就返回-1 |
string.split([sep[,maxsplit]]) | 返回一个列表,其中包含以sep为分隔符对字符串进行划分得到的结果string.startswith(prefix[,start[,end]]) |
string.strip([chars]) | 将字符串开头和结尾的所有空白字符都删除,并返回结果 |
B.2 语句
本节总结各种类型的Python语句。
B.2.1 简单语句
简单语句只包含一个逻辑行。
#(1)表达式语句:表达式本身可以为语句。
"This module contains SPAM-related functions."
#(2)断言语句:检查条件是否满足,如果不满足,就引发AssertionError异常(并可提供错误消息)。
assert age >= 12, 'Children under the age of 12 are not allowed'
#(3)赋值语句:将变量与值关联起来。可通过序列解包同时给多个变量赋值,还可进行链式赋值。
x = 42 # 简单赋值
name, age = 'Gumby', 60 # 序列解包
x = y = z = 10 # 链式赋值
#(4)增强赋值语句:可使用运算符来增强赋值。在这种情况下,将对变量的当前值和指定的值执行运算符指定的运算,并将变量重新关联到结果。
x *= 2 #将x的值翻倍
x += 5 #将x的值加5
#(5)pass语句:不执行任何操作,可用作占位符。在语法要求的代码块中,如果你不想执行任何操作,可让它只包含pass语句。
try: x.name
except AttributeError: pass
else: print('Hello', x.name)
#(6)del语句:用于将数据结构(映射或序列)的一部分删除。
del seq[42] # 删除序列中的一个元素
del seq[42:] # 删除序列中的一个切片
#(7)return语句:结束函数的执行并返回一个值。如果没有指定值,将返回None。
return # 从当前函数返回None
return 42 # 从当前函数返回42
return 1, 2, 3 # 从当前函数返回(1, 2, 3)
#(8)yield语句:暂停执行生成器,并返回一个值。生成器是一种迭代器,可用于for循环中。
yield 42 # 从当前函数返回42
#(9)raise语句:引发异常。调用它时可不提供任何参数(在except子句中用于重新引发当前捕获的异常)。
raise # 只可用于except子句中
raise IndexError
raise IndexError('index out of bounds')
#(10)break语句:结束它所属的循环语句(for或while语句),并接着执行该循环语句后面的语句。
while True:
line = file.readline()
if not line: break
print(line)
#(11)continue语句:结束所属循环的当前迭代,即跳到下一次迭代开头继续执行。
while True:
line = file.readline()
if not line: break
if line.isspace(): continue
print(line)
#(12)import语句:用于从外部模块导入名称(与函数、类或其他值相关联的变量)。此外,from __future__ import语句用于导入在未来的Python版本中将包含在标准中的功能。
import math
from math import sqrt
from math import sqrt as squareroot
from math import *
#(13)global语句:用于将变量标记为全局的。在函数中,可使用它给全局变量重新赋值。应尽量避免使用它。
count = 1
def inc():
global count
count += 1
B.2.2 复合语句
复合语句包含一组其他的语句(代码块)。
#(1)if语句:用于有条件地执行,可包含elif和else子句。
if x < 10:
print('Less than ten')
elif 10 <= x < 20:
print('Less than twenty')
else: print('Twenty or more')
#(2)while语句:用于在指定条件为真时反复地执行(循环)。可包含else子句,这种子句将在循环正常结束时执行。
x = 1
while x < 100:
x *= 2
print(x)
#(3)for语句:用于对序列的元素或其他可迭代对象(包含返回迭代器的方法__iter__的对象)反复地执行(循环),可包含else子句。
for i in range(10, 0, -1):
print(i)
print('Ignition!')
#(4)try语句:用于执行可能发生异常的代码段,让程序能够捕获这些异常并执行异常处理代码。可包含多个except子句(用于处理异常)和finally子句(这种子句不管情况如何都将执行,可用于执行清理工作)。
try:
1 / 0
except ZeroDivisionError:
print("Can't divide anything by zero.")
finally:
print("Done trying to calculate 1 / 0")
(5)with语句:用于包装使用上下文管理器的代码块,让管理器能够执行一些设置和清理操作。比如,可将文件用作上下文管理器,这样它们将在执行清理工作时关闭自己。
with open("somefile.txt") as myfile:
dosomething(myfile)
# 到这里时文件已关闭
(6)函数定义:用于创建函数对象以及将全局或局部变量与函数对象关联起来。
def double(x):
return x * 2
(7)类定义:用于创建类对象以及将全局或局部变量与类对象关联起来。
class Doubler:
def __init__ (self, value):
self.value = value
def double(self):
self.value *= 2