Python基础语法-常量与变量

简介:
95895baf377af036ef08732c74a7bd4edaeecd5b

Python是一门强类型的动态语言。

字面常量,变量没有类型,变量只是在特定的时间指向特定的对象而已,变量所指向的对象是有类型的。

变量:变量在赋值时被创建,它可以是任何对象的引用,但必须在引用前被赋值。

举例来说:当我们如下赋值时:

a = 3 # 给一个对象3赋予变量a

对于上面的赋值,Python将会明确的执行3个步骤来响应这个语句: 
创建一个对象代表值3; 
如果不存在变量a,就创建变量a; 
把变量a与新创建的对象3关联。 
变量随着赋值操作出现的。变量和对象是被存储在不同的内存空间中的。变量与对象通过指针相关联。变量永远指向对象且永不指向变量。随着赋值a = 3语句的执行,变量a就变成了对象3的一个引用。

如果你想学习Python可以来这个群,首先是472,中间是309,最后是261,里面可以学习和交流,也有资料可以下载。

变量与对象之间的链接在Python中称之为引用。也就是说,一个引用也就是一种关联,在内存中以指针的形式实现。

变量、对象与引用的区别: 
+ 变量 是Python解释器系统表中的一些条目, 它们是用来指向对象的。 
+ 对象 是一些列的被分配的内存, 有足够的空间存储与之相关的数据类型。 
+ 引用 自动地跟随在变量与对象之间。

对象才有类型, 而变量没有。一个例子:

a = 3 # a是一个整型数据 
a = ‘spam’ # 现在是一个字符串了 
a = 1.23 # 现在是一个浮点数了

在Python中,事情工作的很简单,再次强调:Names没有类型;只有对象有类型,而不是变量。

变量的命名规则: 
只能包含字母、数字和下划线 
只能以字母或下划线开头 
不能是Python解释器的保留字

共享引用

接下来我们看两个变量同时指向一个对象的情况:

a = 3 
b = a

现在,假设我们再进行如下的赋值语句:

a = 3 
b = a 
a = ‘spam’

现在变量a指向的对象spam。然而变量b却依然指向对象3。赋值意味着创建了新的对象。

共享引用与原地改变

接下来要看的是有一些对象会进行原地改变,那就是Python的可变对象,包括列表,字典及集合。对于一个支持原地改变的对象,我们需要知道共享引用,如果一个改变会影响其他的对象。还是看个例子吧:

L1 = [2, 3, 4] 
L2 = L1

L1是一个列表且包含2、3、4三个对象。列表中的元素通过它们的位置进行访问,所以L1[0]指向对象2,它是列表L1的第一个对象。当然列表也是一个对象,就像其他的整数与字符串。当进行上面的两个赋值后,L1与L2都指向了同一个共享的对象。

现在,我们进行如下的赋值:

L1 = 24

这个赋值语句简单地把L1指向了不同的对象;L2依然指向原来的列表。接下来我们进行一些改变:

L1 = [2, 3, 4] # 一个可变的对象 
L2 = L1 # L2与L1指向了同样的对象 
L1[0] = 24 # 一个原地改变的操作 
L1 # L1已经改变了 
[24, 3, 4] 
L2 # L2也是与L1相同 
[24, 3, 4]

上面的例子中,我们并没有改变L1对象本身,只是改变了L1中的一个对象。这种原地改变的操作的情况只出现在可变对象中。举个字典的例子:

d1 = {‘a’: 1, ‘b’: 2} 
d2 = d1 
d1 
{‘b’: 2, ‘a’: 1} 
d2 
{‘b’: 2, ‘a’: 1} 
d1[‘a’] = ‘a’ 
d2 
{‘b’: 2, ‘a’: ‘a’}

我们可以使用copy的方法:

L1 = [2, 3, 4] 
L2 = L1[:] # 制作L1的拷贝 
L1[0] = 24 
L1 
[24, 3, 4] 
L2 # L2并没有改变 
[2, 3, 4]

通过上面的例子我们发现,L1的改变并没有影响L2,L2只是引用了L1的一份拷贝,并不是原来的L1自身,也就说,L1与L2指向了两个不同的内存空间。

接下来谈论另外一个话题,Python会缓存小的整数及小的字符串。举个例子吧:

L = [1, 2, 3] 
M = L # M与L指向相同的对象 
L == M # 具有相同的值 
True 
L is M # 依然相同 
True 
id(L) 
4338913608 
id(M) 
4338913608

通过上面的例子,==判断两个引用的对象是否有相同的值;第二个操作符is是用来判断对象id的,只有两个names指向相同的对象,is比==判断对象是否相同更强壮。is只是简单地比较两个对象的指针。再看一个例子:

L = [1, 2, 3] 
M = [1, 2, 3] # M与L指向不同的对象(赋值意味着产生新的对象) 
L == M # 具有相同的值 
True 
L is M # 但是是不同的对象 
False 
id(L) 
4338913480 
id(M) 
4338915208

接下来呢,我们看看对于小数字的操作是否不符合上面的预期:

