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

news2025/1/20 3:52:58

变量名

回忆上次内容

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

图片描述

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

变量名

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

图片描述

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

数字

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

图片描述

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

命名要求

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

    • 都属于标识符
      • 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具体什么要求呢?

查看文档

图片描述

  • 进入帮助模式

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

  • 找到主题
    • IDENTIFIERS

标识符

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

图片描述

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

中文标识符

  • 具体实验

图片描述

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

PEP3131

  • 不只是中文

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

图片描述

  • 回忆一下什么是 unicode

图片描述

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

identifier

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

图片描述

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

图片描述

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

标点

图片描述

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

分别赋值

  • 以逗号为例

图片描述

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

练习

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

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

失灵

  • isidentifier 也有不灵的时候

图片描述

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

总结

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

图片描述

  • 这怎么理解呢??🤔

  • 我们下次再说!👋

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/427772.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【id:35】【20分】E. Stack(类与构造)

题目描述 上面是栈类的定义,栈是一种具有先进后出特点的线性表,请根据注释,完成类中所有方法的实现,并在主函数中测试之。 堆栈类的说明如下: 1. 堆栈的数据实际上是保存在数组a中,而a开始是一个指针&…

Linux操作基础(进程和计划任务管理)

文章目录一 、程序和进程的关系1.1程序1.2进程1.3进程和线程的关系二 、查看进程的命令2.1 ps命令2.11 ps aux2.12 ps -elf2.3 top 命令2.4 pgrep命令2.5 进程的启动方式2.51 手工启动2.52 调度启用进程的前后台调度终止进程的运行2.6 kill命令三 、计划任务管理3.1使用at命令&…

Java面试技巧之每天一个Tip——SpringBean生命周期和作用域?

Spring Bean是个「古老的」问题,似乎面试中已经不常见了。 但是,偶尔,面试者还是会遭遇到这个问题,以至于被打了个措手不及,一脸懵。 为了防止出现类似的情况,Tip一下大家,很简单的Tip&#x…

nginx (uos)

安装nginx apt install nginx php php-fpm -y 切换目录 cd /etc/nginx vim /etc/nginx/conf.d/proxy.conf server { listen 80; ssl_certificate "/etc/nginx/nginx.crt"; ssl_certificate_key "/etc/nginx/nginx.key"; …

项目1实现login登录功能方案设计第三版

需求优化点:MySQL表常用功能模块实现方案index页面home页面需求 实现一个登录功能 实现的功能 注册(邮箱注册)登录(邮箱密码)重置密码查看操作记录(登录, 注册, 重置密码, 登出. 都算操作)登出在第2版的基础上进行优化:\ 优化点: VerificationCode(验证码储存库): 增加时间字段…

LAMP框架的架构与环境配置

1.LAMP架构的相关知识 1.1 LAMP架构的概述 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统、Apache网站服务器、MySQ…

追梦之旅【数据结构篇】——详解小白如何使用C语言实现堆数据结构

详解小白如何使用C语言实现堆数据结构 “痛”撕堆排序~😎前言🙌什么是堆?堆的概念及结构堆的性质:堆的实现堆向下调整算法画图分析:堆向下调整算法源代码分享:向下调整建小堆向下调整建大堆堆向上调整算法…

矩阵求逆_高斯消元法

高斯消元法流程 首先必须要判断矩阵是不是一个方阵,其方法是对于一个矩阵AnnA_{n \times n}Ann​,先构造一个增广矩阵W[A∣E]W[A \mid E]W[A∣E],其中EEE是一个nnn \times nnn的单位矩阵,这样WWW就成了一个n2nn \times 2nn2n的矩…

说说你对Event Loop(事件循环)的理解?

目录标题一、是什么二、事件循环三、宏任务和微任务微任务宏任务四、async与awaitasyncawait一、是什么 Javascript在设计之初便是单线程,即指程序运行时,只要一个线程存在,同一时间只能做一件事。 为了解决单线程运行阻塞问题,J…

【jvm系列-07】深入理解执行引擎,解释器、JIT即时编译器

JVM系列整体栏目 内容链接地址【一】初识虚拟机与java虚拟机https://blog.csdn.net/zhenghuishengq/article/details/129544460【二】jvm的类加载子系统以及jclasslib的基本使用https://blog.csdn.net/zhenghuishengq/article/details/129610963【三】运行时私有区域之虚拟机栈…

消息中间件Kafka分布式数据处理平台+ZooKeeper

目录 一.消息队列基本介绍 1.为什么需要消息队列(MQ) 2.使用消息队列的好处 2.1 解耦 2.2 可恢复性 2.3 缓冲 2.4 灵活性 & 峰值处理能力 2.5 异步通信 3.消息队列的两种模式 3.1 点对点模式 3.2 发布/订阅模式 二.Kafka基本介绍 1.Kaf…

【http】 get方法和Post方法区别;http和https

get方法和Post方法 get方法:通过url传参,回显输入的私密信息,不够私密 Post方法:通过正文传参,不会回显,一般私密性有保证。 一般如果上传的图片,音频比较大,推荐Post方法&#x…

Android中的AsyncTask

近期写了一个项目,在前台刷新界面的时候需要操作数据库,进行数据操作,在UI线程更新数据会导致ANR,程序十分卡,因此用了AsyncTask进行后台数据处理。 介绍 AsyncTask是一个用于在后台线程执行异步任务并在主线程更新U…

springboot+vue论坛管理系统(源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的论坛管理系统。项目源码请联系风歌,文末附上联系信息 。 目前有各类成品java毕设,需要请看文末联系方式 。ja…

1.分布式电源接入对配电网影响分析

说明书 相关代码资源地址:风、光、负荷场景生成;风电出力各场景及概率;光伏出力各场景及概率;负荷各场景及概率;场景的削减;样本概率初始化;样本削减 基于多目标算法的冷热电联供型综合能源系…

Android 自定义View 之 圆环进度条

圆环进度条前言正文一、XML样式二、构造方法三、测量四、绘制① 绘制进度条背景② 绘制进度③ 绘制文字五、API方法六、使用七、源码前言 很多时候我们会使用进度条,而Android默认的进度条是长条的,从左至右。而在日常开发中,有时候UI为了让页…

亚马逊云科技为游戏全生命周期提供保障,降低游戏整体运营成本

开发一个“爆款”游戏总共需要几步?Marvel Snap可能会告诉你:第一步,专心致志把游戏做好、提高可玩性;第二步,把其他工作交给亚马逊云科技。 相关数据显示,自2022年10月18日正式发行以来,在不…

L2-044 大众情人分数 25分

人与人之间总有一点距离感。我们假定两个人之间的亲密程度跟他们之间的距离感成反比,并且距离感是单向的。例如小蓝对小红患了单相思,从小蓝的眼中看去,他和小红之间的距离为 1,只差一层窗户纸;但在小红的眼里&#xf…

【Hello Linux】信号量

作者:小萌新 专栏:Linux 作者简介:大二学生 希望能和大家一起进步! 本篇博客简介:简单介绍linux中信号量的概念 信号量信号量的概念信号量的使用信号量函数二元信号量模拟互斥功能基于环形队列的生产者消费者模型空间资…

CSS快速入门-选择器和优先级

文章目录CSS简介选择器CSS样式优先级CSS简介 CSS是一种用于样式化网页的语言,全称为“层叠样式表”(Cascading Style Sheets)。 它可以控制网页中元素的外观和布局,例如颜色、字体、大小、边距、对齐等,让网页变得更…