一篇文章弄懂Python关键字、标识符和变量

目录
  • 前言
  • 🎪 一、Python 关键字
  • 🎢 二、Python标识符
    • 🎠 2.1 在 Python 中创建标识符的指南
    • 🎡 2.2 测试标识符是否有效
    • 🧵 2.3 标识符命名的最佳实践
  • 🎯 三、Python 变量
  • 总结

前言

本快速教程的目的是教您有关Python 关键字、标识符和变量的知识。这些是 Python 编程的基本构建块。因此,您必须了解有关它们的一切。

Python 关键字是一个独特的编程术语,旨在执行某些操作。Python 中有多达 35 个这样的关键字,每个都有不同的用途。他们一起构建了 Python 语言的词汇表。

它们代表 Python 程序的语法和结构。由于它们都是保留的,因此您不能使用它们的名称来定义变量、类或函数。

🎪 一、Python 关键字

关键字是保留并具有特定含义的特殊词。Python 有一组不能在程序中用作变量的关键字。

Python 中的所有关键字都区分大小写。因此,在代码中使用它们时必须小心。我们刚刚在这里捕获了可能的 Python 关键字的快照。

使用 Python Shell 显示 Python 关键字

这是一个很长的清单,需要一次性记住。我们在这里提到它的目的只是让您初步了解可用的关键字。但是,我们将在其余教程中介绍它们中的每一个。您无需急于记住它们,而是尝试逐步学习使用它们。

还有一点你应该注意,上面的列表可能会改变。该语言可以摆脱一些旧的关键字,并在未来的版本中引入新的关键字。
因此,要获取最新列表,您可以打开 Python shell 并运行以下命令,如下面的代码片段所示。

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', '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']
>>>

🎢 二、Python标识符

Python 标识符是用户定义的名称,用于表示变量、函数、类、模块或任何其他对象。如果您为 Python 中的可编程实体分配一些名称,那么它在技术上只是称为标识符。

Python 语言为程序员制定了一套规则来创建有意义的标识符。

🎠 2.1 在 Python 中创建标识符的指南

1.为了形成的标识符,使用的字母序列中任一小写 (a到z)或大写 (A至Z) 。但是,您也可以在编写标识符时混淆数字(0 到 9)或下划线 (_)。

例如-的名字,像 shapeClass,  shape_1和 upload_shape_to_db都是有效的标识符。

2.不能使用数字作为标识符名称的开头。它会导致语法错误。

例如 – 名称0Shape不正确,但 shape1是有效标识符。

3.此外,关键字是保留的,因此您不应将它们用作标识符。

>>> for=1
SyntaxError: invalid syntax
>>> True=1
SyntaxError: can't assign to keyword

4.Python 标识符也不能有特殊字符['.', '!', '@', '#', '$', '%']。禁止使用这些符号。

>>> @index=0
SyntaxError: invalid syntax
>>> isPython?=True
SyntaxError: invalid syntax

5.Python 文档说你可以有一个无限制长度的标识符。但这只是半真半假。

使用大名称(超过 79 个字符)会导致违反PEP-8标准设置的规则。它会提示

Limit all lines to a maximum of 79 characters.

🎡 2.2 测试标识符是否有效

您可以使用keyword.iskeyword()函数来测试 Python 标识符是否有效 。如果关键字正确,则返回“True”,否则 返回 “ False”。

请参考以下片段。

>>> import keyword
>>> keyword.iskeyword("techbeamers")
False
>>> keyword.iskeyword("try")
True
>>>

另一种检查标识符是否有效的有用方法是调用 str.isidentifier()函数。但它仅在Python 3.0及更高版本中可用。

>>> 'techbeamers'.isidentifier()
True
>>> '1techbeamers'.isidentifier()
False
>>> 'techbeamers.com'.isidentifier()
False
>>> 'techbemaers_com'.isidentifier()
True

🧵 2.3 标识符命名的最佳实践

  • 最好让类名以大写字母开头。所有其他标识符应以小写字母开头。
  • 使用('_')下划线作为首字母来声明私有标识符。
  • 不要使用 “_”作为标识符中的前导和尾随字符。由于 Python 内置类型已经使用了这种表示法。
  • 避免使用只有一个字符的名称。相反,取有意义的名字。

例如——虽然 i = 1 是有效的,但写 iter = 1 或 index = 1 会更有意义。

  • 您可以使用下划线将多个单词组合成一个合理的名称。

例如 – count_no_of_letters。

🎯 三、Python 变量

Python 中的变量代表一个实体,其值可以在需要时更改。从概念上讲,它是一个保存实际值的内存位置。我们可以通过查询实体从我们的代码中检索值。

但它需要为该内存位置分配一个标签,以便我们可以引用它。我们将其称为编程术语中的变量。

以下是有关 Python 变量的一些关键事实。这些将帮助程序员有效地使用它们。

1.变量不需要声明。但是,您必须在使用前对其进行初始化。

