前言

到python3.6为止,python内置的关键字有33个,比python2.7的版本多了2个。下面总结一下python3的关键字的使用。

python内置关键字

解释器在加载上下文的时候,如果遇到一些预先设定的变量值,就会触发解释器内置的一些操作,这些预定的变量值就是关键字。

查看关键字

查看当前版本的关键字信息,使用:

help("keywords")

# python3结果
False def if raise
None del import return
True elif in try
and else is while
as except lambda with
assert finally nonlocal yield
break for not
class from or
continue global pass # python2结果
and elif if print
as else import raise
assert except in return
break exec is try
class finally lambda while
continue for not with
def from or yield
del global pass

python3去掉了python2的exec、print关键字,增加了False,None,True,nonlocal关键字;

用来定义的关键字

def : 定义一个函数或方法;
class: 定义一个类对象;
lambda:定义一个匿名函数;

布尔关键字

False:代表真;
True:代表假; print(1 == True) # True
print(0 == False) # False print(isinstance(False, object)) # True
print(isinstance(True, object)) # True
print(isinstance(False, int)) # True
print(isinstance(True, int)) # True

在解释器中,False和True是一个变量,它们的值为0和1;但py2和py3对False和True有所不同,py2中False、True、None都是定义在builtins模块中的变量,因此可以随时修改它们代表的值,但py3中,False、True、None直接代表解释器中的关键字变量,它们的值是固定的。

控制流关键字

if...elif...else...:条件判断;
for...in...:对可迭代对象循环遍历
for...in...else...:遍历正常完成则执行else后的代码;
continue:终止本次循环,继续下一次循环;
break:跳出循环;
while:循环结构;

逻辑判断关键字

and:表示与
or:表示或;
not:表示非;
in:判断元素是否在容器内;
not in:判断元素是否不再容器内;
is:比较两个变量的内存地址;

扩展:is关键字比较两个变量的内存地址,==比较两个变量的值;

a = [123]
b = [123]
print(a is b) # False
print(a == b) # True

异常

try:
代码1
except:
代码2
else:
代码3
finally:
代码4... # 代码1发生异常就执行代码2,正常就执行代码3,无论正常与否都要执行代码4. raise:主动触发异常;

命令空间

global:将模块空间变量引入到局部空间修改;
nonlocal:将本局部空间的外层空间变量引入到本层局部空间修改,用来嵌套函数内;

其他

None:代表空,是python解释器的一个内置的关键字变量;本质是一个object()
from ... import ...:从模块导入对象
import ... :导入模块
import ... as ...:导入模块指定别名
with:触发上下文管理器;
assert:断言,True则通过,False则触发异常;
pass:表示跳过,用来防止报错;
return:函数返回值;
yield:生成器关键字;
del:从上下文堆栈中删除某个对象。
print(isinstance(None, object)) # True

总结

  1. 了解python2和python3关键字的异同;

  2. 注意False、True、None在python2中表示内置模块的变量,在python3中是解释器的内置关键字。

  3. False、True、None本质都是object对象,False、True属于int对象,None属于空object对象。

python基础之常用关键字总结的更多相关文章

  1. 十八. Python基础(18)常用模块

    十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, ...

  2. python基础31[常用模块介绍]

    python基础31[常用模块介绍]   python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...

  3. Java SE 基础:常用关键字

    Java SE 基础:常用关键字 常用关键字表

  4. python基础(常用内容)

    python基础(常用内容) 机器数: 一个数在计算机中的二进制表示形式就是机器数. 例如: +3用机器数表示就用<00000011>表示 -3用机器数表示就用<10000011&g ...

  5. 【python基础】常用的内置函数

    python基础之内置函数 参考: http://www.runoob.com/python/python-built-in-functions.html -zip() zip函数接受任意多个(包括0 ...

  6. Python全栈开发之路 【第六篇】:Python基础之常用模块

    本节内容 模块分类: 好处: 标准库: help("modules") 查看所有python自带模块列表 第三方开源模块: 自定义模块: 模块调用: import module f ...

  7. Python基础之--常用模块

    Python 模块 为了实现对程序特定功能的调用和存储,人们将代码封装起来,可以供其他程序调用,可以称之为模块. 如:os 是系统相关的模块:file是文件操作相关的模块:sys是访问python解释 ...

  8. python基础之常用模块以及格式化输出

    模块简介 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...

  9. Day5 - Python基础5 常用模块学习

    Python 之路 Day5 - 常用模块学习   本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shel ...

随机推荐

  1. OpenCV__cv::Mat::step

    step[0]是矩阵中一行元素的字节数 step[1]是矩阵中一个元素的字节数(elemSize) step1 = step / elemSize1,elemSize1是元素的每个通道所占的字节数 s ...

  2. 【转】How to create a new user and grant permissions in MySQL

    MySQL is one of the most popular database management systems. In this tutorial we will cover the ste ...

  3. LIS的O(nlogn)算法

    出自蓝书<算法竞赛入门经典训练指南> 求最长上升子序列是很常见的可以用动态规划解决的问题…… 很容易根据最优子结构之类的东西得出 $\text{dp}[i]$为以第i个数结尾的最长上升子序 ...

  4. 【转】如何在 GitHub 上找到你要的代码?

    [来源]

  5. 从零开始学习微信小程序

    1.微信公众号和小程序的区别 公众号可以基于html5.vue.react.anguar开发,小程序只能用小程序开发语言. 小程序更接近于原生app. 借助jssdk调用手机功能强大. 开始: 2.创 ...

  6. 越光后端开发——ygapi(1.新建项目ygapi、新建MySQL数据库yg、项目连接数据库)

    1.新建MySQL数据库 show databases;//查看已经有的数据库 create database yg; 2.新建项目ygapi 1.使用pycharm新建django项目取名ygapi ...

  7. 转载:ORA-12516 “TNS监听程序找不到符合协议堆栈要求的可用处理程序” 解决方案

    ORA-12516 “TNS监听程序找不到符合协议堆栈要求的可用处理程序” 解决方案   简单描述一下场景,总共两台应用服务器,每台安装3个tomcat进行集群,并通过nginx做了负载均衡,今天在生 ...

  8. 优秀的电商平台Jshop栗子

    摘录自:https://blog.csdn.net/chenjun9205/article/details/52412503 下载源代码 git clone https://git.oschina.n ...

  9. LeetCode 92. ReverseLinkedII

    #include <iostream> using namespace std; struct ListNode { int val; ListNode *next; ListNode(i ...

  10. ArcGis Python脚本——根据接图表批量裁切分幅影像

    年前写了一个用渔网工具制作图幅接图表的文章,链接在这里: 使用ArcMap做一个1:5000标准分幅图并编号 本文提供一个使用ArcMap利用接图表图斑裁切一幅影像为多幅的方法. 第一步,将接图表拆分 ...