广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python3学习笔记:Python中的
  • 302
分享到

Python3学习笔记:Python中的

学习笔记Python 2023-01-31 01:01:04 302人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

一、格式 变量 = 对象 二、简述 python为动态解释性语言,在赋值操作时,并不需要像静态编译类型语言C、c++或Java一样,在使用变量前,需声明变量的类型。在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 学习手册 第四版>>

--结束END--

本文标题: Python3学习笔记:Python中的

本文链接: https://www.lsjlt.com/news/184171.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Python3学习笔记:Python中的
    一、格式 变量 = 对象 二、简述 Python为动态解释性语言,在赋值操作时,并不需要像静态编译类型语言C、C++或Java一样,在使用变量前,需声明变量的类型。在Python中,类型是在运行过程中自动决定的,而不是通过代码声...
    99+
    2023-01-31
    学习笔记 Python
  • 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 P...
    99+
    2023-01-31
    学习笔记 Python
  • python3学习笔记
    好久不用python,努力捡起来ing python3语法 字符串 repr()把其他类型变量转换为字符串 ord()把单个字符转换为相应的ascii码 int()把其他进制的“字符串”转换为十进制 int(str,n...
    99+
    2023-01-31
    学习笔记
  • python3 学习笔记
    本人很少写 python 代码, 一般都是用 go 的, 去年时用 python 写过一些收集系统信息的工具, 当时是边看手册边写的. 如今又要用 python 来写一个生成 xlsx 的工具, 就又需要查看手册了, 至于为什么不用 g...
    99+
    2023-01-31
    学习笔记
  • python3学习笔记(2)----p
    1、python3的基本数据类型 Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。等号(=)用来给...
    99+
    2023-01-31
    学习笔记
  • python3学习笔记(1)----基
    一、python3的基本语法 1、缩进统一(1个tab或者4个空格)。 for i in range(10): print (i) 2、标识符的第一个字母必须是字母(大小写字母)或者下划线,其他部分可以有字母和...
    99+
    2023-01-31
    学习笔记
  • 学习Python3的精品笔记
    石墨文档地址: https://shimo.im/docs/fooucf8wa8EtAB32/ 「Python学习笔记」 ...
    99+
    2023-01-31
    笔记 精品
  • Python3学习笔记之is == in
    意义 ==比较的是两个对象的值是否相等,比较常用 a = [1, 2, 3] b = [1, 2, 3] print(a == b) #True is比较的是两个对象是不是同一个实例对象,它们的内存地址是否相同...
    99+
    2023-01-31
    学习笔记
  • Python3学习笔记(urllib模块
    1.基本方法urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)-    ...
    99+
    2023-01-31
    学习笔记 模块 urllib
  • python3学习知识点笔记
    class Class_name(object): # 声明类Class_name,继承自objectclass Class_name: #不显示继承自object,创建类Class_nameclass Fruit: #创建水果类     ...
    99+
    2023-01-31
    知识点 笔记
  • 【Python学习笔记】-Python中
    python中的格式为 为真时的结果 if 判定条件 else 为假时的结果 实例: print(1 if 5>3 else 0) 是先输出结果,再判定条件 输出1,如果5大于3,否则输出0 一般用于判断赋值中,例...
    99+
    2023-01-31
    学习笔记 Python
  • 学习笔记-小甲鱼Python3学习第四讲
    测试题0.请问以下代码会打印多少次“我爱鱼C”?while 'C':    print('我爱鱼C')当while语句中条件为真的时候,会无限循环下去。所以“我爱鱼C”会一直打印,可以用CTRL+C来结束循环。1.请问以下代码会打印多少次“...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第十九
    函数和过程函数(function)有返回值过程(procedure)是简单、特殊并且没有返回值的变量:局部变量(Local Variable):在整个py文件中声明,全局范围内都可以调用全局变量(Global Variable):在某个函数...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第二十
    斐波那契数列:斐波那契数列的迭代实现月数123456789101112兔子总对数1123581321345589144用数学函数定义:             1,当n = 1F(n)       1,当n = 2             ...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第三讲
    测试题: 以下哪个变量的命名不正确?为什么? (A) MM_520 (B) MM520 (C) 520_MM (D) _520_MM C,变量名可以用字母、数字、下划线命名,但是不能以数字开头 在不上机的情况下,以下代码你能...
    99+
    2023-01-31
    甲鱼 学习笔记 第三讲
  • 学习笔记-小甲鱼Python3学习第三十
    丰富的else语句python中else不仅可以与if搭配组成控制流,还可以与while或for搭配使用要么怎样,要么不怎样干完了能怎样,干不完就别想怎样没有问题,那就干吧举例:求素数def showMaxFactory(num):    ...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第十讲
    创建列表创建一个普通列表number = [1,2,3,4,6]创建一个混合列表mix= [1,3.14,'abc','张三',[5,6,7]]创建一个空列表empty = []向列表中添加元素:append(),extend(),inse...
    99+
    2023-01-31
    甲鱼 学习笔记 第十讲
  • 学习笔记-小甲鱼Python3学习第十一
    从列表中获取元素:列表索引值是从0开始的例把'郑十'和'王五'的位置调换一下>>> member['张三', '李四', '郑十', '王五', '赵六', '陈七', '马八', '孙九']>>> me...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第十三
    元组中的元素不能被修改。用()把元素括起来,用,逗号隔开创建和访问元组更新和删除元组元组的相关操作符元组创建:>>> tuple1 = (1,2,3,4,5,6,7,8)            #使用()括起来,用,逗号隔...
    99+
    2023-01-31
    甲鱼 学习笔记
  • 学习笔记-小甲鱼Python3学习第十七
    优秀的东西永远是经典的,经典的东西永远是简单的,不是说复杂不好,而是能够把复杂的东西简单化,堪称经典。为了使代码程序实现更为简单,我们把代码分为越来越小的组成部分。分三大部分实现:函数、对象、模块python中定义函数使用关键字def>...
    99+
    2023-01-31
    甲鱼 学习笔记
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作