例如 -

test = 10

2.上述表达式将导致以下动作。

创建一个对象来表示值10。

如果变量(test)不存在,那么它将被创建。

将变量与对象关联,以便它可以引用值。

变量'test'是对值'10'的引用。请参考下图。

例如 -

| ~~~~~ | ----- ~~~~~~~~~ -------   ****
( test  ) ----- Reference ------- ** 10 **
| ~~~~~ | ----- ~~~~~~~~~ -------   ****
 Variable ----- ~~~~~~~~~~ -------  Object

3.每当表达式发生变化时,Python 都会将一个新对象(一块内存)与引用该值的变量相关联。旧的去垃圾收集器。

例如 -

>>> test = 10
>>> id(test)
1716585200
>>> test = 11
>>> id(test)
1716585232
>>>

4.此外,为了优化,Python 构建了一个缓存并重用了一些不可变对象,例如小整数和字符串。

5.一个对象只是一个内存区域,可以容纳以下内容。

实际的对象值。

反映对象类型的类型指示符。

确定何时可以回收对象的引用计数器。

6.拥有类型的是对象,而不是变量。但是,变量可以根据需要保存不同类型的对象。

例如 -

>>> test = 10
>>> type(test)
<class 'int'>
>>> test = 'techbeamers'
>>> type(test)
<class 'str'>
>>> test = {'Python', 'C', 'C++'}
>>> type(test)
<class 'set'>
>>>

总结

到此这篇关于Python关键字、标识符和变量的文章就介绍到这了,更多相关Python关键字、标识符和变量内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2021-07-13

python global关键字的用法详解

最近刚好有朋友遇到个global相关的问题,这里简单学习一下global关键字的用法. 想要更好的了解global关键字,首先要熟悉python的全局变量与局部变量的概念.global关键字的作用是可以申明一个局部变量为全局变量,下面看一下实例 一.变量作用域的说明 这里简单提一下变量作用域的概念,有兴趣的小伙伴,可以查一下相关的博客 1.局部变量 def a(): ## 菊部变量 - ,- local = 1 print(local) ## 全局无法使用,只有自己可用 print(lobal)

Python通用唯一标识符uuid模块使用案例

1. 背景知识: UUID: 通用唯一标识符 ( Universally Unique Identifier ), 对于所有的UUID它可以保证在空间和时间上的唯一性. 它是通过MAC地址, 时间戳, 命名空间, 随机数, 伪随机数来保证生成ID的唯一性, 有着固定的大小( 128 bit ). 它的唯一性和一致性特点使得可以无需注册过程就能够产生一个新的UUID. UUID可以被用作多种用途, 既可以用来短时间内标记一个对象, 也可以可靠的辨别网络中的持久性对象. 为什么要使用UUID? 很多

Python 中的with关键字使用详解

在 Python 2.5 中, with 关键字被加入.它将常用的 try ... except ... finally ... 模式很方便的被复用.看一个最经典的例子: with open('file.txt') as f: content = f.read() 在这段代码中,无论 with 中的代码块在执行的过程中发生任何情况,文件最终都会被关闭.如果代码块在执行的过程中发生了一个异常,那么在这个异常被抛出前,程序会先将被打开的文件关闭. 再看另外一个例子. 在发起一个数据库事务请求的时候,

python标识符命名规范原理解析

这篇文章主要介绍了python标识符命名规范原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量.函数.类.模块以及其他对象的名称. Python 中标识符的命名不是随意的,而是要遵守一定的命令规则,比如说: 1.标识符是由字符(A~Z 和 a~z).下划线和数字组成,但第一个字符不能是数字. 2.标识符不能和 Python 中的保留字相同.有关保留

python中的实例方法、静态方法、类方法、类变量和实例变量浅析

注:使用的是Python2.7. 一.实例方法 实例方法就是类的实例能够使用的方法.如下: 复制代码 代码如下: class Foo:    def __init__(self, name):        self.name = name    def hi(self):        print self.name if __name__ == '__main__':    foo01 = Foo('letian')    foo01.hi()    print type(Foo)    p

python实现同时给多个变量赋值的方法

本文实例讲述了python实现同时给多个变量赋值的方法.分享给大家供大家参考.具体分析如下: python中可以同时给多个变量赋值,下面列举了三种方法 # Assign values directly a, b = 0, 1 assert a == 0 assert b == 1 # Assign values from a list (r,g,b) = ["Red","Green","Blue"] assert r == "Red&q

python函数参数(必须参数、可变参数、关键字参数)

#python中的函数定义,使用和传参 ###------------------- 必要参数 ------------------------------------- 必要参数,即函数调用时必须要传的参数, #下面进行举例说明 def helloWorld(a): print('输出:hello') if __name__ == '__main__': helloWorld("aaa") ## 必须要有参数 ##------------ 默认参数 -----------------

Python全局变量操作详解

