python学习笔记-关键字

Python中的关键字是一组被编程语言保留用于特定目的的单词。这些关键字具有特殊含义,不能被用作变量名或标识符。下面是python中的关键字:

False      await      else       import     pass
None       break      except     in         raise
True       class      finally    is         return
and        continue   for        lambda     try
as         def        from       nonlocal   while
assert     del        global     not        with
async      elif       if         or         yield

另外我们还可以通过 keyword模块获取关键字信息,通过help函数获取帮助信息:

import keyword
for kw in keyword.kwlist:print(kw,end=" ")
print()
print('='*50)
help("yield")控制台输出:
False None True and as assert async await break class continue def del elif else except finally for from global if import in is lambda nonlocal not or pass raise return try while with yield 
==================================================
The "yield" statement
*********************yield_stmt ::= yield_expressionA "yield" statement is semantically equivalent to a yield expression.
The yield statement can be used to omit the parentheses that would
otherwise be required in the equivalent yield expression statement.
For example, the yield statements

False

表示布尔类型的假值。

True

表示布尔类型的真值。

None

表示一个空值或者什么都没有。

x = None
if x is None:print("x is None ")print(type(x))
else:print("x is not None")==================================================
x is None
<class 'NoneType'>

and

逻辑与操作符。

x = True
y = False
z = x and y
print(z)  # 输出 False

or

逻辑或操作符。

x = True
y = False
z = x or y
print(z)  # 输出 True

not

逻辑非操作符。

x = True
y = not x
print(y)  # 输出 False

if

条件语句,用于根据条件执行不同的代码块。

elif

条件语句中的"else if",用于指定多个条件。

else

条件语句中的默认分支。

x = 10
if x > 5:print("x is greater than 5")
elif x < 5:print("x is less than 5")
else:print("x is equal to 5")

for

循环语句,用于迭代可迭代对象中的元素。

while

循环语句,用于在条件为真时重复执行代码块。

break

用于在循环中终止循环。

continue

用于跳过当前循环的剩余代码,继续下一次循环。

def

定义函数。

return

用于从函数中返回值。

def add(x, y):return x + yresult = add(3, 4)
print(result)  # 输出 7

class

定义类。

try

异常处理语句的开始部分。

except

异常处理语句的分支,用于捕获特定类型的异常。

finally

异常处理语句的分支,在无论是否发生异常时都会执行的代码块。

try:x = 10 / 0
except ZeroDivisionError:print("Error: division by zero")
finally:print("Finally block executed")

raise

用于引发异常。

x = -1
if x < 0:raise ValueError("x cannot be negative")

import

用于导入模块或者模块中的函数、类等。

from

从模块中导入特定的函数、类等。

as

用于给模块或者变量起别名。

from math import sqrt as sq
print(sq(16)) #输出4.0

lambda

创建匿名函数。

add = lambda x, y: x + y
print(add(3, 4))  # 输出 7

pass

占位符,不执行任何操作,用于保持代码结构完整性。

def my_function():pass

global

声明全局变量。

x = 10
def my_function():global xx = 20
my_function()
print(x)  # 输出 20

nonlocal

用于在嵌套函数中声明外部嵌套作用域中的变量。在嵌套函数中,通常可以访问外部函数的局部变量,但如果要在内部函数中修改外部函数的局部变量,就需要使用 nonlocal 关键字。

def outer_function():x = 10  # 外部函数的局部变量def inner_function():nonlocal x  # 声明要修改的外部函数的局部变量x = 20  # 修改外部函数的局部变量inner_function()print("Outer function's local variable x:", x)outer_function()

输出20 没有nonlocal 输出10

async

声明异步函数。

  • async 关键字用于定义异步函数,标志着函数是一个协程(Coroutine),可以在其中使用 await 关键字来等待异步操作的完成。
  • 异步函数会立即返回一个协程对象,而不是实际执行函数体内的代码。

await

用于等待异步操作完成。

  • await 关键字用于暂停异步函数的执行,等待另一个异步操作的完成。它只能在异步函数内部使用。
  • 当遇到 await 关键字时,事件循环(Event Loop)会挂起当前协程的执行,执行其他协程或者异步操作,直到被等待的异步操作完成。
import asyncioasync def my_async_function():print("Start of async function")await asyncio.sleep(1)  # 等待1秒钟print("End of async function")# 调用异步函数
asyncio.run(my_async_function())

 在异步编程中,asyncawait 关键字通常与 asyncio 模块一起使用,用于定义和执行异步操作,以实现并发执行和非阻塞 I/O。

with

创建上下文管理器,用于管理资源,确保在使用后正确地释放资源。

with open("example.txt", "r") as file:data = file.read()print(data)

assert:

用于在编写代码时进行断言测试。它用于在代码中设立断言(Assertion),如果断言为假,则会触发 AssertionError 异常。

