[oeasy]python0135_命名惯用法_name_convention

news2024/12/30 2:27:18

命名惯用法

回忆上次内容

  • 上次 了解了isidentifier的细节
    • 关于 关键字
    • 关于 下划线
  • 如何查询 变量所指向的地址?
    • id
  • 如何查询 已有的各种变量?
    • locals
  • 如果 用一个变量a的值
    • 给另一个变量b 赋值
    • 是什么样的过程 呢??🤔

指向

  • 声明变量a 并赋值为1
    • 是个数字变量
    • 是一个容器
    • 指向地址的值为1

图片描述

  • 声明b变量
    • 并且把a所指向的地址
    • 赋给容器b
  • 这样a和b指向同一个地址
  • 如果再把2赋给a呢?

再赋值

  • 当对a重新赋值的时候
    • a指向一个新的地址
    • b仍然指向原来的地址

图片描述

  • 那可以 在一行快速对两个变量 进行赋值 么?
    • 连等 赋值 可以吗?
      • a = b = 3

连等赋值

  • 可以一次赋值 好几个变量

图片描述

  • 确实可以
    • 这样 也可以 提高效率

图片描述

  • 其实 这两个等号

    • 相当于 两次声明并赋值
    • 先算的 是左边的
      • b = 3
    • 后算的 是右边的
      • a = b
  • 能否同时给两个变量赋不同的值?

一行赋值

图片描述

  • 这种情况经过一个解包过程
    • UNPACK过程
    • 将(3, 5)进行解包
  • 然后分别STORE进a, b
  • a, b 这些标识符还是比较简单的
    • 如果一个变量中有两个以上的单词组成
    • 比如说this year
  • 这个变量名应该怎么写呢?

大小写惯例

  • 关于单词的大小写方式
    • 叫做case convention
      • 大小写惯例
  • 有一些套路的

图片描述

  • 都有哪些 命名惯用法 呢?

三大标识符惯用法

  • 帕斯卡
    • 所有单词首字母大写
    • ThisYear
    • java中很常见的类名和变量名
  • 小驼峰
    • 首单词都小写,后面的首字母大写
    • setThisYear
    • java中的函数经常这么写
  • 蛇形
    • this_year

图片描述

  • python选的是哪个呢?

蛇形

图片描述

  • python几乎所有的标识符都用的是蛇形
    • 变量名
    • 函数名
    • 方法名
    • 模块名
    • 包名

图片描述

  • python为什么这么偏爱蛇形呢?

溯源

  • PASCAL本质上是驼峰类中的大驼峰

图片描述

  • 后来c语言和unix的出现
    • 同时带了一种新的命名惯用法

新的惯用法

  • 这种惯例出现在c、unix的源代码中
    • 也出现在The C Programming Language 这本书里面

图片描述

  • 以下划线作为分隔符
    • 很像空格但不是空格
  • 但是他和蛇有什么关系

蛇形命名

  • 蛇形命名方式起源于 1960 年代
  • 那时它甚至还没有特定的名称
    • 就是被叫做"带下划线的小写命名"
    • lower_case_with_underscores
  • Guido不喜欢大写字母
    • 因为觉得大写字母很装
    • 小写字母很舒服
    • 单程序里面必须要表示分隔符
    • python 从 c 语言中借鉴了下划线的命名法
    • 这个分隔符_在python中无处不在
    • 比如__builtins____py_cache__
    • 这种命名法的名字为lower_case_with_underscores
    • 但这名字拗口而且很难记
  • 2002年
    • intel和微软的员工在内部交流的时候
    • 起了snake_case名字
    • 很像蛇匍匐在地上
  • 2004年
    • ruby社区里面 Gavin Kistner 开始在Usenet上使用
    • 并且流传开来
  • 2015年
    • 根据下划线派生的
    • 中划线和上划线(lisp-case, kebab-case)的命名法也出现了

多单词命名法格式

图片描述

  • 这些就是关于命名法的资料
  • 还记得我们曾经的show_time.py吗?
    • show_time 是 哪种 命名惯用法 呢?
  • 我们去总结一下吧