接触Python时间不长,对有些知识点,掌握的不是很扎实,我个人比较崇尚不管学习什么东西,首先一定回去把基础打的非常扎实了,再往高处走.今天遇到了Python中的全局变量的相关操作,遇到了问题,所以,在这里将自己遇到的问题,做个记录,以长记心!!! 在Python中使用全局变量,其实,个人认为并不是很明智的选择:但是自己还是坚信,存在便合理,在于你怎么使用:全局变量降低了模块和函数之间的通用性:所以,在以后的编程过程中,应尽量避免使用全局变量. 全局变量的使用: 方法一: 为了便于代码管理,将全

Python中使用动态变量名的方法

如果要写一个程序,让x1为1,x2为2,然后直到x100为100,你会怎么做? 在C这种静态语言里,变量名这个标识符实际上会被编译器直接翻译成内存地址,所以除了手动设置每个变量的值以外,没办法做到这点.而Python这种动态语言则是可以做到的. 最容易想到的自然是eval,但是实际上根本不需要这种危险的东西,因为Python的变量名就是一个字典的key而已.要获取这个字典,直接用locals和globals函数即可. 因此这个程序可以这样实现: 复制代码 代码如下: >>> names

Python中optionParser模块的使用方法实例教程

本文以实例形式较为详尽的讲述了Python中optionParser模块的使用方法,对于深入学习Python有很好的借鉴价值.分享给大家供大家参考之用.具体分析如下: 一般来说,Python中有两个内建的模块用于处理命令行参数: 一个是 getopt,<Deep in python>一书中也有提到,只能简单处理 命令行参数: 另一个是 optparse,它功能强大,而且易于使用,可以方便地生成标准的.符合Unix/Posix 规范的命令行说明. 示例如下: from optparse impo

python中requests模块的使用方法

本文实例讲述了python中requests模块的使用方法.分享给大家供大家参考.具体分析如下: 在HTTP相关处理中使用python是不必要的麻烦,这包括urllib2模块以巨大的复杂性代价获取综合性的功能.相比于urllib2,Kenneth Reitz的Requests模块更能简约的支持完整的简单用例. 简单的例子: 想象下我们试图使用get方法从http://example.test/获取资源并且查看返回代码,content-type头信息,还有response的主体内容.这件事无论使用

Python 中几种字符串格式化方法及其比较

Python 中几种字符串格式化方法及其比较 起步 在 Python 中,提供了很多种字符串格式化的方式,分别是 %-formatting.str.format 和 f-string .本文将比较这几种格式化方法. %- 格式化 这种格式化方式来自于 C 语言风格的 sprintf 形式: name = "weapon" "Hello, %s." % name C 语言的给实话风格深入人心,通过 % 进行占位. 为什么 %-formatting不好 不好的地方在于,

python中常见错误及解决方法

python常见的错误有 1.NameError变量名错误 2.IndentationError代码缩进错误 3.AttributeError对象属性错误 详细讲解 1.NameError变量名错误 报错: >>> print a<br>Traceback (most recent call last):<br>File "<stdin>", line 1, in <module><br>NameError:

python中Django文件上传方法详解

Django上传文件最简单最官方的方法 1.配置media路径 在settings.py中添加如下代码: MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 2.定义数据表 import os from django.db import models from django.utils.timezone import now as timezone_now def upload_to(instance, filename):     now = timezo

python中requests使用代理proxies方法介绍

学习网络爬虫难免遇到使用代理的情况,下面介绍一下如何使用requests设置代理: 如果需要使用代理,你可以通过为任意请求方法提供 proxies 参数来配置单个请求: import requests proxies = { "http": "http://10.10.1.10:3128", "https": "http://10.10.1.10:1080", } requests.get("http://examp

python获取文件扩展名的方法

本文实例讲述了python获取文件扩展名的方法.分享给大家供大家参考.具体实现方法如下: import os.path def file_extension(path): return os.path.splitext(path)[1] print file_extension('C:\py\wxPython.gif') 输出结果为: .gif 希望本文所述对大家的Python程序设计有所帮助.

Python中统计函数运行耗时的方法

本文实例讲述了Python中统计函数运行耗时的方法.分享给大家供大家参考.具体实现方法如下: import time def time_me(fn): def _wrapper(*args, **kwargs): start = time.clock() fn(*args, **kwargs) print "%s cost %s second"%(fn.__name__, time.clock() - start) return _wrapper #这个装饰器可以在方便地统计函数运行的

Python中shape计算矩阵的方法示例

本文实例讲述了Python中shape计算矩阵的方法.分享给大家供大家参考,具体如下: 看到机器学习算法时,注意到了shape计算矩阵的方法接下来就讲讲我的理解吧 >>> from numpy import * >>> import operator >>> a =mat([[1,2,3],[5,6,9]]) >>> a matrix([[1, 2, 3], [5, 6, 9]]) >>> shape(a) (2,