我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python3学习笔记:Python中的

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python3学习笔记:Python中的

一、格式

变量 = 对象

二、简述

  • Python为动态解释性语言,在赋值操作时,并不需要像静态编译类型语言C、C++或Java一样,在使用变量前,需声明变量的类型。在Python中,类型是在运行过程中自动决定的,而不是通过代码声明。这意味着没有必要事先声明变量。
  • 变量和对象之间的关系为引用

三、解释

变量
  • 第一次赋值时,即创建它,之后赋值将会改变变量的值。
  • 变量名本身是没有类型的,类型只存在对象中,变量只是引用了对象而已。
  • 所有的变量,在使用前必须赋值,使用未赋值的变量会产生错误。
对象
  • 对象是有类型的
  • 对象是分配的一块内存空间,来表示它的值。
  • 每一个对象都具有两个标准的头部信息
    • 类型标志符,标识对象的类型
    • 引用计数器,用来决定对象是不是进行回收。
引用
  • 在Python中从变量到对象的连接称作引用。
  • 引用是一种关系,以内存中的指针的形式实现。
  • 赋值操作时,自动建立变量和对象之间的关系,即引用。

四、实例说明


1、简单引用
例一
a = 3

步骤说明:

  1. 创建一个对象来代表值3。
  2. 创建一个变量a,如果它还没有创建的话。
  3. 将变量与新的对象3相连接。

a = 3模型 :
变量模型

例二
a = 1
a = 'python'
a = 1.2
  • 这里的a,被多次赋值,并不是修改的对象,而是修改的引用,a指向1,然后修改引用指向’python’,最后指向1.2。
  • 1 和 ‘python’, 被放在内存空间内,在没有其他变量引用时,其引用计数为0,这个对象的内存空间就会自动回收。
  • 这里也并不是修改了a的类型,因为变量没有类型,只是它指向的对象具有类型,即对象头部信息的类型标志符。

2、共享引用
例一
a = 3
b = a

a 指向对象3; b = a,此赋值操作,b也指向3。

例一模型:
共享引用

例二
a = 3
b = a
a = 'spam'

a 重新指向另一个对象。

例二模型:
共享引用修改


3、== 和 is

== 指值相等
is 指地址相等,即指引用相等。

lst1 = [1, 2, 3]
lst2 = lst1
lst3 = [1, 2, 3]
print(lst1, lst2, lst3)
# 执行结果
[1, 2, 3] [1, 2, 3] [1, 2, 3]	# 值相等



lst2[0] = 10
print(lst1, lst2, lst3)
# 执行结果
[10, 2, 3] [10, 2, 3] [1, 2, 3]	# lst1和lst2发生变化
lst1 = [1, 2, 3]
lst2 = lst1
lst3 = [1, 2, 3]

print(lst1 == lst2)
print(lst1 is lst2)
print(lst1 == lst3)
print(lst1 is lst3)

# 执行结果
True
True
True
False

说明,lst1和lst2指向同一个对象。而lst3则执行另一个对象。两个对象只是值相等。

特殊情况
a = 1
b = a
c = 1

print(a == b)
print(a is b)
print(a == c)
print(a is c)
# 执行结果
True
True
True
True

这里a、b、c都指向同一个对象。
这是因为小的整数和字符串被缓存并复用了,所以is指明a和c是引用了一个相同的对象。

例如

a = 1
a = 'python'

这里的 1 并没有被直接回收,虽然它的计数减一,但是在系统代码中却被大量引用。查看引用计数如下

import sys

print(sys.getrefcount(1))
# 执行结果
4013

五、总结

  • 变量是一个系统表的元素,拥有指向对象的连接的空间。
  • 对象是分配的一块内存,有足够的空间去表示它们所代表的值。
  • 引用是自动形成的从变量到对象的指针。

注: 知识点参考了<<Python 学习手册 第四版>>

Python3学习笔记:Python中的

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python3学习笔记:Python中的

一、格式变量 = 对象二、简述Python为动态解释性语言,在赋值操作时,并不需要像静态编译类型语言C、C++或Java一样,在使用变量前,需声明变量的类型。在Python中,类型是在运行过程中自动决定的,而不是通过代码声明。这意味着没有必
2023-01-31

Python3学习笔记01-Python

1. 下载 python-3.6.3 下载地址:https://www.python.org/ftp/python/3.6.3/python-3.6.3-amd64.exe安装 python-3.6.3安装的第一个界面注意选中“Add Py
2023-01-31

python3 学习笔记

