python基础(4)

本文探讨Python的基础概念,包括变量与对象的关系,深入解析Python中的赋值操作,列表复制,以及id()、==和is的区别。此外,还讲解了Python的动态类型机制。在函数部分,介绍了函数定义、参数类型、作用域和返回值,重点讨论了局部变量、全局变量以及global和nonlocal关键字的使用。
摘要由CSDN通过智能技术生成

写在前面:
由于之前有一定的编程基础,所以对python也有一定的理解,所以这篇博客并不是完全按照给的框架来写的,临时有点事,所以后期写的有点粗糙,请见谅,希望后期有时间来优化。

一. 变量和对象

在Python中一切都是对象,变量总是存放对象引用。当没有变量指向对象时,这个对象便进入了垃圾收集过程。Python的“动态类型”机制,负责检查变量的对象引用适用操作。如果该对象不适用该操作,则会直接报错。一句话变量无类型,对象有类型

1.变量和对象

Python中一切都是对象,赋值的作用就是让变量指针指向某个对象,也就是说变量中存放的对象的引用,而对象的引用是指向这个对象。

我的理解就是对象就是其他静态语言中说的变量的内容,也就是实际占用内存空间的一些东西,python中所有东西都是占有内存空间的,也可以理解为所有出现的东西都是具有实际作用的,不像指针的作用就是找到某个具体的东西,也就是摒除了指针这种东西(指针也要占用内存空间的),这也是python的简化之处,其中变量就是对象的引用(总要有一个东西来帮忙找到具体东西所在的内存位置,没有指针就只能用引用了),通俗的来理解引用就是“标签”,或者说是“导向牌”,理解为实际东西的内存地址,标签是可以改变的,今天是A的标签,明天也可是B的标签。

python 中,类型属于对象,变量是没有类型的

a = [1,2,3]
a = 'aha'

[1,2,3] 是 List 类型,“aha” 是 String 类型,而变量 a 是没有类型,她仅仅是一个对象的引用(一个指针),可以是指向 List 类型对象,也可以是指向 String 类型对象。

2.python中的赋值“=”

x = "blue"
y="green"
z=x

python执行第一句时,在heap中首先创建str对象,其文本内容为blue,同时还创建变量名为x的对象引用,x引用的就是这个str对象;
第二句类似,创建变量y指向str对象;第三句创建变量z的新对象引用,并将其指向对象引用x指向的相同对象。
在这里插入图片描述
所以Python中赋值操作符号“=”的作用是,将对象引用和内存中的某个对象进行绑定。如果对象已经存在,就进行简单的重新绑定,以便引用“=”右边的对象;如果对象引用尚未存在,就首先创建对象,然后将对象引用和对象进行绑定。这很类似与c中的指针的概念。
通俗来说就是Python中”=“:等号两边一个是变量,一个是对象,就把变量和对象进行绑定,两边都是变量的话就是这两个变量都指向同一个对象,都和同一个对象进行绑定。

>>> list_a = [1,2,3,'x','y']
>>>> list_b = list_a
>>> list_b
[1, 2, 3, 'x', 'y']

修改一下list_b中的值,然后分别查看list_b和list_a列表的值

>>> list_b[2] 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值