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

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

变量名 回忆上次内容

  • 上次讲了 什么是变量
  • 变量变量
  • 能变的量 就是变量


  • 各种系统、游戏就是由变量所组成的

添加图片注释,不超过 140 字(可选)

  • 声明了变量
  • 并且 定义了变量


  • 声明就是 declaration
  • 把标识符 和 具体值 联系起来
  • 标识符就是 变量的标记符
  • 具体值 就是 赋给变量的值


  • 过程就是 赋值
  • 就是 assignment
  • 可以给变量 具体的值



  • 哪些字符串可以用作变量名呢?🤔

变量名

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


添加图片注释,不超过 140 字(可选)

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


  • 为什么 不能是 数字开头 呢?

数字

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



添加图片注释,不超过 140 字(可选)

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

命名要求

  • 变量名、函数名、模块名
  • 都属于标识符
  • 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具体什么要求呢?

查看文档

添加图片注释,不超过 140 字(可选)

  • 进入帮助模式

添加图片注释,不超过 140 字(可选)

  • 找到主题
  • IDENTIFIERS


标识符

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


添加图片注释,不超过 140 字(可选)

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

中文标识符

  • 具体实验

添加图片注释,不超过 140 字(可选)

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


PEP3131

  • 不只是中文
  • 大多数 unicode 字符都可以作为标识符
  • 不过一般不用



添加图片注释,不超过 140 字(可选)

  • 回忆一下什么是 unicode

添加图片注释,不超过 140 字(可选)

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


identifier

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


添加图片注释,不超过 140 字(可选)

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


添加图片注释,不超过 140 字(可选)

  • 如果非要数字开头的话
  • 前面要加下划线


  • 标点也属于unicode字符
  • 可以放在标识符中吗?


标点

添加图片注释,不超过 140 字(可选)

  • 标点不能进入标识符
  • 🙅🏻‍♀


  • 为什么呢?

分别赋值

  • 以逗号为例

添加图片注释,不超过 140 字(可选)

  • 逗号担负这个切分的功能
  • 可以对两个变量分别赋值


  • 其他符号
  • +
  • -
  • *
  • /
  • "


  • 都有各自的功能
  • 都不能作为标识符identifier


练习

  • 以下哪些变量名是合法的?
  • oeasy
  • o2z
  • o?z
  • o,z
  • _orz
  • 0rz
  • __0rz


  • 使用函数验证一下推论

失灵

  • isidentifier 也有不灵的时候

添加图片注释,不超过 140 字(可选)

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

总结

  • 变量 就是 能变的量
  • 这次研究了 变量标识符的 规则
  • 第一个字符 应该是 字母或下划线
  • 合法的标识符可以包括
  • 大小写字母
  • 数字
  • 下划线



  • 还研究了字符串(str)的函数
  • isidentifier
  • 查询字符串
  • 是否为合法标识符



  • 最后发现
  • 这个isidentifier函数有时候不好使?


添加图片注释,不超过 140 字(可选)


