• 03_python的数据类型和变量的定义及使用


    1.数据类型按数值非数值分类

    (1)python的数据类型可以分为 数字型非数字型

    • 数字型

      • 整型 (int)
      • 浮点型(float
      • 布尔型(bool
      • 复数型 (complex)(主要用于科学计算)
    • 非数字型

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

    (2)不同类型变量之间的运算问题:

    • 数字型变量之间可以直接计算
    • 字符串变量之间使用 + 拼接字符串
    • 字符串变量可以和 整数 使用 * 重复拼接相同的字符串
    • 数字型变量字符串之间不能进行其他计算

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

    2.按传递类型分类

    (1)python语言参数传递类型

    java中参数的传递是按值传递的。但是在python中,函数参数的传递是按引用传递的。因为python是弱类型的编程语言,定义变量不需要指定类型。因此,实际上python变量全部是指针,因为变量是指针,所以所有的变量无类型限制,可以指向任意对象。指针的传递即是引用传递
    在java中数据类型分为基本数据类型引用数据类型。但是在python中所有的数据都是引用数据类型。但是引用数据类型又区部分为可变数据类型不可变数据类型

    (2)python中的不可变数据类型

    不可变数据类型中的不可变实际上指的是同一个数据,其地址不可变。当改变一个不可变数据类型的变量的值时,实际上python解释器重新创建了一个对象(产生一个新的引用),为其赋了新值。
    这种不可变数据类型在进行函数参数传递时类似于java语言中的基本数据类型。

    a=5 
    b=5
    b=6
    b=7
    

    例如上述代码(int型为不可变数据类型):

    • 执行第一、第二行代码后,实际上a和b指向的是同一块内存例如0x0000。这个时候,这块内存被两个变量引用。
    • 当执行第三行代码后,0x0000这块内存处更新为被一个变量引用,并且内存中又重新开辟了一块内存,用来存储6,假设这块内存的地址为0x0008。此时0x0008和0x0000都被一个变量引用。
    • 当执行第四行代码后,python解释器又开辟了一块内存,假设为0x000f,而由于0x0008这块内存已经没有变量引用它,它便会被系统回收掉。

    (2)python中的可变数据类型

    可变数据类型指的是,两个变量引用同一块内存,当其中一个变量执行改变内存中的数据的话,两个变量会同时更新数据,并不会开辟一块新内存。
    这种可变数据类型在进行函数参数传递时类似于java中的按引用数据类型。

    (3)python中的可变数据类型与不可变数据类型

    • 不可变类型

      • 数字类型 int, bool, float, complex, long(2.x)
      • 字符串 str
      • 元组 tuple
    • 可变类型

      • 列表 list
      • 字典 dict(字典key的值只能是不可变数据类型)

    可变数据类型的数据是通过方法改变的。

    3.python的局部变量与全局变量

    (1)局部变量与全局变量概述

    • 局部变量 是在函数内部定义的变量,只能在函数内部使用。函数执行结束后,局部变量的内存就会被回收。
    • 局部变量在函数执行时被创建,在函数执行完毕后被回收。期间便是局部变量的生命周期。

    (2)局部变量定义的位置与生命周期

    (3)全局变量定义的位置与生命周期

    • 全局变量 是在函数外部定义的变量,所有函数内部都可以使用这个变量,全局变量一般定义在所有函数的上部(import下面)。
    • 不允许使用赋值语句直接修改全局变量的值(修改全局变量的引用)。
    • 如果想要在函数内部修改全局变量的值,可以做global声明后再修改。

    (4))全局变量的命名

    • 一般定义全局变量时需要加前缀,例如:g_变量名或者gl_变量名。

    4.python中变量的命名

    • python 标识符区分大小写
    • python 可以采用的变量命名方式:
      • 下划线法
      • 小驼峰法
      • 大驼峰法

    5.python中变量的定义与使用

    • 定义:python是弱类型编程语言,它在定义变量时不需要指定数据类型。解释器会根据赋值运算符右边的数值进行自动识别数据类型。
    • 使用:在 Python 中,每个变量在使用前都必须赋值,变量 赋值以后该变量才会被创建

    注意:使用交互式和解释器形式定义和使用变量上有所区别。

  • 相关阅读:
    3月27日
    IndiaHacks 2016
    华东交通大学2017年ACM“双基”程序设计竞赛 1003
    华东交通大学2017年ACM“双基”程序设计竞赛 1002
    华东交通大学2017年ACM“双基”程序设计竞赛 1008
    华东交通大学2017年ACM“双基”程序设计竞赛 1010
    华东交通大学2017年ACM“双基”程序设计竞赛 1001
    OpenCV3的配置(VS2015)
    Python 起步 多版本共存配置
    栈与队列试题中的操作代码
  • 原文地址:https://www.cnblogs.com/lasnitch/p/11565084.html
Copyright © 2020-2023  润新知