X = 42 
Y = 42 # X与Y应该是两个不同的对象 
id(X) 
4297547872 
id(Y) 
4297547872 
X == Y 
True 
X is Y # but anyhow: 是缓存在作祟! 
True 
使用个大的数字呢? 
X = 1234567 
Y = 1234567 
X == Y 
True 
X is Y 
False 
id(X) 
4336930640 
id(Y) 
4338529328


相关文章
Python的变量和简单类型
本文介绍了Python中变量命名规则、常用变量类型及字符串操作。变量命名需遵循字母、数字和下划线组合,不能以数字开头且不可与关键字冲突。字符串支持单引号、双引号或三引号定义,涵盖基本输出、转义字符、索引、拼接等操作。此外,还详细解析了字符串方法如`islower()`、`upper()`、`count()`等,帮助理解字符串处理技巧。
42 15
[oeasy]python082_变量部分总结_variable_summary
本文介绍了变量的定义、声明、赋值及删除操作,以及Python中的命名规则和常见数据类型。通过示例讲解了字符串与整型的基本用法、类型转换方法和加法运算的区别。此外,还涉及异常处理(try-except)、模块导入(如math和random)及随机数生成等内容。最后总结了实验要点,包括捕获异常、进制转化、变量类型及其相互转换,并简述了编程中AI辅助的应用策略,强调明确目标、分步实施和逐步巩固的重要性。更多资源可在蓝桥、GitHub和Gitee获取。
166 97
Python 变量和简单数据类型
本文介绍了 Python 编程的基础知识,从创建第一个 Python 文件 `hello_world.py` 开始,讲解了 Python 文件的运行机制及解释器的作用。接着深入探讨了变量的定义、命名规则和使用方法,并通过示例说明如何修改变量值。同时,文章详细解析了字符串的操作,包括大小写转换、变量插入及空白字符处理等技巧。此外,还涵盖了数字运算(整数与浮点数)、常量定义以及注释的使用。最后引用了《Python 之禅》,强调代码设计的美学原则和哲学思想。适合初学者快速掌握 Python 基础语法和编程理念。
|
2月前
|
[oeasy]python073_下划线在python里是什么含义_内部变量_私有变量_系统变量
本文回顾了Python中从模块导入变量和函数的方式,重点讨论了避免本地变量名冲突(local name clashes)的方法。通过`from module import variable as alias`可以为导入的变量重命名,防止冲突。根据PEP8规范,建议避免使用`from module import *`,因为它会导入模块中所有非下划线开头的变量,容易引发冲突。下划线在变量命名中有特殊含义:单个前导下划线表示内部变量,后置下划线用于避免与关键字冲突,双下划线前后包围表示系统变量。总结了下划线的不同用法及其作用。下次将继续探讨更实用的编程技巧。
43 3
Python入门:2.注释与变量的全面解析
在学习Python编程的过程中,注释和变量是必须掌握的两个基础概念。注释帮助我们理解代码的意图,而变量则是用于存储和操作数据的核心工具。熟练掌握这两者,不仅能提高代码的可读性和维护性,还能为后续学习复杂编程概念打下坚实的基础。
Python入门:2.注释与变量的全面解析
|
2月前
|
课时19:Python的基本语法
今天给大家带来分享的是 Python 的基本语法,分为以下六个部分。 1.在 Python 中严格区分大小写 2.Python 中的每一行就是一条语句,每条语句以换行结束 3.Python 中每一行语句不要过长 4.条语句可以分多行编写,语句后边以\结尾 5.Python 是缩进严格的语言,不要随便写缩进 6.在 Python 中使用#来表示注释
python之变量的使用
Python 中变量是对象的引用,赋值即为指向内存中对象。创建对象时,解释器分配内存,引用计数管理内存回收。Python 是动态类型语言,变量类型在运行时确定。对象分为可变与不可变,前者可修改内部状态,后者则不行。命名空间管理变量作用域,确保不同区域的变量独立。
python基本语法
Python的基本语法简洁而强大,支持多种编程范式,包括面向对象编程和函数式编程。通过掌握变量和数据类型、操作符、控制结构、函数、类和模块等基本概念,可以有效地编写高效、可读的Python代码。无论是初学者还是经验丰富的开发者,Python都提供了丰富的工具和库来满足各种编程需求。
148 13
[oeasy]python059变量命名有什么规则_惯用法_蛇形命名法_name_convention_snake
本文探讨了Python中变量命名的几种常见方式,包括汉语拼音变量名、蛇形命名法(snake_case)和驼峰命名法(CamelCase)。回顾上次内容,我们主要讨论了使用下划线替代空格以提高代码可读性。实际编程中,当变量名由多个单词组成时,合理的命名惯例变得尤为重要。
191 9
Python 编程入门:理解变量、数据类型和基本运算
【10月更文挑战第43天】在编程的海洋中,Python是一艘易于驾驭的小船。本文将带你启航,探索Python编程的基础:变量的声明与使用、丰富的数据类型以及如何通过基本运算符来操作它们。我们将从浅显易懂的例子出发,逐步深入到代码示例,确保即使是零基础的读者也能跟上步伐。准备好了吗?让我们开始吧!
79 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等