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

- 这怎么理解呢??
- and 属于关键字

- 如何判断一个字符串是否是关键字呢?


- 关键字 是不能作为标识符的
- dir()查询模块的时候
- 经常会看到下划线

- 这些下划线如何理解?
- from module import * 时
- 以下划线开头的变量
- 不被其他模块引用

- 所以 _a 可以作为模块内部的变量或者函数
- 除非明确点名

- 指清名字 _pi
- 是可以导入的
- 不点名不能用吗?

- from random import *
- 无法导入_e

- 在游乐场里
- _下划线 意味着上次的值

- 在后面加上下划线
- 一般是为了区分已经有的标识符

- 使用max
- 会把max函数 屏蔽掉
- 使用max_
- 不会屏蔽 max函数

- 系统定义的标识符
- 模块名
- 函数名
- 变量名

- dunder变量都是有用意的
- 不要轻易破坏
- 类里面的私有名
- 无法直接存取
- 目的是
- 避免 和 父类或子类的私有变量 重名

- 我们再来看看 o 这个变量标识符
- o 两边并不加引号
- 因为 这里的 o 是 变量标识符
- 而不是 字符串
- 如果加了双引号 就是字符串了

- 在等号两端 都保留 有一个空格
- 可是 为什么要 加空格呢?
- 增加文档的可读性
- 这不会 影响程序的执行速度

- 这两句话从何说起
- 这两句话来自于python之禅

- 现在到底有多少变量呢?
- 查询本地变量
- 有一个内置的函数叫做 locals

- 可以查询关于 locals 的帮助

- 返回的是一个包含当前域中所有变量的字典
- 声明和赋值都使用等号
- 声明并赋值 变量o 之后
- 变量o 真的在内存里有位置了么?
- 我们来看看

- id函数是什么意思?
- help(id)

- id返回 对象o的标识符
- o 确实在内存中 有了位置
- 但是如果 我们给变量新赋 一个值
- 那么 存储变量的位置
- 还是那个 内存地址 么?
- 虽然 a这个变量名 没有变
- 但是 id(a)变了

- 也就是说
- a这个容器的 内存位置没变
- 但是a所指向的 变量位置
- 在内存中的位置 变了
- 两次赋值 都是STORE到a这个NAME里面
- 第二次赋值 和 第一次赋值
- 有什么区别吗?
- 变量的声明和赋值究竟有什么不同
- 第一次赋值时
- 声明和赋值是同时完成的

- 如果是 第二次赋值 呢?
- 声明了之后
- 再有 等号赋值 就是 第二次赋值

