Python 中的变量还能这样理解(白话)
一、案例分析
1.思考

- 计算软件测试大佬柠檬小姐姐,每月能存多少钱
# 计算软件测试大佬柠檬小姐姐,每月能存多少钱
# 坐标:深圳
# 2018年1月份
# 房租水电 4000元
# 伙食费 1000元
# 化妆品 800元
print(25000 - 4000 - 1000 - 800)
# 2018年2月份
# 房租水电 4000元
# 吃的比较好,伙食费 1500元
# 买了个lv包包 3000元
print(25000 - 4000 - 1500 - 3000)
2.遇到的痛点

- 过了一段时间之后,根本就不记得,这里的25000、4000这些数字指的是什么了?
- 如果计算每个月的开支,对于固定的费用(工资、房租水电等),每个月都要写一遍,无法简化计算
3.解决痛点
# 使用标记(变量)来解决痛点
income = 25000 # 工资收入
rent_cost = 4000 # 房租
meals_cost = 1000 # 伙食费
other_cost = 800 # 其他费用
# 2018年1月份
# 房租水电 4000元
# 伙食费 1000元
# 化妆品 800元
print(income - rent_cost - meals_cost - other_cost)
# 2018年2月份
# 房租水电 4000元
# 吃的比较好,伙食费 1500元
# 买了个lv包包 3000元
meals_cost = 1500
other_cost = 3000
print(income - rent_cost - meals_cost - other_cost)
二、什么是变量
类似便利贴(标签贴)、名字

有个人叫“二狗子”
1、可以通过“二狗子”这个名字,找到那个人
2、仅仅通过“二狗子”这个名字,是不知道,他到底是帅、还是丑、是高还是矮、有钱还是没钱的
3、只能通过“二狗子”这个名字所对应的那个人,才能知道这些信息。
- 可以通过变量访问所对应的值
- 变量的类型是由值决定的
三、创建变量
- 每个变量在使用前都必须赋值(否则会报错),变量赋值以后,该变量才会被创建
- 等号
=(赋值操作符)用来给变量赋值=左边是变量名(最好能做到见名知意)=右边是变量所指向的值
变量名 = 值
变量定义之后,后续就可以直接使用了
四、变量结构
- 类比图
- 类似于便利贴,贴在值上面

- 类似于便利贴,贴在值上面
my_int = 103204934813

在内存中的结构

与其他开发语言的区别:
在C语言中,变量类似于一个容器,赋给它的值,装在容器中
定义一个变量
int a = 1;
给变量a重新赋值
a = 2;
把变量a赋值给另外一个变量b
int b = a;
- 会重新创建一个变量b(容器),将a中的内容复制粘贴至b中
在python中,变量类似于便利贴(名字)
- 定义一个变量
a = 1
- 给变量a重新赋值
a = 2
- 把变量a赋值给另外一个变量b
b = a
- 创建新的便利贴b,与a同时贴到值上
- 定义一个变量
五、变量赋值

- 最终便利贴b、c贴在3上,a贴在“hello”上
first_list = [10, "可优", False, 18, 20]
second_list = first_list # first_list和second_list都贴在列表[10, "可优", False, 18, 20]上
id(first_list) # 2416657034632
id(second_list) # 2416657034632
# 修改列表,添加一个100这个值
first_list.append(100)
print(first_list) # [10, '可优', False, 18, 20, 100]
print(second_list) # [10, '可优', False, 18, 20, 100]
六、变量的命名规则
- 需要见名知义,通过变量名,就知道它所指向的值是什么
- 变量名可以由字母、下划线 和数字 组成
- 但是不能以数字开头
- 页不能与关键字重名
- 建议不要与内置函数或者类重名,不然会覆盖原始内置函数的功能
- 被视为一种惯例,并无绝对性与强制性
- 目的是为了 增加代码的可读性
注意 Python中的 标识符 是 区分大小写的