x = 10
assert x == 10
print("Assertion passed")assert x == 5,"x must be equal to 10" 
print("Assertion passed")控制台输出
Assertion passed
Traceback (most recent call last):File "d:\python\test\test_bif.py", line 5, in <module>assert x == 5,"x must be equal to 10"
AssertionError: x must be equal to 10

del

  del 是用于删除对象的引用,可以删除变量、列表中的元素、字典中的键值对等。

in

  in 是用于检查某个值是否存在于序列(如列表、元组、字典等)中的关键字。

is

  is 是用于检查两个对象是否指向同一个内存地址的关键字。

x = [1, 2, 3]
y = [1, 2, 3]
z = xprint(x is y)  # 输出 False,因为 x 和 y 指向不同的内存地址
print(x is z)  # 输出 True,因为 x 和 z 指向同一个内存地址

yield :

用于定义生成器(Generator)。生成器是一种特殊的迭代器,可以在循环中逐个地产生值,而不需要一次性将所有值存储在内存中。

yield 关键字用于在生成器函数中生成值,并将生成的值返回给调用者。与 return 不同,yield 会暂停函数的执行,并保留函数的状态,以便在下一次调用时继续执行。

def my_generator():yield 1yield 2yield 3gen = my_generator()print(next(gen))  # 输出 1
print(next(gen))  # 输出 2
print(next(gen))  # 输出 3

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/707875.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Bicycles(变形dijkstra,动态规划思想)

Codeforces Round 918 (Div. 4) G. Bicycles G. Bicycles 题意&#xff1a; 斯拉夫的所有朋友都打算骑自行车从他们住的地方去参加一个聚会。除了斯拉维奇&#xff0c;他们都有一辆自行车。他们可以经过 n n n 个城市。他们都住在城市 1 1 1 &#xff0c;想去参加位于城市…

Day 59 | 动态规划 583. 两个字符串的删除操作、 72. 编辑距离、编辑距离总结篇

