《Python基础教程》附录B笔记:Python参考手册
《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: breakprint(line)
#(11)continue语句:结束所属循环的当前迭代,即跳到下一次迭代开头继续执行。
while True:line = file.readline()if not line: breakif line.isspace(): continueprint(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 countcount += 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 = valuedef double(self):self.value *= 2
相关文章:
《Python基础教程》附录B笔记:Python参考手册
《Python基础教程》第1章笔记👉https://blog.csdn.net/holeer/article/details/143052930 附录B Python参考手册 Python标准文档是完整的参考手册。本附录只是一个便利的速查表,当你开始使用Python进行编程后,它可帮助你唤醒记忆。 B.1 表…...
linux学习(十三)(shell编程(文字,变量,循环,条件,调试))
Shell 编程 Shell 编程,也称为 shell 脚本,是 Linux作系统不可或缺的一部分。shell 脚本实质上是系统 shell 执行的程序。虽然它可能不如 C 或 C 等编译语言强大,但 shell 编程对于管理级任务、自动执行重复性任务和系统监控非常有效。 大多…...
大模型微调中warmup(学习率预热)是什么
大模型微调中warmup(学习率预热)是什么 在大模型微调中,添加warmup(学习率预热)是指在训练初期逐步增加学习率,避免直接使用高学习率导致参数震荡。 🔧 为什么需要warmup? 大模型参数敏感:预训练模型的参数已接近最优,初期用大学习率可能剧烈扰动参数(如“急刹车…...
wireshark 如何关闭混杂模式 wireshark操作
Fiddler和Wireshark都是进行抓包的工具:所谓抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。黑客常常会用抓包软件获取你非加密的上网数据,然后通过分析&#…...
ChatGPT4.5详细介绍和API调用详细教程
OpenAI在2月27日发布GPT-4.5的研究预览版——这是迄今为止OpenAI最强大、最出色的聊天模型。GPT-4.5在扩大预训练和微调规模方面迈出了重要的一步。通过扩大无监督学习的规模,GPT-4.5提升了识别内容中的模式、建立内容关联和生成对于内容的见解的能力,但…...
centos linux安装mysql8 重置密码 远程连接
1. 下载并安装 MySQL Yum 仓库 从 MySQL 官方网站下载并安装 Yum 仓库配置文件。 # 下载MySQL 8.0的Yum仓库包 wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm # 安装Yum仓库包 sudo rpm -ivh mysql80-community-release-el7-5.noarch.rpm2. 启…...
AWS 如何导入内部SSL 证书
SSL 证书的很重要的功能就是 HTTP- > HTTPS, 下面就说明一下怎么导入ssl 证书,然后绑定证书到ALB. 以下示例说明如何使用 AWS Management Console 导入证书。 从以下位置打开 ACM 控制台:https://console.aws.amazon.com/acm/home。如果您是首次使用 ACM,请查找 AWS Cer…...
Unity DOTS从入门到精通之 自定义Authoring类
文章目录 前言安装 DOTS 包什么是Authoring1. 实体组件2. Authoring类 前言 DOTS(面向数据的技术堆栈)是一套由 Unity 提供支持的技术,用于提供高性能游戏开发解决方案,特别适合需要处理大量数据的游戏,例如大型开放世…...
一键换肤的Qt-Advanced-Stylesheets
项目简介 能在软件运行时对 CSS 样式表主题(包括 SVG 资源和 SVG 图标)进行实时颜色切换的Qt项目。 项目预览: 项目地址 地址:Qt-Advanced-Stylesheets 本地编译环境 Win11 家庭中文版 Qt5.15.2 (MSVC2019) Qt Creator1…...
golang 静态库 Undefined symbol: __mingw_vfprintf
正常用golang编译一个静态库给 其他语言 调用,编译时报错 Error: Undefined symbol: __mingw_vfprintf 很是奇怪,之前用用golang写静态库成功过,编译也没问题,结果却是截然不同。 试了很多次,发现唯一的差别就是在 …...
宝塔的ssl文件验证域名后,会在域名解析列表中留下记录吗?
在使用宝塔面板进行SSL证书验证域名后,通常不会在域名解析列表中留下记录。验证过程中添加的TXT记录仅用于验证域名的所有权,一旦验证完成,就可以安全地删除这些记录,不会影响SSL证书的正常使用。根据搜索结果,DNS验证…...
Linux 网络:skb 数据管理
文章目录 1. 前言2. skb 数据管理2.1 初始化2.2 数据的插入2.2.1 在头部插入数据2.2.2 在尾部插入数据 2.2 数据的移除 3. 小结 1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。 2. skb 数据管理 数…...
wireguard搭配udp2raw部署内网
前言 上一篇写了使用 wireguard 可以非常轻松的进行组网部署,但是如果服务器厂商屏蔽了 udp 端口,那就没法了 针对 udp 被服务器厂商屏蔽的情况,需要使用一款 udp2raw 或 socat 类似的工具,来将 udp 打包成 tcp 进行通信 这里以…...
Qwen/QwQ-32B 基础模型上构建agent实现ppt自动生成
关心Qwen/QwQ-32B 性能测试结果可以参考下 https://zhuanlan.zhihu.com/p/28600079208https://zhuanlan.zhihu.com/p/28600079208 官方宣传上是该模型性能比肩满血版 DeepSeek-R1(671B)! 我们实现一个 使用Qwen/QwQ-32B 自动生成 PowerPoi…...
【Linux】使用问题汇总
#1 ssh连接的时候报Key exchange failed 原因:服务端版本高,抛弃了一些不安全的交换密钥算法,且客户端版本比较旧,不支持安全性较高的密钥交换算法。 解决方案: 如果是内网应用,安全要求不这么高…...
PostgreSQL17(最新版)安装部署
PostgreSQL 17已与2024年9月26日正式发布!!! 一、Postgres概述 官网地址:PostgreSQL: The world’s most advanced open source database Postgres作为最先进的开源数据库( the latest version of the world’s most…...
【AI大模型智能应用】Deepseek生成测试用例
在软件开发过程中,测试用例的设计和编写是确保软件质量的关键。 然而,软件系统的复杂性不断增加,手动编写测试用例的工作量变得异常庞大,且容易出错。 DeepSeek基于人工智能和机器学习,它能够依据软件的需求和设计文…...
【高级篇】大疆Pocket 3加ENC编码器实现无线RTMP转HDMI进导播台
【高级篇】大疆Pocket 3加ENC编码器实现无线RTMP转HDMI进导播台 文章目录 准备工作连接设备RTMP概念ENCSHV2推流地址设置大疆Pocket 3直播设置总结 老铁们好! 很久没写软文了,今天给大家带了一个干货,如上图,大疆Pocket 3加ENC编…...
机器人交互系统 部署构建
环境要求 Ubuntu 20.04 或更高版本ROS Noetic 或兼容版本Python 3.8 安装步骤 1. 安装ROS环境(如未安装) sudo apt update sudo apt install ros-noetic-desktop-full source /opt/ros/noetic/setup.bash2. 创建工作空间并克隆代码 mkdir -p ~/code…...
Android Telephony 四大服务和数据网络控制面数据面介绍
在移动通信和Android系统中,涉及的关键概念和服务以及场景案例说明如下: 一、概念 (一)Android Telephony 的四大服务 介绍Telephony Data 与 Android Data 的四大服务在Android系统中,与电话(Telephony)和移动数据(Data)相关的核心服务主要包括以下四类: 1. Tele…...
创建模式-工厂方法模式(Factory Method Pattern)
江城子乙卯正月二十日夜记梦 目的动机简单工厂示例代码 目的 定义一个创建对象的接口,该接口的子类具体负责创建具体的对象。工厂方法模式将对象的实例化延迟到子类。简单工厂是直接在创建方法中负责所有的产品的生成,造成该方法臃肿,并且当…...
文心一言:中国大模型时代的破局者与探路者
2023年,生成式人工智能(AIGC)的浪潮席卷全球,而百度推出的“文心一言”(ERNIE Bot)作为中国AI领域的代表性产品,迅速成为行业焦点。这款基于百度自主研发的“文心大模型”打造的对话式AI工具&am…...
【eNSP实战】交换机配置端口隔离
交换机端口隔离可以实现在同一个VLAN内对端口进行逻辑隔离,端口隔离分为L2层隔离和L3层隔离,这里只进行L2层隔离演示。 拓扑图 路由器AR1配置GE 0/0/1配置IP,其余PC主机各自配置IP和网关。 现将PC1到PC4四个主机全部进行L2层隔离,…...
人脸识别之数据集中 PI20 和 CFMT 之间关联的模型预测贝叶斯(Python+论文代码实现)
代码文件(联系作者点击这里末尾) 代码文件描述如下: subjective_objective.ipynb和:这分别是实际的笔记本和 Web 浏览器友好的只读版本。此笔记本读取数据,执行一些预处理,并包含论文中使用的模型规范。它…...
利用python生成excel中模板范围对应的shape文件
利用python生成excel中模板范围对应的shape文件 # -*- coding: utf-8 -*- import os.pathimport pandas as pd from shapely.geometry import Polygon from shapely.wkt import dumps import argparse# 创建解析器 parser argparse.ArgumentParser(description"这是一个…...
静态时序分析:无法满足的生成时钟(TIM-255警告、UITE-461或PTE-075错误)
相关阅读 静态时序分析https://blog.csdn.net/weixin_45791458/category_12567571.html?spm1001.2014.3001.5482 在阅读本文前,强烈建议首先阅读介绍生成时钟的文章,尤其是其中关于时钟极性和反相的相关内容。 静态时序分析:SDC约束命令cr…...
【亲测有效】Mac系统升级或降级Node.js版本,Mac系统调整node.js版本
有部分兼容性问题需要调整node.js版本 在Mac系统中,升级或降级Node.js版本可以通过使用Node版本管理模块n来实现。以下是具体的步骤: 一、安装Node版本管理模块n 打开终端(Terminal)。 输入以下命令来全局安装n模块: sudo npm install n -g输入后回车,系统会提示输入电…...
maven的项目构建
常用构建命令 命令说明mvn clean清理编译结果(删掉target目录)mvn compile编译核心代码,生成target目录mvn test-compile编译测试代码,生成target目录mvn test执行测试方法mvn package打包,生成jar或war文件mvn insta…...
VSTO(C#)Excel开发2:Excel对象模型和基本操作
初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…...
途游游戏25届AI算法岗内推
熟悉常用的编程语言,如Python、R等,具有良好的编码和调试能力;对常用的机器学习算法和深度学习框架(如TensorFlow、PyTorch等)有深入理解,对大型语言模型有一定了解,具备模型部署和微调的实践经…...