目录
相关文章
|
1天前
|
Python
[oeasy]python074_ai辅助编程_水果程序_fruits_apple_banana_加法_python之禅
本文回顾了从模块导入变量和函数的方法,并通过一个求和程序实例,讲解了Python中输入处理、类型转换及异常处理的应用。重点分析了“明了胜于晦涩”(Explicit is better than implicit)的Python之禅理念,强调代码应清晰明确。最后总结了加法运算程序的实现过程,并预告后续内容将深入探讨变量类型的隐式与显式问题。附有相关资源链接供进一步学习。
15 4
|
2月前
|
人工智能 Shell 开发工具
[oeasy]python062_在python中完成输入和输出_input_print
本文介绍了在Python中使用`input()`和`print()`函数完成输入和输出操作的基础知识。通过编写简单的程序,如问候用户和统计苹果数量,演示了如何添加提示信息、处理用户输入并输出结果。同时,回顾了上一次课程内容,包括`input`函数的参数和提示词的使用。文中还展示了如何在vim编辑器中编写和运行Python代码,并对vim和shell的基本操作进行了总结。最后提供了相关学习资源链接,方便读者进一步学习。
139 66
|
7天前
|
Shell Python
[oeasy]python072_名字空间是怎么玩的_from_import_as_导入_namespace
本文介绍了Python中名字空间和模块导入的使用方法。主要内容包括: 1. **回忆上次内容**:回顾了之前导入系统模块(如`__hello__`、`time`)和自定义模块(如`my_file`),并介绍了如何导入和使用模块中的变量。 2. **从shell开始**:展示了如何在命令行中编辑和切换文件,以及如何通过`import`语句引入模块。 3. **修改oeasy.py**:演示了如何通过`import my_file`导入模块,并将模块中的`pi`赋值给本地变量`pi`。 4. **locals()函数**:解释了如何使用`locals()`查看当前作用域内的本地变量及其值。
25 8
|
5天前
|
Python
[oeasy]python073_下划线在python里是什么含义_内部变量_私有变量_系统变量
本文回顾了Python中从模块导入变量和函数的方式,重点讨论了避免本地变量名冲突(local name clashes)的方法。通过`from module import variable as alias`可以为导入的变量重命名,防止冲突。根据PEP8规范,建议避免使用`from module import *`,因为它会导入模块中所有非下划线开头的变量,容易引发冲突。下划线在变量命名中有特殊含义:单个前导下划线表示内部变量,后置下划线用于避免与关键字冲突,双下划线前后包围表示系统变量。总结了下划线的不同用法及其作用。下次将继续探讨更实用的编程技巧。
23 3
|
1月前
|
人工智能 Shell 开发工具
[oeasy]python065python报错怎么办_try_试着来_except_发现异常
本文介绍了Python中处理异常的基本方法,重点讲解了`try`和`except`的用法。通过一个计算苹果重量的小程序示例,展示了如何捕获用户输入错误并进行处理。主要内容包括: 1. **回顾上次内容**:简要回顾了Shell环境、Python3游乐场和Vim编辑器的使用。 2. **编写程序**:编写了一个简单的程序来计算苹果的总重量,但发现由于输入类型问题导致结果错误。 3. **调试与修正**:通过调试发现输入函数返回的是字符串类型,需要将其转换为整数类型才能正确计算。
57 32
|
17天前
|
人工智能 自然语言处理 Shell
[oeasy]python070_如何导入模块_导入模块的作用_hello_dunder_双下划线
本文介绍了如何在Python中导入模块及其作用,重点讲解了`__hello__`模块的导入与使用。通过`import`命令可以将外部模块引入当前环境,增强代码功能。例如,导入`__hello__`模块后可输出“Hello world!”。此外,还演示了如何使用`help()`和`dir()`函数查询模块信息,并展示了导入多个模块的方法。最后,通过一个实例,介绍了如何利用`jieba`、`WordCloud`和`matplotlib`模块生成词云图。总结来说,模块是封装好的功能部件,能够简化编程任务并提高效率。未来将探讨如何创建自定义模块。
35 8
|
14天前
|
缓存 Shell 开发工具
[oeasy]python071_我可以自己做一个模块吗_自定义模块_引入模块_import_diy
本文介绍了 Python 中模块的导入与自定义模块的创建。首先,我们回忆了模块的概念,即封装好功能的部件,并通过导入 `__hello__` 模块实现了输出 "hello world!" 的功能。接着,尝试创建并编辑自己的模块 `my_file.py`,引入 `time` 模块以获取当前时间,并在其中添加自定义输出。
21 4
|
1月前
|
数据库 Python
[oeasy]python066_如何捕获多个异常_try_否则_else_exception
本文介绍了Python中`try...except...else`结构的使用方法。主要内容包括: 1. **回顾上次内容**:简要复习了`try`和`except`的基本用法,强调了异常处理的重要性。 2. **详细解释**: - `try`块用于尝试执行代码,一旦发现错误会立即终止并跳转到`except`块。 - `except`块用于捕获特定类型的异常,并进行相应的处理。 - `else`块在没有异常时执行,是可选的。 3. **示例代码**:通过具体例子展示了如何捕获不同类型的异常(如`ValueError`和`ZeroDivisionError`),并解释了异常处理
54 24
|
3月前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
130 80
|
24天前
|
人工智能 数据库 开发者
[oeasy]python068_异常处理之后做些什么_try语句的完全体_最终_finally
介绍了 Python 中 `try` 语句的完全体,包括 `try`、`except`、`else` 和 `finally` 子句的使用。通过实例展示了如何捕获异常并输出详细的错误信息,如文件名和行号。特别强调了 `finally` 子句的作用,无论是否发生异常,`finally` 都会执行,常用于清理操作。最后总结了 `try` 语句的四个部分及其应用场景,并简要提及了 Python 社区的决策机制。 #try #except #else #finally
23 1

热门文章

最新文章