583. 两个字符串的删除操作 题目 文章讲解 视频讲解 class Solution {public int minDistance(String word1, String word2) {int len1 word1.length();int len2 word2.length();int[][] dp new int[len1 1][len2 1];for (int i 1; i < len1; i) {for (int j 1; j …

华纳云:oracle数据库启动与关闭的方法

在Oracle数据库中&#xff0c;您可以使用 SQL*Plus 工具或者 SQL Developer 来启动和关闭数据库实例。以下是在 Oracle 数据库中启动和关闭数据库实例的一般步骤&#xff1a; 启动 Oracle 数据库实例&#xff1a; 使用 SQL*Plus 启动数据库&#xff1a; 打开终端或命令提示符窗…

c++学习:字符串string类

C语言中对字符串的表示通常用指针&#xff0c;新手会面临内存泄漏或者段错误等众多问题。 在 C 中&#xff0c; string 类是标准库的一部分&#xff0c;用于表示和操作字符串。它是对传统的 C 风格字符串&#xff08;以空 字符 \0 结尾的字符数组&#xff09;的一个更安全、更…

防御第六次作业

DPI DPI --- 深度包检测技术 --- 主要针对完整的数据包&#xff08;数据包分片&#xff0c;分段需要重组&#xff09;&#xff0c;之后对数据包的内容进行识别。&#xff08;应用层&#xff09; 1&#xff0c;基于“特征字”的检测技术 --- 最常用的识别手段&#xff0c;基于…

dolphinscheduler海豚调度(三)SQL任务

在之前的博文中&#xff0c;我们已经介绍了DolphinScheduler海豚调度的基本概念和模块&#xff0c;安装部署和元数据切换&#xff0c;以及Shell任务的实践。今天&#xff0c;让我们来深入探讨DolphinScheduler中另一种常见的任务类型&#xff1a;SQL任务。 SQL任务是DolphinSc…

10:00面试,10:05就出来了,问的问题过于变态了。。。

我从一家小公司转投到另一家公司&#xff0c;期待着新的工作环境和机会。然而&#xff0c;新公司的加班文化让我有些始料未及。虽然薪资相对较高&#xff0c;但长时间的工作和缺乏休息使我身心俱疲。 就在我逐渐适应这种高强度的工作节奏时&#xff0c;公司突然宣布了一则令人…

如何做代币分析:以 TRX 币为例

作者&#xff1a;lesleyfootprint.network 编译&#xff1a;cicifootprint.network 数据源&#xff1a;TRX 代币仪表板 &#xff08;仅包括以太坊数据&#xff09; 在加密货币和数字资产领域&#xff0c;代币分析起着至关重要的作用。代币分析指的是深入研究与代币相关的数据…

[python] `sys.settrace` 跟踪函数

sys.settrace 是 Python 中的一个调试工具&#xff0c;它允许你设置一个跟踪函数&#xff0c;在程序执行过程中对每个函数调用进行跟踪。当设置了跟踪函数后&#xff0c;Python 解释器在每次函数调用、返回或异常抛出时都会调用该跟踪函数&#xff0c;从而使你能够观察和记录程…

ffmpeg深度学习滤镜

环境搭建 安装显卡驱动 当前所用显卡为NVIDIA的P6000,在英伟达的官网上查看对应的驱动, 下载NVIDIA-Linux-x86_64-535.104.05.run并安装。 sudo ./NVIDIA-Linux-x86_64-535.104.05.run 安装成功后用nvidia-smi命令后查看 安装的cuda版本不能超过12.2,选择安装cuda11.8。…

Netty01NIO

NIO基础 NIO &#xff1a;non-blocking io 非阻塞 IO 笔记 www.zgtsky.top 网课&#xff1a;黑马Netty 三大组件 Channel & Buffer channel 有一点类似于 stream&#xff0c;它就是读写数据的双向通道&#xff0c;可以从 channel 将数据读入 buffer&#xff0c;也可以…

资料分析:常见关系

两数比关系 一、基础概念 1.产销率(工业产品销售率)是指工业企业在一定时期已经销售的产品总量与可供销售的工业产品总量之比。产品销售率是指报告期产品销售量与产品生产量的比率。是反映报告期工业企业产品产销衔接情况&#xff0c;反映产品生产、销售、流通及满足社会需要程…

Linux学习笔记11——用户组添加删除

Linux 是多用户多任务操作系统&#xff0c;换句话说&#xff0c;Linux 系统支持多个用户在同一时间内登陆&#xff0c;不同用户可以执行不同的任务&#xff0c;并且互不影响。 例如&#xff0c;某台 Linux 服务器上有 4 个用户&#xff0c;分别是 root、www、ftp 和 mysql&…

nginx实现http反向代理及负载均衡

目录 一、代理概述 1、代理概念 1.1 正向代理&#xff08;Forward Proxy&#xff09; 1.2 反向代理&#xff08;Reverse Proxy&#xff09; 1.3 正向代理与反向代理的区别 2、同构代理与异构代理 2.1 同构代理 2.2 异构代理 2.3 同构代理与异构代理的区别 二、四层代…

Linux离线安装Ansible

Linux离线安装Ansible 可自行去下载相关包,也可以给我评论留言,我发给大家 python -Vtar -zxvf setuptools-7.0.tar.gz cd setuptools-7.0/ python setup.py installtar -zxvf pycrypto-2.6.1.tar.gz cd pycrypto-2.6.1/ python setup.py install报错时 src/MD2.c:31:20: 致…

使用.NET 升级助手工具将.net framework4.8 MVC项目升级到net6

1 新建.net framework4.8 MVC项目 随便添加一个可以访问的界面用于测试 2 对当前项目进行升级 注意&#xff1a;若要进行升级&#xff0c;首先确保本地已安装相应的sdk&#xff0c;例如&#xff1a;dotnet-sdk-6.0.402-win-x64.exe1.运行cmd命令窗口&#xff0c;进入项目所在…

Ethernet/IP转CC-Link IEFB协议网关

产品功能 1 YC-EIP-CCLKIE工业级EtherNet/IP 网关 2 CC-Link IEFB转 EtherNet/IP 3支持多个CC-Link IEFB节点 4 即插即用 无需编程 轻松组态 ,即实现数据交互 5导轨安装 支持提供EDS文件 6 EtherNET/IP与CC-Link IEFB互转数据透明传输可接入PLC组态 支持CodeSys/支持欧姆…

xss.haozi.me靶场练习

靶场地址alert(1) 1、第一关 输入在文本框里面&#xff0c;我们闭合前面的标签&#xff0c;中间的内容我们就可以随意写了 2、第二关 逃逸value的属性即可&#xff0c;这里使用点击事件触发xss 3、第三关 看代码&#xff0c;使用了正则表达式&#xff0c;去掉了所有的括号字…

使用Java和PostGis的全国A级风景区数据入库实战

目录 前言 一、数据介绍 1、空间数据 2、属性表说明 3、QGIS数据预览 二、PostGIS空间数据库设计 1、空间表结构 三、Java空间入库 1、实体定义 2、数据操作Mapper 3、业务层实现 4、入库 5、数据入库验证 总结 前言 星垂平野阔&#xff0c;月涌大江流”“晴川历历…

SRIO—IP讲解及说明

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、SRIO IP 概述1.1 逻辑层1.1.1 I/O 端口(I/O Port)1.1.2 消息端口(Messaing Port)1.1.3 用户自定义端口(User-Defined Port)1.1.4 维护端口(Maintenance Port)1.2 缓冲层1.3 物理层…