[oeasy]python051_什么样的变量名能用_标识符_identifier

本文涉及的产品
应用实时监控服务-用户体验监控,每月100OCU免费额度
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 本文介绍了Python中变量名的命名规则,强调标识符(identifier)必须以字母或下划线开始,后续可包含字母、下划线及数字。通过`isidentifier()`函数可验证字符串是否为合法标识符。文中还探讨了为何数字不能作为标识符的开头,并提供了相关练习与解答,最后提及这些规则源自C语言的影响。

什么样的变量名能用_标识符_identifier

回忆上次内容

  • 上次 我们 研究了
  • 变量的
  • 就有
  • 原本的
  • 是 在程序退出时
  • 自动执行的
  • 也 可以 在运行过程中
  • 手动给变量 赐死
  • 突然死亡
  • 就是 del
  • del 了之后
  • 在 当前作用域(scope)内
  • 就 找不到 这个变量 了
  • 也就是 说a 消失了😱

  • 当然 我们还可以
  • 让a重生
  • 感觉 自己成
  • 变量造物主 了

  • 变量名 该怎么起呢?🤔

标识符命名规则

  • 赋值 是
  • 将 值 赋给 变量名
  • assign value to variable

  • 变量名
  • 比如 number 、 word
  • 都是 字符串
  • 这个字符串
  • 也叫标识符
  • identifier

identifier

  • 变量名
  • 就像 变量的 身份证🆔
  • identity card

  • 之前 说的id函数
  • 就是身份证
  • 有什么区别吗?

id

a = 0

print("id:", id(a))

  • id 查看的是
  • 变量 唯一的 内存地址

  • 保证同时存在的对象
  • 有唯一的地址

  • 标识符(identifier)
  • 唯一在哪儿呢?

identifier呢

  • 标识符(identifier)的 唯一
  • 指的是 变量名字是唯一的

a = 0

a = 1

  • 重新赋值
  • 不会 声明新变量
  • 只是 再次赋值
  • 什么样的 标识符
  • 合法的呢?

变量名

a1 = 456

  • a1 可以 作为变量名

1a = 789

  • 1a 能 作变量名

  • 为什么呢?

问问ai

  • a1是
  • 字母开头
  • 后面 接数字
  • 1a 属于是
  • 数字开头的
  • 不行
  • 深入游乐场
  • 看看python怎么说

查看文档

  • 进入帮助模式

找到主题

  • 找到主题
  • IDENTIFIERS
  • 标识符

标识符

  • 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 和 c 一模一样
  • 为什么c 要有 这么个惯例 呢?

问ai

  • 数字开头 一般都被认作
  • 数字常量

数字常量

  • 这惯例 是为了 区分
  • 标识符
  • 数字常量

  • 如何判断字符串
  • 合法的标识符呢?

identifier

  • 按q退出帮助细则

  • 按回车 退出帮助模式
  • 回到 游乐场 >>>

help(str.isidentifier)

  • 字符串类(str)
  • 有isidentifier()函数
  • 判断字符串 是否为 合法标识符

答案

  • 比如
  • "abc"
  • 是不是合法标识符呢?
  • isidentifier()?

"abc".isidentifier()

  • True
  • abc是合法的标识符

  • 这是 字母开头
  • 符合要求
  • 要是 数字开头 的呢?

数字开头

"98k".isidentifier()

  • 而字符串 "98k"
  • 就不符合要求了

  • 如果就想 用"98k"
  • 当 标识符 呢?

下划线

  • 硬上是不行的!😭

  • 有什么解决的方法吗?

解决方法

  • 如果 要 数字开头的话
  • 前面 不是可以 加下划线(underscore) 嘛!
  • 看起来 就像 98k

  • _98k报了NameError!!!😄
  • 有戏!!!
  • 符合 要求 吗?

命名规则

"_98k".isidentifier()

  • 符合规则!!😄

  • 真能赋值吗?!🤔

赋值

_98k = "ak47"

  • 真能赋值!!😄

  • 不用硬上
  • 也能赋值

练习

  • 以下哪些变量名是合法的?
  • oeasy
  • o2z
  • o?z
  • o,z
  • _orz
  • 0rz
  • __0rz
  • 使用isidentifier函数
  • 验证 一下 你的判断

思路

  • 猜对了吗?!🤔

  • 标识符 只能 由 字母、下划线、数字 组成
  • 开头不能是 数字