- 是 纯赋值
- 没有声明新的变量
- 这次 了解了isidentifier的细节
- 关于 关键字
- 关于 下划线
- 如何查询 变量所指向的地址?
- id
- 如何查询 已有的各种变量?
- locals
- 如果 用一个变量a的值
- 给另一个变量b 赋值
- 是什么样的过程 呢??
- 我们下次再说!
[oeasy]python0135_变量名与下划线_dunder_声明与赋值的更多相关文章
- 【已解决】SpringBoot + Mybatis-plus 实体类属性注解 @TableField 无法获取到数据库值(属性变量名带下划线)
问题描述: 实体类变量的命名格式 如果采用的是 XX_XX带下划线的形式,那么在低版本的mybatis-plus是不支持和数据库映射的. 如果是单个单词不存在这个问题,如果出现多个单词,尽量采用驼峰式 ...
- geotools导入shp文件到Oracle数据库时表名带下划线的问题解决
问题: 最近在做利用geotools导入shp文件到Oracle表中,发现一个问题Oracle表名带下划线时导入失败,问题代码行: dsOracle.getFeatureWriterAppend(or ...
- _ 下划线 vue mixins 混入 变量前有下划线 变量不起作用
_ 下划线 vue mixins 混入 变量前有下划线 变量不起作用
- python变量前的单下划线(私有变量)和双下划线()
1.单下划线 变量前的单下划线表示表面上私有 ,但是其实这样的实例变量外部是可以访问的,但是,按照约定俗成的规定,当你看到这样的变量时,意思就是,“虽然我可以被访问,但是,请把我视为私有变量,不要随意 ...
- python 私有和保护成员变量如何实现?—— "单下划线 " 开始的成员变量叫做保护变量,意思是只有类实例和子类实例能访问到这些变量;" 双下划线 " 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据
默认情况下,Python中的成员函数和成员变量都是公开的(public),在python中没有类似public,private等关键词来修饰成员函数和成员变量.在python中定义私有变量只需要在变量 ...
- Latex—IEEE Latex模板 期刊名带下划线的问题解决
其实期刊名应该是斜体字的,但是有可能默认模板会导致斜体变下划线的问题,解决方法如下 引用包: \usepackage{ulem} %to strike the words 然后再在: \bibliog ...
- thinkphp如果表名有下划线需要用Model
模型命名规范 ThinkPHP 对数据库的表名和模型类的命名遵循一定的规范.首先数据库的表名和字段全部采用小写形式,模型类的命名规则是除去表前缀的数据表名称,并且首字母大写,然后加上模型类的后缀定义. ...
- Python中类的变量,一个下划线与两个下划线的区别
形似 功能 __xx 这是私有变量, 只有内部可以访问,外部不可以访问.但是也不是一定不可以访问,只要以 _类名__xx样式就可以访问 .但最好不要这样做,养成良好编程习惯 _x 这是实例 ...
- vue里面的v-model的变量不要使用下划线
遇到一个问题,就是如果变量名是text_right,的时候更改v-model的值,则text_right不会更新,如果改成textRight就会更新,目前还不知道原因,先记录下来
- ThinkPHP如果表名有下划线需要用Model应该怎么做?
最近遇到一个问题,在用TP做系统的时候,我建立的表是 “tp_admin_user” 但是要用到的模型是 “AdminUserModel.model.class.php”,应该如何做? 解决方法: & ...
随机推荐
- 微信小程序校园跑腿系统怎么做,如何做,要做多久
在这个互联网快速发展.信息爆炸的时代,人人都离不开手机,每个人都忙于各种各样的事情,大学生也一样,有忙于学习,忙于考研,忙着赚学分,忙于参加社团,当然也有忙于打游戏的(还很多),但生活中的一些琐事 ...
- 昇腾开发全流程 之 MindSpore华为云模型训练
前言 学会如何安装配置华为云ModelArts.开发板Atlas 200I DK A2, 并打通一个训练到推理的全流程思路. 在本篇章,首先我们开始进入训练阶段! 训练阶段 A. 环境搭建 MindS ...
- 微服务实践k8s&dapr开发部署实验(2)状态管理
新建webapi项目 建项目时取消https支持,勾选docker支持, Program.cs中注释下面语句,这样部署后才能访问Swagger // Configure the HTTP reques ...
- 什么是Token?为什么大模型要计算Token数
本文分享自华为云社区<[技术分享]什么是Token?为什么GPT基于Token定价>,作者:开天aPaaS小助手Tracy. 在使用LLM大模型时,我们经常会遇到一个关键词,叫:Token ...
- Swift全局变量的线程安全分析
一.示例代码 import UIKit let obj = TestObj() class TestObj { init() { print("\(type(of: self)) init& ...
- 7.13晚考试总结(NOIP模拟14)[队长快跑·影魔·抛硬币]
樱花满地集于我心,楪舞纷飞祈愿相随 前言 终于没有令人头疼的数学了,总感觉这次考试的题目比较良心. 尤其是对于部分分的明细就非常到位(不像上一场的凭感觉给出部分分). 这就令我这种靠部分分暴力的菜鸡选 ...
- REACT 前端界面提交
在react项目中安装代理中间件 setupProxy.js文件 const { createProxyMiddleware: proxy } = require('http-proxy-middle ...
- react祖先与子孙多层传值
先做数据源store.js文件 // 状态 store 统一数据源 import React, { createContext } from 'react' // Provider 发布消息 // C ...
- SELinux 安全模型——TE
首发公号:Rand_cs SELinux 安全模型--TE 通过前面的示例策略,大家对 SELinux 应该有那么点感觉认识了,从这篇开始的三篇文章讲述 SELinux 的三种安全模型,会涉及一些代码 ...
- ABC330
D 记录每一行,每一列有多少个 o,然后统计答案即可. code E 想到 \(mex^{i \le n}_{i = 1} a_i \le n\) 这整个题就可做了(赛时因为没想到这个,痛失 \(47 ...