一、案例分析

1.思考

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

2.遇到的痛点

  • 过了一段时间之后,根本就不记得,这里的25000、4000这些数字指的是什么了?
  • 如果计算每个月的开支,对于固定的费用(工资、房租水电等),每个月都要写一遍,无法简化计算

3.解决痛点

  1. # 使用标记(变量)来解决痛点
  2. income = 25000 # 工资收入
  3. rent_cost = 4000 # 房租
  4. meals_cost = 1000 # 伙食费
  5. other_cost = 800 # 其他费用
  6. # 2018年1月份
  7. # 房租水电 4000元
  8. # 伙食费 1000元
  9. # 化妆品 800元
  10. print(income - rent_cost - meals_cost - other_cost)
  11. # 2018年2月份
  12. # 房租水电 4000元
  13. # 吃的比较好,伙食费 1500元
  14. # 买了个lv包包 3000元
  15. meals_cost = 1500
  16. other_cost = 3000
  17. print(income - rent_cost - meals_cost - other_cost)

二、什么是变量

  • 类似便利贴(标签贴)、名字

  • 有个人叫“二狗子”

    1. 1、可以通过“二狗子”这个名字,找到那个人
    2. 2、仅仅通过“二狗子”这个名字,是不知道,他到底是帅、还是丑、是高还是矮、有钱还是没钱的
    3. 3、只能通过“二狗子”这个名字所对应的那个人,才能知道这些信息。
    • 可以通过变量访问所对应的值
    • 变量的类型是由值决定的

三、创建变量

  • 每个变量在使用前都必须赋值(否则会报错),变量赋值以后,该变量才会被创建
  • 等号=(赋值操作符)用来给变量赋值
    • = 左边是变量名(最好能做到见名知意)
    • = 右边是变量所指向的值
  1. 变量名 =

变量定义之后,后续就可以直接使用了

四、变量结构

  • 类比图

    • 类似于便利贴,贴在值上面

  1. 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”上
  1. first_list = [10, "可优", False, 18, 20]
  2. second_list = first_list # first_list和second_list都贴在列表[10, "可优", False, 18, 20]上
  3. id(first_list) # 2416657034632
  4. id(second_list) # 2416657034632
  5. # 修改列表,添加一个100这个值
  6. first_list.append(100)
  7. print(first_list) # [10, '可优', False, 18, 20, 100]
  8. print(second_list) # [10, '可优', False, 18, 20, 100]

六、变量的命名规则

  • 需要见名知义,通过变量名,就知道它所指向的值是什么
  • 变量名可以由字母下划线数字 组成
  • 但是不能以数字开头
  • 页不能与关键字重名
  • 建议不要与内置函数或者类重名,不然会覆盖原始内置函数的功能
  • 被视为一种惯例,并无绝对性与强制性
  • 目的是为了 增加代码的可读性

注意 Python中的 标识符区分大小写的

  1. keyou = "哦哦"
  2. KeYou = "哈哈"
  3. keYou = "呵呵"
  4. # keyou、KeYou和keYou是不同的三个变量
  • 在定义变量时,为了保证代码可读性,= 的左右应该各保留一个空格

  • Python 中,如果 变量名 需要由 二个多个单词 组成时,可以按照以下方式命名:

    • 每个单词都使用小写字母
    • 单词与单词之间使用 _下划线 连接
    • 例如:first_namelast_nameyour_nametel_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
  1. """
  2. 变量的数据类型演练
  3. 描述软件测试大佬柠檬小姐姐的个人信息
  4. """
  5. username = "柠檬" # 为字符串str
  6. age = 18 # 为整数int
  7. gender = False # 为布尔bool
  8. height = 1.6 # 为浮点float
  9. 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 数 —— 非零即真
      • False 0
    • 复数型 (complex)
      • 主要用于科学计算,例如:平面场问题、波动问题、电感电容等问题
  • 非数字型

    • 字符串
    • 列表
    • 元组
    • 字典

提示:在 Python 2.x 中,整数 根据保存数值的长度还分为:

  • int(整数)
  • long(长整数)

其他分类方法:



  • 实例
  1. my_string = 'Hello, World!'
  2. my_flt = 45.06
  3. my_bool = 5 > 9 #A Boolean value will return either True or False
  4. my_list = ['item_1', 'item_2', 'item_3', 'item_4']
  5. my_tuple = ('one', 'two', 'three')
  6. my_dict = {'letter': 'g', 'number': 'seven', 'symbol': '&'}