总结

  • 这次我们了解了 标识符 要求
  • 字符 为 字母和下划线
  • 后面字符 为 字母和下划线 外加 数字

  • 使用isidentifier函数 可以验证
  • 标识符 是否合法
  • 规则 可以追溯到 c语言
  • c语言 为什么
  • 会影响到 python 呢?🤔
相关文章
|
13天前
|
人工智能 自动驾驶 大数据
预告 | 阿里云邀您参加2024中国生成式AI大会上海站,马上报名
大会以“智能跃进 创造无限”为主题,设置主会场峰会、分会场研讨会及展览区,聚焦大模型、AI Infra等热点议题。阿里云智算集群产品解决方案负责人丛培岩将出席并发表《高性能智算集群设计思考与实践》主题演讲。观众报名现已开放。
|
6天前
|
自然语言处理 数据可视化 API
Qwen系列模型+GraphRAG/LightRAG/Kotaemon从0开始构建中医方剂大模型知识图谱问答
本文详细记录了作者在短时间内尝试构建中医药知识图谱的过程,涵盖了GraphRAG、LightRAG和Kotaemon三种图RAG架构的对比与应用。通过实际操作,作者不仅展示了如何利用这些工具构建知识图谱,还指出了每种工具的优势和局限性。尽管初步构建的知识图谱在数据处理、实体识别和关系抽取等方面存在不足,但为后续的优化和改进提供了宝贵的经验和方向。此外,文章强调了知识图谱构建不仅仅是技术问题,还需要深入整合领域知识和满足用户需求,体现了跨学科合作的重要性。
|
1月前
|
存储 人工智能 弹性计算
阿里云弹性计算_加速计算专场精华概览 | 2024云栖大会回顾
2024年9月19-21日,2024云栖大会在杭州云栖小镇举行,阿里云智能集团资深技术专家、异构计算产品技术负责人王超等多位产品、技术专家,共同带来了题为《AI Infra的前沿技术与应用实践》的专场session。本次专场重点介绍了阿里云AI Infra 产品架构与技术能力,及用户如何使用阿里云灵骏产品进行AI大模型开发、训练和应用。围绕当下大模型训练和推理的技术难点,专家们分享了如何在阿里云上实现稳定、高效、经济的大模型训练,并通过多个客户案例展示了云上大模型训练的显著优势。
|
1月前
|
存储 人工智能 调度
阿里云吴结生:高性能计算持续创新,响应数据+AI时代的多元化负载需求
在数字化转型的大潮中,每家公司都在积极探索如何利用数据驱动业务增长,而AI技术的快速发展更是加速了这一进程。
|
1天前
|
人工智能 容器
三句话开发一个刮刮乐小游戏!暖ta一整个冬天!
本文介绍了如何利用千问开发一款情侣刮刮乐小游戏,通过三步简单指令实现从单个功能到整体框架,再到多端优化的过程,旨在为生活增添乐趣,促进情感交流。在线体验地址已提供,鼓励读者动手尝试,探索编程与AI结合的无限可能。
|
5天前
|
Cloud Native Apache 流计算
PPT合集|Flink Forward Asia 2024 上海站
Apache Flink 年度技术盛会聚焦“回顾过去,展望未来”,涵盖流式湖仓、流批一体、Data+AI 等八大核心议题,近百家厂商参与,深入探讨前沿技术发展。小松鼠为大家整理了 FFA 2024 演讲 PPT ,可在线阅读和下载。
3040 10
PPT合集|Flink Forward Asia 2024 上海站
|
2天前
|
人工智能 自然语言处理 前端开发
从0开始打造一款APP:前端+搭建本机服务,定制暖冬卫衣先到先得
通义灵码携手科技博主@玺哥超carry 打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用 AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。
873 11
|
19天前
|
人工智能 自然语言处理 前端开发
100个降噪蓝牙耳机免费领,用通义灵码从 0 开始打造一个完整APP
打开手机,录制下你完成的代码效果,发布到你的社交媒体,前 100 个@玺哥超Carry、@通义灵码的粉丝,可以免费获得一个降噪蓝牙耳机。
5863 16
|
1月前
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
|
12天前
|
机器学习/深度学习 人工智能 安全
通义千问开源的QwQ模型,一个会思考的AI,百炼邀您第一时间体验
Qwen团队推出新成员QwQ-32B-Preview,专注于增强AI推理能力。通过深入探索和试验,该模型在数学和编程领域展现了卓越的理解力,但仍在学习和完善中。目前,QwQ-32B-Preview已上线阿里云百炼平台,提供免费体验。