总结

  • 这次研究了 一行赋值多个变量

    • a = b = 5
    • a, b = 7, 8
  • 还研究了 标识符的惯用法

    • python使用的是
      • snake_case蛇形命名法
      • 用下划线 分隔开小写字母的 方法
      • 这样就可以 更合理地 命名变量了
  • 变量变量 能变的量

    • 我可以 通过键盘录入 变量的值 吗?🤔
  • 我们下次再说!👋

  • 蓝桥->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/442722.html

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

相关文章

当,Kotlin Flow与Channel相逢

前言 之前的文章已经分析了Flow的相关原理与简单使用,Flow之所以用起来香,Flow便捷的操作符功不可没,而想要熟练使用更复杂的操作符,那么需要厘清Flow和Channel的关系。 本篇文章构成: 1. Flow与Channel 对比 1.1 Fl…

AVL树(C++实现)

文章目录 AVL树的概念AVL树结点定义AVL树的插入AVL树的旋转左单旋右单旋左右单旋右左双旋 AVL树的验证AVL树的性能AVL树及测试完整代码 AVL树的概念 二叉搜索树虽然可以缩短查找的效率,但如果数据有序或接近有序,那么二叉搜索树将退化为单支树,查找元素则相当于在顺序表中搜索…

从零手写Resnet50实战——利用 torch 识别出了虎猫和萨摩耶

大家好啊,我是董董灿。 自从前几天手写了一个慢速卷积之后(从零手写Resnet50实战—手写龟速卷积),我便一口气将 Resnet50 中剩下的算法都写完了。 然后,暴力的,按照 Resnet50 的结构,将手写的…

【Flowable】Flowable基础表结构

1.表结构讲解 表结构创建文件:flowable-engine-6.3.0.jar!\org\flowable\db\create\flowable.mysql.create.engine.sql 工作流程的相关操作都是操作存储在对应的表结构中,为了能更好的弄清楚Flowable的实现原理和细节,我们有必要先弄清楚Fl…

Python边缘检测之prewitt, sobel, laplace算子

文章目录 滤波算子简介具体实现测试 滤波算子简介 ndimage中提供了卷积算法,并且建立在卷积之上,提供了三种边缘检测的滤波方案:prewitt, sobel以及laplace。 在convolve中列举了一个用于边缘检测的滤波算子,统一维度后&#xf…

es6 const的使用

1.const用来定义常量&#xff0c;赋值知乎不能再赋值&#xff0c;再次赋值会报错。 <script>//1.定义常量&#xff0c;赋值后不能再赋值&#xff0c;在赋值报错const count 1// count 2</script> ​ 2.const不能只声明不赋值&#xff0c;会报错。 <script>…

智能学习 | MATLAB实现CS-BP多变量时间序列预测(布谷鸟搜索算法优化BP神经网络)

