• 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_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
    """
    变量的数据类型演练
    描述软件测试大佬柠檬小姐姐的个人信息
    """
    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 数 —— 非零即真
        • False 0
      • 复数型 (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': '&'}
    
    *******请大家尊重原创,如要转载,请注明出处: 转载自:https://www.cnblogs.com/keyou1/,谢谢!!*******
    *******有任何疑问,欢迎加入软件测试交流群:699968364(加群时,请备注:博客园-可优)。博主QQ:3429173264*******
  • 相关阅读:
    (转)mtr命令详解诊断网络路由
    WinDbg使用介绍
    windbg-bp、 bm、 bu、 bl、 bc、 ba(断点、硬件断点)
    【转】25.windbg-!gle、g(错误码、g系列)
    umdh windbg分析内存泄露
    windbg !logexts(自带的监控API)
    windbg cs
    windbg dds、dps、dqs
    Windbg找出memory leak的一种笨办法
    【转】windows平台多线程同步之Mutex的应用
  • 原文地址:https://www.cnblogs.com/keyou1/p/10844416.html
Copyright © 2020-2023  润新知