Python与C++引用的示例分析

技术Python与C++引用的示例分析本篇文章给大家分享的是有关Python与C++引用的示例分析,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在用Pyth

本文是Python和C引文的实例分析,边肖认为挺实用的,所以想分享给大家学习。希望大家看完这篇文章能有所收获。我不多说,让我们和边肖一起看看。

在Python中编写构建二叉树的代码时,我们遇到了这个问题。原因是Python的“引用”和C的“引用”混淆了。两种语言都有“指称”名词。虽然它们在大多数情况下是相似的,但它们仍然不同。注意,这只是我个人的理解。在找到更好的理解之前,让我们这样理解吧!

例如,这是我根据优先顺序创建二叉树的两段代码:

#正确。

pos=0

defcreate(seq):

globalpos

ch=seq[pos]

pos=1

ifch=='#':

返回无

else:

temp=TreeNode(ch)

temp.left=create(seq)

temp.right=创建(seq)

返回温度

seq='abd###ce### '

Root=create(seq)和这个:

#错误

defcreate(root):

globalpos

if(seq[pos]=='#'):

根=无

pos=1

返回

root=TreeNode(seq[pos])

pos=1

root.left=无

root.right=无

创建(root.left)

Create(root.right)似乎只是有没有返回值的区别。其实第二个代码是错的。事实上,从第二个代码的角度来看,它可以用C编写如下:

void create(treet){ 0

charch=str[pos];

if(ch==' # '){ 0

t=空;

返回;

}

t=newnode

t-val=ch;

create(t-left);

create(t-right);

}这就是Python和C引用的区别。

我是这样理解的:Python中内存的使用更像是不可变的。对于引用所指向的对象,如果我想修改值,我将首先找到一个新的内存块,分配一个值,然后将引用指向这个新的内存块,从而修改引用所指向的位置,但是在C语言中,它是直接在引用所指向的内存块上更改的,例如:

Python:

a=1

打印(id(a))

a=a 1

打印(id(a))

#输出。

140708803374848

c中的10708803374880:

int t=1;

inta=t;

printf('%d%d\n ',a,a);

a=1;

printf('%d%d\n ',a,a);

#输出。

72087121

7087122所以,就像上面的第二个代码一样,我传入了创建的根的引用,但是当树的结构改变时,它实际上改变了存储位置,这样在原始函数之外创建的根引用实际上指向了原始的空内存块(我突然觉得好傻。就像被偷了然后等待。),但是C的引用很固执,只认那块内存,所以可以直接更改使用。

关于Python中引用和对象的关系,还涉及到内存等一些知识,比如:

a=1

b=1

打印(id(a))

打印(id(b))

#输出。

140708803374848

10708803374848这是因为在Python中,为了节省内存,会缓存一些短字符串和数字,这样可以节省构建和销毁这类对象的成本。

其他的是关于可变数据对象和不可变对象,我之前已经记录过了。有些语言看似简单,但实际上应该很好理解。

以上是Python和C参考的实例分析。边肖认为,一些知识点可能会在我们的日常工作中看到或使用。我希望你能通过这篇文章学到更多的知识。更多详情请关注行业资讯频道。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/48262.html

(0)

相关推荐

  • 体育模拟

    技术体育模拟 体育模拟import randomdef printInfo(): print("模拟体育竞技") print("学号后两位:26,曾俊谌")
    def getInputs():

    礼包 2021年11月14日
  • 怎么用Python解决数据密度过大难题

    技术怎么用Python解决数据密度过大难题本篇内容介绍了“怎么用Python解决数据密度过大难题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔

    攻略 2021年11月29日
  • ai怎么画三角形,AI里怎么画圆角三角形

    技术ai怎么画三角形,AI里怎么画圆角三角形方法ai怎么画三角形:1、打开ai ctrl+n新建文件 选择“多边形工具”。
    2、在画板上按住左键画形状,默认出现的是五边形,按住左键不松手,同时点击“向下的方向键”每点

    生活 2021年10月24日
  • 二分查询

    技术二分查询 二分查询二分查询:package com.cc;/** * @Author: cc * @Create: 2021/12/20 * 二分查询实现步骤: * 1.前提:有已排序数组A (假设

    礼包 2021年12月22日
  • 火柴英文,火柴有哪几种,例如防水火

    技术火柴英文,火柴有哪几种,例如防水火日用火柴(普通火柴)日用火柴 按包装外形和所用原料有木梗火柴火柴英文、蜡纸梗火柴和书式火柴3种。①木梗火柴:用质地比较松软的木材制成方形截面的火柴梗,梗端沾上石蜡和药浆,干燥后装于木

    2021年10月26日
  • 女生标准体重表,中国人男女的体重标准是多少

    技术女生标准体重表,中国人男女的体重标准是多少其实现在全世界都使用体重指数(BMI)来衡量一个人胖或不胖。具体的计算的方法是女生标准体重表:
    BMI=体重(公斤)/身高(米)的平方
    例如:某MM的身高1.7米,体重为65

    生活 2021年10月28日