zoukankan      html  css  js  c++  java
  • day03

    变量

    什么是变量

    变化的量,是计算机语言中能储存计算结果或能表示值抽象概念

    为什么要有变量

    用于储存临时的值

    定义变量

    a=10

    变量的组成

    1. 变量名:变量名用来引用变量值,但凡需要用变量值,都需要通过变量名。
    2. 赋值符号:赋值
    3. 变量值:存放数据,用来记录现实世界中的某种状态。

    变量名的命名规范

    1. 变量的命名应该能反映变量值所描述的状态,切记不可用中文
    2. 变量名必须用字母数字下划线组合,并且变量名的第一个字符不能是数字。
    3. 关键字不能声明为变量名

    变量名的两种风格

    驼峰体,下划线体

    常量

    变量是变化的量,常量则是不变的量。python中没有使用语法强制定义常量,也就是说,python中定义常量本质上就是变量。如果非要定义常量,变量名必须全大写。

    如果是常量,那就没必要更改,所以python就只制定了一个规范,而没指定常量的语法,因此常量也是可以修改的,但不建议。

    在c语言中有专门的常量定义语法,const int age = 19;,一旦定义age为常量,更改age即会报错

    变量内存管理

    变量存哪了

    现在想象我们在学校(电脑内存)里上课,学校每开一个班,学校都会开辟一个教室给这个班级上课用(存放变量值10),而班级的门牌号则是(变量名x)。也就是说,对于电脑内存这个大内存,每定义一个变量就会在这个大内存中开辟一个小空间,小空间内存放变量值10,然后内存给这个小空间一个变量名x(门牌号),x指向10。

    Python垃圾回收机制

    对于p1.py,如果我们再加上一段代码x = 11,大内存会开辟另一个小空间存储变量值11,把变量值绑定另一个门牌号x,但是由于之前有x,所以大内存会解除x与10的连接,让x与11连接。这个时候10由于没有了门牌号,所以成为了python眼中的垃圾,python就会处理这个垃圾,释放10的内存占用,这就是python的垃圾回收机制。而其他语言需要手动把10的内存占用释放掉。

    引用计数

    从上述的解释我们可以知道只要某个变量值绑定着门牌号,就不是垃圾,反之变量值没有绑定着门牌号,这个变量值就是垃圾,python就会自动清理这个垃圾。这里我们对于这个门牌号给定一个专业的解释,在python中这个门牌号被称作引用计数。

    小整数池

    Python实现int的时候有个小整数池。为了避免因创建相同的值而重复申请内存空间所带来的效率问题, Python解释器会在启动时创建出小整数池,范围是[-5,256],该范围内的小整数对象是全局解释器范围内被重复使用,永远不会被垃圾回收机制回收。

    变量的三个特征

    1. 打印
    2. 判断变量值是否相等
    3. 判断变量Id是否相等

    id相等的变量,值一定相等,指向的是同一个内存地址;值相等的变量,id不一定相等

    花式赋值

    链式赋值

    交叉赋值

    注释

    1. 单行注释
    2. 多行注释

    代码注释分单行和多行注释,单行注释用#,多行注释可以用三对单/双引号,使用三引号注释可以换行

    添加注释的原则

    1. 不用全部加注释,只需要在自己觉得重要或不好理解的部分加注释即可
    2. 注释可以用中文或英文,但不要用拼音

    数据类型基础

    1. 什么是数据类型:变量值的不同类型,姓名可能是一种数据类型、年龄可能是一种数据类型、爱好可能又是另一种数据类型
    2. 为何对数据分类:变量是用来反映状态以及状态变化的,所以针对不同的状态就应该用不同类型的数据去标记
    3. 不同的数据类型:数字类型,字符串类型,字典类型,布尔类型

    数字类型

    整型:

    1. 作用:表示人的年龄、各种号码、级别
    2. 定义:age = 18 # age=int(18)
      print(id(age))
      print(type(age))
      print(age)
    3. 使用方法:加减乘除、逻辑判断(大于、小于)

    浮点型:

    1. 作用:表示身高、体重、薪资
    2. 定义:salary = 2.1 # salary=float(2.1)
      print(id(salary))
      print(type(salary))
      print(salary)
    3. 使用方法:加减乘除、逻辑判断(大于、小于)

    字符串类型:

    1. 作用:示名字、爱好

    2. 定义:name1 = 'nick'
      name2 = "egon"
      print(id(name1))
      print(type(name1))
      print(name1)

    3. 使用方法:字符串只能+、*和逻辑比较

      字符串的拼接,即重新申请一个小空间把两个字符串都拷贝一份后再拼接。而不是你YY的把一个小空间内的变量值复制到另一个变量的小空间内,然后拼接。

      如果字符串内有引号,则包裹字符串的引号和字符串内部的引号不能相同

      字符串的乘法只能乘以数字

      字符串比较大小,按照ASCII码比较

      字符串的比较是字母的顺序

      列表:

      1. 作用:存放多个值,如多个女朋友、多个爱好。
      2. 定义:hobby = 'read'
        hobby_list = [hobby, 'run', 'girl']
        print(id(hobby_list))
        print(type(hobby_list))
        print(hobby_list)
      3. 使用方法:存不是目的,取才是目的,我们介绍列表索引取值的方法,牢记索引序号从0开始。

      字典:

      1. 作用:用来存取多个值,按照key:value的方式存值,取的时候可以通过key而非索引去取值,key对value具有描述性的作用。存放数据的种类各种各样并且数据较多的时候可以使用字典。
      2. 定义:user_info = {'name': 'nick', 'gender': 'male', 'age': 19,
        'company_info': ['oldboy', 'shanghai', 50]}
        print(id(user_info))
        print(type(user_info))
        print(user_info)
      3. 使用方法:字典取值方式不再依赖于索引,而是依赖于key,通过[key]即可获取key对应的value值

      布尔类型:

      1. 作用:用于判断条件结果
      2. 定义:True、False通常情况不会直接引用,需要使用逻辑运算得到结果
      3. 使用方法:Python中所有数据类型的值自带布尔值。如此多的数据类型中只需要记住只有0、None、空、False的布尔值为False,其余的为True。
  • 相关阅读:
    Ubuntu 18.04.3 更改系统语言为简体中文
    Centos7.3、nginx环境下部署hugo博客
    Centos7.3 卸载 Nginx(彻底卸载) 并重新安装 Nginx(RPM源yum安装)
    Centos7.3、nginx环境下部署hexo博客(非git推送方式)
    使用阿里云对象存储OSS+PicGo搭建图床
    Hexo博客添加LiveRe评论系统
    使用 jsDelivr CDN加速Github 仓库的图片
    解决win10一开机占用内存就飙到70%的问题
    [Andriod官方训练教程]管理Activity的生命活动之停止和重启一个Activity
    [Andriod官方训练教程]支持不同的设备之支持不同的语言
  • 原文地址:https://www.cnblogs.com/xwjhyy/p/11492669.html
Copyright © 2011-2022 走看看