网易python面试_网易游戏面试经验(一)

本文详细探讨了Python中的可变对象(如list、dictionary、set、byte array)和不可变对象(如int、long、complex、string、float、tuple、frozen set),并解释了Python中的赋值语句实际上是建立对象引用,而非复制。通过分析Python源码,解释了可变对象如何实现其可变性,以list为例展示了相关操作的底层实现,强调了Python内存管理和对象机制的重要性。
摘要由CSDN通过智能技术生成

前言

最近一直没有写博客,在忙着准备申请各大公司的实习,现在基本已经定下来了,特将这段时间面试中遇到的问题进行总结和解答,主要包括一些网络、算法、操作系统、python的问题,这些问题并不是以往比较常见的题目,更多的都是更加细节的或者以往没有见到的题目。文章更多的是面向技术,而不是面经,同时关于问题的解答都是自己一家之言,如有问题,还望大家指正。本文的知识点是关于python中的可变对象与不可变对象,面试官问我在python中是如何实现的。

正文

我最开始想到的是这个问题要考察的是python的内部实现机制,所以先简述下python的可变对象和不可变对象,再从python内部实现的角度分析下这个题目。

众所周知,python在堆中分配的对象按照是否可变分为两类:可变对象和不可变对象。关于他们各自的定义我想大家比较熟悉,特复制一段官方解释如下:In general, data types in Python can be distinguished based on whether objects of the type are mutable or immutable. The content of objects of immutable types cannot be changed after they are created. Only mutable objects support methods that change the object in place, such as reassignment of a sequence slice下面列举出一些常见的可变对象和不可变对象。

可变对象:list, dictionary, set, byte array

不可变对象:int,long, complex

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值