Python-一级2

Python 保留字、标识符与变量

【电子学会一级考试内容】: 1. 掌握变量基本概念; 2. 会使用变量; 3. 掌握Python的字符串标识 4. 并且掌握变量名的命名和保留字等基本语法。
 mindmap
 (本课知识点)
  [Python 中的保留字和标识符]
    ))查询 Python 中有哪些保留字((
    ))Python 中的保留字区分大小写((
    ))Python 标识符命名**规则**((
    ))Python 标识符命名**规范**((
  [Python 中变量]
    ))Python 变量定义((
    ))Python 变量使用((
    ))Python 变量内存示意图((

Python 中的保留字和标识符

保留字,Python 中被赋予特定意义的一些单词
标识符,是一个字符串,是一个名字,用于给变量、函数、类等命名
开发过程中不可以将保留字作为变量、函数、类、模块和其他对象的名称来使用。

查询 Python 中有哪些保留字

1
2
3
4
5
6
7
import keyword
# 内置模块 keyword 查询有哪些保留字
print(keyword.kwlist)
['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']
# 有多少个保留字
print(len(keyword.kwlist))
35

keyword——Python 内置模块,安装 Python 解释器时同时安装。

Python 有 35 个保留字,分别是:
[‘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’]

homework:

  • 以下哪个不是 Python 保留字?[true, and, if, Flase]

Python 中的保留字区分大小写

1
>>> True = '真'

SyntaxError: cannot assign to True语法错误,不能分配给 True,因为 True 是保留字。

1
>>> true = '真' 

以上代码运行正确,原因是 保留字区分大小写

Python 标识符命名规则

  • 可以是字符、下划线、和数字,并且第一个字符不是数字
  • 不能使用 Python 保留字
  • 标识符严格区分大小写,全部采用大写命名的标识符是常量,如 PI=3.1415926
  • 以下划线开头的标识符有特殊意义,一般应避免使用相似的标识符
  • 允许使用中文作为标识符,但不建议使用

Python 标识符命名规范

  • 模块名尽量短小,且全部使用小写字母,多个单词间用下划线分隔,如 price_unit
  • 包名尽量短小,且全部使用小写字母,不推荐使用下划线,如:com.mosesPython,不推荐使用 com_mosesPython
  • 类名采用单词首字母大写方式(Pascal 风格)。如:MyClass
  • 模块内部采用 _ + Pascal 风格的类名组成,如:MyClass 内部类 _innerClass
  • 函数、类的属性和方法的命名,全部使用小写字母,多个字母之间使用下划线分隔;
  • 常量命名时采用全部大写字母,可以使用下划线
  • 使用单下划线 _ 开头的模块变量或函数是受保护,在使用 from xxx import * 语句从模块中导入时,这些模块变量或函数不能被导入
  • 使用双下划线 __ 开头的实例变量或方法是类私有的
  • 以双下划线开头和结尾的是 Python 的专用标识符,如:init() 表示初始化函数

思考:

  • 123,abc,_123,_abc, for 哪个标识符命名错误?

Python 中变量的定义和使用

变量名 = value

保存和表示数据值的一种语法元素

定义变量

1
>>> name = 'Guido van Rossum'
 mindmap
 [变量名 = value]
    [**等号** 赋值运算符]
    [**Guido van Rossum** 变量值]
    [***name** 变量名]

内存示意图

  • 在堆内存中开辟空间,放入变量值 Guido van Rossum
  • 栈内存中有一个变量名 name 指向堆内存

定义变量并使用变量

1
2
3
4
5
6
7
8
# l2.py
name = 'Guido van Rossum' # 创建变量 name 并赋值
age = 68 # 创建变量 age 并赋值

# 变量的使用
print('Python 之父是:',name,',今年', age, '岁了。')

Python 之父是: Guido van Rossum ,今年 68 岁了。

Python 中允许多个变量指向同一个值

Python 中每个值都有自己的内存地址,可以采用内置函数 id() 查看
Python 中允许多个变量指向同一个值

1
2
3
4
birthday = '1956-1-31'
print(id(birthday)) # 4325979312
date = bithday
print(id(date)) # 4325979312

算法与程序

算法是解题方法的精确描述,算法由有限个步骤组成;
用计算机编程语言来表示算法,就形成程序;
其基本特征是有 0 或 多个输入,有一个或多个输出。