Python 中的变量还能这样理解(白话)的更多相关文章

  1. python中的变量与对象

    一. 什么是变量 变量就是以前学习的数学中常见的等式x = 3(x是变量,3是变量值),在编程中,变量不仅可以是数学,还可以是任意数据类型 二. 变量的命名规则 变量名必须是英文大小写.数字和_的组合 ...

  2. python中星号变量的几种特殊用法

    python中星号变量的几种特殊用法 不知道大家知不知道在Python中,星号除了用于乘法数值运算和幂运算外,还有一种特殊的用法"在变量前添加单个星号或两个星号",实现多参数的传入 ...

  3. Python中的变量、引用、拷贝和作用域

    在Python中,变量是没有类型的,这和以往看到的大部分编辑语言都不一样.在使用变量的时候,不需要提前声明,只需要给这个变量赋值即可.但是,当用变量的时候,必须要给这个变量赋值:如果只写一个变量,而没 ...

  4. Python中的变量和常量

    本文主要介绍Python中的变量和常量,包括变量的命名规范,使用注意事项 -------------- 完美的分割线 --------------- 1.变量 1.1.变量理解 1)什么是变量 变量即 ...

  5. python学习(九)python中的变量、引用和对象的关系

    <Think In Java>中说到过"万事万物皆对象",这句话也可以用在Python中. 感觉Python中的变量有点像Javascript中的变量,是弱类型的,但是 ...

  6. python中的变量和字符串

    一.变量 1.python变量 *变量用于存储某个或某些特定的值,它与一个特定标识符相关联,该标识符称为变量名称.变量名指向存储在内存中的值.在创建变量时会在内存中开辟一个空间.基于变量的数据类型,解 ...

  7. 通俗易懂方式解说Python中repr(变量)和str(变量)函数的区别

    老猿在<Python中repr(变量)和str(变量)的返回值有什么区别和联系>介绍了repr(变量)和str(变量)的区别和联系(对应特殊方法__repr__和__str__),但老猿刚 ...

  8. Python中repr(变量)和str(变量)的返回值有什么区别和联系

    Python中repr(变量)和str(变量)都返回一个描述对象的字符串,二者有关联又有不同.由于Python3.0后都是新式类,我们的分析也是基于新式类进行的.基于object派生的新式类中二者之间 ...

  9. Python中的变量以及变量的命名

    1.变量的定义 在 python 中,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建 等号(=)用来给变量赋值 =左边是一个变量名 =右边是存储在变量中的值 变量名=值 变量定义之后,后续就 ...

随机推荐

  1. 原生javascript实现计时器

    成品图如意下所示: 实现加到等于5的时候停止 搭建HTML结构 minutes:<input type="text" value="0"> seco ...

  2. Go 连接PostgreSQL数据库

    先在PostgreSQL数据库中建一个表,可以使用PostgreSQL官方的pgAdmin来完成: CREATE TABLE userinfo ( uid serial NOT NULL, usern ...

  3. spring boot 项目发布运行

    1. maven install 发布jar包 2. java -jar webservice.jar 启动jar包

  4. [USACO 2011 Dec Gold] Threatening Letter【后缀】

    Problem 3: Threatening Letter [J. Kuipers, 2002] FJ has had a terrible fight with his neighbor and w ...

  5. 洛谷 P2824 [HEOI2016/TJOI2016]排序 (线段树合并)

    (另外:题解中有一种思路很高妙而且看上去可以适用一些其他情况的离线方法) 线段树合并&复杂度的简单说明:https://blog.csdn.net/zawedx/article/details ...

  6. TC609 DIV1 (500)

    Problem Statement      We have balls of K different colors. The colors are numbered 0 through K-1, a ...

  7. ES之各种运算符,for、while、do while 、switch case循环

    运算符优先级: 在所有的运算符中,括号的优先级最高,赋值符号的优先级最低. 小括号 > 计算运算符 > 比较运算符 > 逻辑运算符 > 赋值符号———————————————— ...

  8. git --删除文件、重命名

    修改最后一次提交 git commit --amend -m “” 删除文件:. git rm <需要删除的文件> 只是删除当前工作目录和暂存区的文件,也就是取消跟踪.在下次提交时不纳入版 ...

  9. Java语法基础-异常处理

    异常处理类层次结构图 检查异常与非检查异常 非检查异常(unckecked exception):Error 和 RuntimeException 以及他们的子类.javac在编译时,不会提示和发现这 ...

  10. R Programming week1-Data Type

    Objects R has five basic or “atomic” classes of objects: character numeric (real numbers) integer co ...