智能学习 | MATLAB实现CS-BP多变量时间序列预测(布谷鸟搜索算法优化BP神经网络) 目录 智能学习 | MATLAB实现CS-BP多变量时间序列预测(布谷鸟搜索算法优化BP神经网络)预测效果基本介绍程序设计参考资料预测效果 基本介绍 MATLAB实现CS-BP多变量时间序列预测(布谷鸟搜索算法…

chatGPT衣食住行10种场景系列教程(01)chatGPT热点事件+开发利器

导读 时隔5个多月&#xff0c;chatGPT可谓是一日千里&#xff0c;越演越火&#xff0c;携带着AIGC行业一起飞了起来&#xff0c;那么在短短5个月当中有那些值得我们关注的事件&#xff1f;有那些好玩的场景&#xff1f;以及有那些chatGPT好用的工具&#xff1f;本文都将一一告…

大数据时代必备技能,学好数据可视化

互联网时代&#xff0c;都在强调数据分析的重要性&#xff0c;但是干巴巴的数据没人爱看&#xff0c;老板们对“简单直观地看数据”的需求愈发强烈。随着大数据建设的如火如荼&#xff0c;别讲底层技术和算法牛逼&#xff0c;最终的效率提升、业绩提升要通过数据展示出来&#…

vba:消息框基础,msgbox

常量常量值说明vbOKOnly0只显示“确定”按钮&#xff08;缺省值&#xff09;VbOKCancel1显示“确定”和“取消”按钮VbAbortRetryIgnore2显示“终止”、“重试”和“忽略” 按钮VbYesNoCancel3显示“是”、“否”和“取消”按钮VbYesNo4显示“是”和“否”按钮VbRetryCancel5显…

Python爬虫实战——获取电影影评

Python爬虫实战——获取电影影评 前言第三方库的安装示例代码效果演示结尾 前言 使用Python爬取指定电影的影评&#xff0c; 注意&#xff1a;本文仅用于学习交流&#xff0c;禁止用于盈利或侵权行为。 操作系统&#xff1a;windows10 家庭版 开发环境&#xff1a;Pycharm Co…

Linux 服务简单优化

硬件优化 处理器&#xff1a;核心数、主频、制程工艺、线程数、缓存等 核心数&#xff1a;1、2、4、6、8、12、24、32等 主频&#xff1a;2.0GHz、2.3GHz等等 制程工艺&#xff1a;22nm、14nm、10nm等等 线程数&#xff1a;1、2 缓存&#xff1a;L1、L2、L3 建议&#xff1a;尽…

OpenHarmony 3.2 Release特性更新简析

1.ArkUI 组件能力增强 支持XComponent控件&#xff0c;可用于EGL/OpenGL ES和媒体数据写入&#xff0c;并在XComponent组件显示&#xff1b;通过XComponent组件&#xff0c;配合NDK能力&#xff0c;构建C/ArkTS混合开发能力&#xff0c;支持游戏、媒体应用开发支持AbilityCom…

前端学习:HTML内联框架

目录 一、HTML Iframe 二、添加iframe的语法 三、Iframe设置高度和宽度 ​编辑 四、Iframe删除边框 五、使用iframe作为链接的目标 六、补充 一、HTML Iframe iframe用于在网页内显示网页。 二、添加iframe的语法 <iframe src"URL"></iframe> 提示…

“计数”排序

目录 一、什么是计数排序&#xff1f;二、如何实现计数排序&#xff1f;三、适用场景四、时间复杂度和空间复杂度 一、什么是计数排序&#xff1f; 计数排序&#xff0c;是通过统计每一个数字出现的次数&#xff0c;并把它映射到与它自己本身数值相同的下标处&#xff0c;再遍…

HoloLens2场景理解,识别平面信息

因为可用的资料比较少,就记录下吧,大家也可以少走弯路,节省时间。 场景理解,通俗的讲,可以识别空间当中的墙面、地板、天花板、平台等. 场景理解&#xff08;Scene Understanding&#xff09;是指 HoloLens2 通过深度传感器、摄像头和计算机视觉算法等技术&#xff0c;能够对…

Centos安装Nvidia驱动解决内核版本不匹配问题

Centos安装Nvidia驱动解决内核版本不匹配问题 问题分析尝试解决 写程序三分钟&#xff0c;配环境三小时&#xff0c;尤其是在一台全新机器/重装系统后。。。 已经解决的&#xff1a; 禁用nouveau驱动并重启电脑&#xff08;参考这篇博客&#xff09;缺少cc&#xff0c;手动yum…

C++---状态压缩dp---炮兵阵地(每日一道算法2023.4.17)

注意事项&#xff1a; 本题为"状态压缩dp—蒙德里安的梦想"和"状态压缩dp—小国王"和"状态压缩dp—玉米田"的近似题&#xff0c;建议先阅读这三篇文章并理解。 题目&#xff1a; 司令部的将军们打算在 NM 的网格地图上部署他们的炮兵部队。 一个…

Pytorch中的仿射变换(F.affine_grid)

目录 1、平移操作实现 2、缩放操作 3、旋转操作 4、转置操作 在pytorch框架中&#xff0c; F.affine_grid 与 F.grid_sample&#xff08;torch.nn.functional as F&#xff09;联合使用来对图像进行变形。 F.affine_grid 根据形变参数产生sampling grid&#xff0c;F.grid_…