python函数之一:函数传入可变和不可变对象,要注意

liftword3个月前 (02-17)技术文章24

先说对象类型,再说函数传入不同类型需要注意的地方


1、python对象类型

  • 不可变对象:数字、字符串、元组、布尔(编辑属于新建对象)
    相同数据占用一块内存
    如:a=1; b=1; a和b的内存地址一样,就一个对象1,没有创建新对象(没有开辟新内存)
    编辑对象
    如:a=1; a=2; 等于创建新对象(开辟新内存)
  • 可变对象:列表,集合,字典(编辑属于原地操作)
    一个对象占一块内存
    如:a=[1,2]; b=[1,2]; a和b的内存地址不一样,两个新对象(开辟2块新的内存))
    编辑对象
    如:a=[1,2]; a.append(3); a的内存地址不变,还是一个对象(内存扩充)

不可变对象的理解



可变对象的理解



2、函数传入不同类型对象(传入后一般对象都会经过加工)

  • 传入不可变对象:加工后原来的对象不变。
    相同数据占用一块内存
  • 传入可变对象:加工后改变原来的对象。
    未生成新对象,再次使用被影响后的对象,要特别注意已经发送变化

传入不可变类型对象-原对象不变



传入可变类型对象-原对象变化


相关文章

python极简教程:对象的方法_python对象的含义

这一场,主讲python的面向对象的第二部分—— 对象的方法 。目的:掌握Python对象的五个核心方法。init和new讲解之前,先上一段代码class Demo: def __init__...

Python类和对象详解_python中的类和对象,属性和方法

Python中的类(Class)和对象(Object)是面向对象编程的核心概念。通过类来定义对象的属性和行为,而对象则是类的实例。1. 类(Class)类是用来创建对象的模板,它定义了对象的属性(数据...

python初识对象_python对象编程

使用对象组织数据1.在程序中设计表格,我们称之为:设计类(class)class Student: name = None # 记录学生姓名2.在程序中打印表格,我们称之为:创建对...

Python 如何创建一个 JSON 对象_python创建一个person类

我们可以使用下面的代码来在 Python 中创建一个 JSON 对象。import json data = {} data['key'] = 'value' json_data = json.dum...

详细介绍一下Python中的类与对象_python对象和类的关系

类和对象是面向对象编程的两个核心概念,而Python作为一门支持面向对象的编程语言,也是需要通过类和对象来实现代码的组织和封装的,下面我们就来详细介绍一下Python中的类与对象,来帮助大家一起了解它...

python大师讲解python对象类型_python 对象类型

Python对象的基本概念对象是Python中最基本概念。Python程序可以分解成模块、语句、表达式、以及对象程序由模块构成模块包含语句语句包含表达式表达式建立并处理对象Python内置类型Pyth...