本人很少写 python 代码, 一般都是用 go 的, 去年时用 python 写过一些收集系统信息的工具, 当时是边看手册边写的. 如今又要用 python 来写一个生成 xlsx 的工具, 就又需要查看手册了, 至于为什么不用 go
2023-01-31

python3学习笔记

好久不用python,努力捡起来ingpython3语法字符串repr()把其他类型变量转换为字符串ord()把单个字符转换为相应的ascii码int()把其他进制的“字符串”转换为十进制int(str,n),其中str是字符串,n是进制,
2023-01-31

学习Python3的精品笔记

石墨文档地址: https://shimo.im/docs/fooucf8wa8EtAB32/ 「Python学习笔记」
2023-01-31

python3学习笔记(1)----基

一、python3的基本语法1、缩进统一(1个tab或者4个空格)。for i in range(10): print (i) 2、标识符的第一个字母必须是字母(大小写字母)或者下划线,其他部分可以有字母和下划线和数字组
2023-01-31

python3学习笔记(2)----p

1、python3的基本数据类型Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。等号(=)用来给变量
2023-01-31

python3学习知识点笔记

class Class_name(object): # 声明类Class_name,继承自objectclass Class_name: #不显示继承自object,创建类Class_nameclass Fruit: #创建水果类     
2023-01-31

【Python学习笔记】-Python中

python中的格式为为真时的结果 if 判定条件 else 为假时的结果 实例:print(1 if 5>3 else 0) 是先输出结果,再判定条件 输出1,如果5大于3,否则输出0一般用于判断赋值中,例如:x,y = 50,25sm
2023-01-31

Python3学习笔记之is == in

意义==比较的是两个对象的值是否相等,比较常用a = [1, 2, 3]b = [1, 2, 3]print(a == b) #Trueis比较的是两个对象是不是同一个实例对象,它们的内存地址是否相同a = [1, 2, 3]b
2023-01-31

Python3学习笔记(urllib模块

1.基本方法urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)-    
2023-01-31

Python学习笔记(3)Python中

EscapeWhat it does.含义 \\Backslash ()反斜杠\'Single-quote (')单引号\"Double-quote (")双引号\aASCII bell (BEL)响铃符\bASCII backspace
2023-01-31

Python学习笔记

Python介绍Python是一种解释型、面向对象的语言。官网:www.python.orgPython环境解释器:www.python.org/downloads运行方式:交互模式。在IDLE中运行。脚本模式。文件的后缀名为.py。
2023-01-30

Python 学习笔记

rs=Person.objects.all()all返回的是QuerySet对象,程序并没有真的在数据库中执行SQL语句查询数据,但支持迭代,使用for循环可以获取数据。print rs.query 会打印出原生sql语句rs=Person
2023-01-31

学习笔记-小甲鱼Python3学习第十七

优秀的东西永远是经典的,经典的东西永远是简单的,不是说复杂不好,而是能够把复杂的东西简单化,堪称经典。为了使代码程序实现更为简单,我们把代码分为越来越小的组成部分。分三大部分实现:函数、对象、模块python中定义函数使用关键字def>>>
2023-01-31

学习笔记-小甲鱼Python3学习第五讲

数据类型:整型、浮点型、布尔型整型:1、234、54浮点型:12.234、2.3e5 = 230000.0、1.5e-3 = 0.0015布尔型:True、False。True + True 返回 2,True + False 返回1,Tr
2023-01-31

学习笔记-小甲鱼Python3学习第十二

列表的一些常用操作符:比较操作符、逻辑操作符、连接操作符、重复操作符、成员关系操作符比较操作符:>>> list1 = [123,456]>>> list2 = [234,123]>>> list1 > list2      #只比较第一个
2023-01-31

学习笔记-小甲鱼Python3学习第二讲

测试题:什么是BIF?built-in function,是python内置函数的意思,python内置了非常多的函数,方便程序员直接调用,快速编写脚本程序用课堂上小甲鱼教的方法数一数 Python3 提供了多少个 BIF?使用dir(bu
2023-01-31

学习笔记-小甲鱼Python3学习第六讲

常用操作符运算操作符:加+ 减- 乘* 除/ 余% 幂运算** 地板除//比较操作符: < ,> ,<=,>=,==,!=逻辑操作符: and,or,not优先级:幂运算符有点特殊,当它左侧是一个一元运算符时,幂运算符优先级比它左侧的一元运
2023-01-31

学习笔记-小甲鱼Python3学习第四讲

测试题0.请问以下代码会打印多少次“我爱鱼C”?while 'C':    print('我爱鱼C')当while语句中条件为真的时候,会无限循环下去。所以“我爱鱼C”会一直打印,可以用CTRL+C来结束循环。1.请问以下代码会打印多少次“
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录