[oeasy]python0133_变量名_标识符_identifier_id_locals

变量名

回忆上次内容

  • 上次讲了 什么是变量
  • 变量变量
    • 能变的量 就是变量
  • 各种系统、游戏就是由变量所组成的

[oeasy]python0133_变量名_标识符_identifier_id_locals_第1张图片

  • 声明了变量
    • 并且 定义了变量
  • 声明就是 declaration
    • 把标识符 和 具体值 联系起来
    • 标识符就是 变量的标记符
    • 具体值 就是 赋给变量的值
  • 过程就是 赋值
    • 就是 assignment
      • 可以给变量 具体的值
  • 哪些字符串可以用作变量名呢?

变量名

  • a、a1可以作为变量名
    • 字母开头后面 可以接数字

[oeasy]python0133_变量名_标识符_identifier_id_locals_第2张图片

  • 1a 不可以 作为变量名
    • 变量名 不能是 数字开头
  • 为什么 不能是 数字开头 呢?

数字

  • 数字开头 一般都表示 数字常量
    • 从 c 语言的时候就是这样
    • 这样 词法分析器 便于区分
      • 标识符
      • 数字常量

[oeasy]python0133_变量名_标识符_identifier_id_locals_第3张图片

  • 变量名 有没有个 命名要求 呢?

命名要求

  • 变量名、函数名、模块名

    • 都属于标识符
      • identifier
    • python对于标识符的规则
      • 模仿c语言
  • c语言对于标识符的要求是这样的

    • 第一个字符应该是字母或下划线
      • The first letter of an identifier should be either a letter or an underscore
    • 合法的标识符可以包括大小写字母、数字、下划线
      • A valid identifier can have letters(both uppercase and lowercase letters),digits and underscores.
  • python具体什么要求呢?

查看文档

[oeasy]python0133_变量名_标识符_identifier_id_locals_第4张图片

  • 进入帮助模式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v7hW2yO0-1681783529272)(https://doc.shiyanlou.com/courses/uid1190679-20230215-1676466057390)]

  • 找到主题
    • IDENTIFIERS

标识符

  • 基本规则和c语言类似
    • 第一个字符应该是字母或下划线
    • 后面跟 字母、数字、下划线

[oeasy]python0133_变量名_标识符_identifier_id_locals_第5张图片

  • 中文字符可以作为标识符么?

中文标识符

  • 具体实验

[oeasy]python0133_变量名_标识符_identifier_id_locals_第6张图片

  • python3 中
    • 中文字符串可以作为变量的标识符
    • 这怎么理解呢?

PEP3131

  • 不只是中文

    • 大多数 unicode 字符都可以作为标识符
      • 不过一般不用
  • https://peps.python.org/pep-3131/

[oeasy]python0133_变量名_标识符_identifier_id_locals_第7张图片

  • 回忆一下什么是 unicode

[oeasy]python0133_变量名_标识符_identifier_id_locals_第8张图片

  • 如何判断一个字符串
    • 是否是合法的标识符呢?

identifier

  • 字符串类(str) 有这么一个函数
    • 叫做 isidentifier()

[oeasy]python0133_变量名_标识符_identifier_id_locals_第9张图片

  • 就是看看这个字符串
    • 是否能够做 identifier 标识符

[oeasy]python0133_变量名_标识符_identifier_id_locals_第10张图片

  • 如果非要数字开头的话
    • 前面要加下划线
  • 标点也属于unicode字符
    • 可以放在标识符中吗?

标点

[oeasy]python0133_变量名_标识符_identifier_id_locals_第11张图片

  • 标点不能进入标识符
    • ‍♀
  • 为什么呢?

分别赋值

  • 以逗号为例

[oeasy]python0133_变量名_标识符_identifier_id_locals_第12张图片

  • 逗号担负这个切分的功能
    • 可以对两个变量分别赋值
  • 其他符号
    • /
    • "
  • 都有各自的功能
    • 都不能作为标识符identifier

练习

  • 以下哪些变量名是合法的?

    • oeasy
    • o2z
    • o?z
    • o,z
    • _orz
    • 0rz
    • __0rz
  • 使用函数验证一下推论

失灵

  • isidentifier 也有不灵的时候

[oeasy]python0133_变量名_标识符_identifier_id_locals_第13张图片

  • 这如何理解呢?
  • 先去总结一下

总结

  • 变量 就是 能变的量
  • 这次研究了 变量标识符的 规则
    • 第一个字符 应该是 字母或下划线
    • 合法的标识符可以包括
      • 大小写字母
      • 数字
      • 下划线
  • 还研究了字符串(str)的函数
    • isidentifier
    • 查询字符串
      • 是否为合法标识符
  • 最后发现
    • 这个isidentifier函数有时候不好使?

[oeasy]python0133_变量名_标识符_identifier_id_locals_第14张图片

  • 这怎么理解呢??

  • 我们下次再说!

  • 蓝桥->https://www.lanqiao.cn/courses/3584

  • github->https://github.com/overmind1980/oeasy-python-tutorial

  • gitee->https://gitee.com/overmind1980/oeasypython

你可能感兴趣的:(python)