04-python你得知道的语法基础--变量和基本数据类型

一.变量

  1.定义:顾名思义可以变化的量。  你感觉我说的是废话!!!矮跟说了,我说的没有一句是废话。

  2.作用:记录事物的状态,状态是可以变化的。

      王者荣耀你玩过没,一局游戏刚开始等级是1,最后可以到15级,这就是状态的变化。啥?!你没玩过,那你快去给老马做个贡献。

      实在不想玩的话,其实你的年龄也是一个变量,今年18岁,明年19岁,这也是状态的变化哦!除非你的年龄永远定格,三鞠躬。。。。

  3.如何使用变量:

    3.1 变量的基本使用:先定义后使用

      本宫就在那,你不喊我的名字,我怎么知道你喊的是本宫!!!

      变量原理

 

      1 name = 'amy'  # 先定义,存
      2 print(name)    # 后使用,取

    3.2 变量的三大组成部分:

      变量名:用来指向等号右侧的内存地址,用来访问等号右侧的值。

          注意:变量名必须绑定值否则会报错,但是值可以不绑定变量名,不会报错,但可能会被python解释器当成垃圾。。。。。

      赋值符号:将变量值得内存地址绑定给变量名

      值:代表记录的事物的状态

   3.3 变量名的命名规则:

      你爸妈给你起名字总不能随随便便叫什么123、@#¥吧,虽然秦桧是个人名,但我相信没几个爸妈会给孩子起这个名字,除非。。。你是充话费送的。
      1.必须是字母、数字、下划线组成
      2.数字不能开头
      3.关键字不能声明为变量
      4.不要使用拼音和汉字作为变量名,在见名知意的前提下尽可能简洁。
   3.4变量名的命名风格
      1.纯小写字母加下划线(python推荐使用的变量命名规则)
        age_amy = 18
      2.驼峰体,下划线去掉,全部首字母大写
        AgeAmy = 18
   3.5变量名的三个重要特征
      1.id,反映的是变量的内存地址
        id不同时,值可能相同,两个内存空间可以存相同的数据
        id相同时,值一定相同
      2.type:不同类型的值表示不同的状态
      3.value:值本身
  4.is与==
     1.is:比较左右两个值得id是否相等,身份运算
        
     2.==比较左右两个值是否相等
        
  5.内存管理---垃圾回收机制
    垃圾:当一个变量值被绑定的变量名个数为0时,该变量值无法访问,称之为内存中的垃圾
    引用计数(简单版):一个变量值被变量名引用过的次数
    引用计数增加
    引用计数增加:如上图
      x = 10 # 引用计数为1
      y = x # 引用计数为2
      z = x # 引用计数为3
    引用计数减少:
      
      del x # 解除x和10的绑定关系,10的引用计数变成2
      del y # 解除y和10的绑定关系,10的引用计数变成1
      z = 20 # 对z进行重新赋值,10的引用计数变成0
注:这里的10只是举一个例子,10在小整数池中,不会被当做垃圾。。。。有特殊待遇
  6.小整数池:一种内存优化机制
    作用:python解释器在启动那一刻起,就在内存空间中开辟了一系列的内存空间,用来存放常用的整数-5-256,字符串也有类似的机制,存在这里的数据不会受垃圾回收机制的影响

     注意注意注意:pycharm申请的内存空间大于python解释器,所以有些时候在解释器上执行的 is 是False,但是在pycharm上是True.以解释器的执行为准!!!!

       

  7.常量:不变的量

    python中并没有常量的概念,但在程序开发过程中会涉及到常量的概念。

    常量名:约定俗成,所有字母为大写代表常量

    比如:PIE=3.14....

    再比如:矮跟卒于17:29:01,AGE=19.......,默哀三秒钟。。。

二、基本数据类型

  1、数字类型

    1.1 整型int

      作用:记录年龄、个数。。。

      定义:age = 18   没错,我就是18岁(^-^)V

      print(type(age))

    1.2 浮点型float

      作用:记录身高、体重等

      定义:salary = 1.8   没错,我就是这么有钱

      print(type(salary))

    1.3 数字类型的其他使用

      玩游戏的等级:level = 1----->level = level +1

      print(3*10)

      int类型和float类型的数据可以直接相加

  2、字符串类型

    2.1.作用:记录描述性质的状态,比如名字

    2.2定义:用引号(成对的单引号或者双引号或者三引号)包含的一串字符 

      注意注意注意,人生至理名言来了!!!此处必须用代码表示

1 info = '''
2 天下只有两种人。比如一串葡萄到手,一种人挑最好的先吃,
3 另一种人把最好的留到最后吃。
4 照例第一种人应该乐观,因为他每吃一颗都是吃剩的葡萄里最好的;
5 第二种人应该悲观,因为他每吃一颗都是吃剩的葡萄里最坏的。
6 不过事实却适得其反,缘故是第二种人还有希望,第一种人只有回忆。
7 '''
8 print(type(info))

      ladies and 乡亲们注意了!!!'name' = 'egon'  涉嫌违法,语法错误,变量名不能有引号!!!

    2.3.其他应用

      字符串的嵌套:外层使用单引号,内层应该使用双引号,反之也是。或者可以用\对字符串内的引号进行转义。

1 print("my name is 'egon'")
2 print('my name is \'egon\'')

  3、列表类型:索引对应值,索引从0开始,0代表第一个

    3.1作用:可以按照位置记录多个同种属性的值(所有人名字,十二个月薪资等。。。),并且可以按照索引取指定的值

    3.2 定义:在[]内用,分隔开任意类型的值,一个值称之为一个元素。

      my_list = [1,'name',[1,2,3]]

    3.3 其他用途

      列表可以嵌套取值

      my_list[-1][1] ---->2

  4、字典类型:key对应值,key通常为字符串类型,所以key对值具有描述性的功能

    3.1 作用:用来存多个值,每个值都有唯一一个key与其对应,可以存不同属性的多个值

    3.2 定义:在{}内用,分开各个键值对

      my_dic = {'name' = 'amy','age' = 12}

    3.3 其他用途:列表中可以嵌套字典

      info = [

        {'name' = 'amy1','age' = 12}

        {'name' = 'amy2','age' = 14}

        ]

  5、布尔类型bool,虽然简单,但很重要

    3.1 作用:用来记录真假两种状态,True和False。

    3.2 非零为真,记录两种状态比如1和0

    3.3 其他作用

      通常用来当做判断的条件。

posted @ 2020-03-04 17:30  微信搜索-程序媛小庄  阅读(198)  评论(0编辑  收藏  举报