keyou = "哦哦"
KeYou = "哈哈"
keYou = "呵呵"
# keyou、KeYou和keYou是不同的三个变量
在定义变量时,为了保证代码可读性,
=的左右应该各保留一个空格在
Python中,如果 变量名 需要由 二个 或 多个单词 组成时,可以按照以下方式命名:- 每个单词都使用小写字母
- 单词与单词之间使用
_下划线 连接 - 例如:
first_name、last_name、your_name、tel_num
实例:
Conventional Style Unconventional Style Why Unconventional my_int myInt camelCase not conventional int4 Int4 Upper-case first letter not conventional my_first_string myFirstString camelCase not conventional
七、一个变量包含的内容
- 变量的名称
- 变量保存的数据
- 变量存储数据的类型(使用type获取)
- 变量的地址(使用id获取)
八、变量类型案例
需求:定义柠檬小姐姐的个人信息
- 姓名:柠檬
- 年龄:18
- 性别:不是男生
- 身高:1.6m
- 体重:45.5kg
"""
变量的数据类型演练
描述软件测试大佬柠檬小姐姐的个人信息
"""
username = "柠檬" # 为字符串str
age = 18 # 为整数int
gender = False # 为布尔bool
height = 1.6 # 为浮点float
weight = 45.5 # 为浮点float
提问
a.一共有几种数据类型?
- 4 种
str—— 字符串int—— 整数bool—— 布尔(真假)float—— 浮点数(小数)
b.在 Python 中定义变量时需要指定类型吗?
- 不需要(在其他很多高级语言中都需要)
Python可以根据=等号右侧的值,自动推导出变量中存储数据的类型- 使用
type函数可以查看一个变量的类型
九、变量的类型
数据类型可以分为 数字型 和 非数字型
数字型
int float complex 10 0.0 3.14j 100 15.20 45.j -786 -21.9 9.322e-36j 080 32.3+e18 .876j -0490 -90. -.6545+0J -0x260 -32.54e100 3e+26J 0x69 70.2-E12 4.53e-7j - 整型 (
int) - 浮点型(
float) - 布尔型(
bool)- 真
True非 0 数—— 非零即真 - 假
False0
- 真
- 复数型 (
complex)- 主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题
- 整型 (
非数字型
- 字符串
- 列表
- 元组
- 字典
提示:在 Python 2.x 中,整数 根据保存数值的长度还分为:
int(整数)long(长整数)
其他分类方法:


- 实例
my_string = 'Hello, World!'
my_flt = 45.06
my_bool = 5 > 9 #A Boolean value will return either True or False
my_list = ['item_1', 'item_2', 'item_3', 'item_4']
my_tuple = ('one', 'two', 'three')
my_dict = {'letter': 'g', 'number': 'seven', 'symbol': '&'}
Python 中的变量还能这样理解(白话)的更多相关文章
- python中的变量与对象
一. 什么是变量 变量就是以前学习的数学中常见的等式x = 3(x是变量,3是变量值),在编程中,变量不仅可以是数学,还可以是任意数据类型 二. 变量的命名规则 变量名必须是英文大小写.数字和_的组合 ...
- python中星号变量的几种特殊用法
python中星号变量的几种特殊用法 不知道大家知不知道在Python中,星号除了用于乘法数值运算和幂运算外,还有一种特殊的用法"在变量前添加单个星号或两个星号",实现多参数的传入 ...
- Python中的变量、引用、拷贝和作用域
在Python中,变量是没有类型的,这和以往看到的大部分编辑语言都不一样.在使用变量的时候,不需要提前声明,只需要给这个变量赋值即可.但是,当用变量的时候,必须要给这个变量赋值:如果只写一个变量,而没 ...
- Python中的变量和常量
本文主要介绍Python中的变量和常量,包括变量的命名规范,使用注意事项 -------------- 完美的分割线 --------------- 1.变量 1.1.变量理解 1)什么是变量 变量即 ...
- python学习(九)python中的变量、引用和对象的关系
<Think In Java>中说到过"万事万物皆对象",这句话也可以用在Python中. 感觉Python中的变量有点像Javascript中的变量,是弱类型的,但是 ...
- python中的变量和字符串
一.变量 1.python变量 *变量用于存储某个或某些特定的值,它与一个特定标识符相关联,该标识符称为变量名称.变量名指向存储在内存中的值.在创建变量时会在内存中开辟一个空间.基于变量的数据类型,解 ...
- 通俗易懂方式解说Python中repr(变量)和str(变量)函数的区别
老猿在<Python中repr(变量)和str(变量)的返回值有什么区别和联系>介绍了repr(变量)和str(变量)的区别和联系(对应特殊方法__repr__和__str__),但老猿刚 ...
- Python中repr(变量)和str(变量)的返回值有什么区别和联系
Python中repr(变量)和str(变量)都返回一个描述对象的字符串,二者有关联又有不同.由于Python3.0后都是新式类,我们的分析也是基于新式类进行的.基于object派生的新式类中二者之间 ...
- Python中的变量以及变量的命名
1.变量的定义 在 python 中,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建 等号(=)用来给变量赋值 =左边是一个变量名 =右边是存储在变量中的值 变量名=值 变量定义之后,后续就 ...
随机推荐
- jQuery查找
导航查找方法: 向下查找兄弟标签: $().next() $().nextAll() 向上查找兄弟标签: 可以查找所有兄弟标签: 查找子标签 查找父级标签: $().parent() $().pare ...
- 洛谷 P3808 【模板】AC自动机(简单版)洛谷 P3796 【模板】AC自动机(加强版)
https://www.cnblogs.com/gtarcoder/p/4820560.html 每个节点的后缀指针fail指针指向: 例如he,she,his,hers的例子(见蓝书P214): 7 ...
- 洛谷 P2061 [USACO07OPEN]城市的地平线City Horizon
简化版的矩形面积并,不用线段树,不用离散化,代码意外的简单 扫描线,这里的基本思路就是把要求的图形竖着切几刀分成许多矩形,求面积并.(切法就是每出现一条与y轴平行的线段都切一刀) 对于每一个切出来的矩 ...
- MyEclipse2014+Maven配置记录
一.MyEclipse配置Maven 打开MyEclipse2014,选择菜单:Window --> Preferences,选择:MyEclipse-Maven4MyEclipse-Insta ...
- windows 迁移数据库
1) Prerequisites ---------------- - The copy of the datafiles must be done with the database clos ...
- jmeter(一)工具介绍(二)
1.Jmeter 概要描叙 jmeter 是一款专门用于功能测试和压力测试的轻量级测试开发平台.多数情况下是用作压力测试,该测试工具在阿里巴巴有着广泛的使用,估计是不要钱吧,哈哈,功能上来说,整个平台 ...
- LD_LIBRARY_PATH与-L的关系以及延伸
最近跟同学讨论c++在编译时g++ -L.. 和LD_LIBRARY_PATH的问题,今天在做一个东西的时候发现,我对这两个东西的理解是错误的,经过一番研究,写下我对这些东西的想法,如果有不对的地方, ...
- Windowsforms 中 进程,线程
进程: 进程是一个具有独立功能的程序关于某个数据集合的一次运行活动. 它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体. Process 类,用来操作进程. 命名空间:using Syst ...
- html5的表单元素总结
- 关于使用myeclipse搭建tomcat环境运行web项目的方法
这两天准备改同事的一个系统的自适应,然而我没想到的是我竟然在打开这个项目上就遇到了困难,真的是too young too simple,究其根本就是了解的太少了,于是为了我不忘记,用博客的方式把它记录 ...