亲宝软件园·资讯

展开

Python变量操作

Mr数据杨 人气:0

前言

看到这里已经学习了创建各种 Python 数据类型的值。并且显示的值都是文字或常量值。

>>> print(9.98)
9.98

但是对于复杂代码的情况需要下,程序需要对应的数值随着代码的变化而变化的情况并且进行更改。

可以 Python 程序中的每一项数据如何可以用抽象术语object来描述,使用称为variables的符号名称来操作对象

在这里插入图片描述

变量赋值

将变量视为附加到特定对象的名称。在 Python 中,变量不需要像许多其他编程语言那样事先声明或定义。要创建变量需为其分配一个值,然后开始使用它。使用单个等号 ( =) 完成赋值。

>>> n = 998

这里 n 被赋值 998。那么 n 就可以在语句或表达式中使用,其值将被替换。

>>> print(n)
998

就像文字值可以直接从 REPL 会话中的解释器提示中显示,而不需要print()。

>>> n
998

如果更改 n 的值并再次使用它,则将替换为新值。

>>> n = 1000
>>> print(n)
1000
>>> n
1000

Python 还允许链式赋值,这使得可以同时将相同的值分配给多个变量。

>>> a = b = c = 998
>>> print(a, b, c)
998 998 998

变量类型

在许多编程语言中变量是静态类型的。这意味着变量最初被声明为具有特定的数据类型,并且在其生命周期内分配给它的任何值都必须始终具有该类型。

在这里插入图片描述

Python 中的变量不受此限制。在 Python 中,可以为变量分配一个类型的值,然后再重新分配一个不同类型的值。

>>> var = 1.5
>>> print(var)
1.5

>>> var = "string"
>>> print(var)
string

对象引用

Python 是一种高度面向对象的语言。事实上 Python 程序中的几乎每一项数据都是特定类型或类的对象。

# 创建整数对象、赋值、打印
>>> print(100)
100
# 查看数据类型
>>> type(100)
<class 'int'>

赋值创建一个具有值的整数对象,100并将变量分配 n 为指向该对象。

在这里插入图片描述

>>> print(n)
100
>>> type(n)
<class 'int'>

如果用另外的变量赋值,Python 不会创建另一个对象。只是创建一个新的符号名称或引用,m 它指向同一个对象 n。叫 单个对象多次引用 。

>>> m = n

在这里插入图片描述

使用 value 创建一个新的整数对象 200,并m成为对它的引用的话就会形成 对单独对象的引用 。

在这里插入图片描述

后面如果使用字符串赋值。

>>> n = "foo"

在这里插入图片描述

不再有任何对整数对象的引用100,并且无法访问。

当一个对象的引用数降到零时,它就不再可以访问了。到那时,它的生命周期就结束了。Python 最终会注意到它不可访问并回收分配的内存,以便将其用于其他用途。在计算机术语中,这个过程被称为 垃圾回收。

对象身份

在 Python 中,创建的每个对象都有一个唯一标识它的数字,并且不会存在生命周期两个对象出现重叠的相同标识符。一旦某个对象被 垃圾回收,那么该标识符可以再次使用。

内置 Python 函数 id() 返回对象的整数标识符。使用该 id() 函数,可以验证两个变量确实指向同一个对象。

>>> n = 100
>>> m = n
>>> id(n)
2006284448
>>> id(m)
2006284448

>>> m = 200
>>> id(m)
2006287648

赋值后 m = n,m 两者 n 都指向同一个对象,由事实证实 id(m) 和 id(n) 返回相同的数字。一旦 m 被重新分配给200,m 并 n 指向具有不同身份的不同对象。

变量名

Python 中的变量名可以是任意长度,可以由大小写字母(A-Z, a-z)、数字(0-9)和下划线字符(_)组成。另一个限制是,虽然变量名可以包含数字,但变量名的第一个字符不能是数字。

>>> name = "Mr数据杨"
>>> Age = 36
>>> is_teacher = True
>>> print(name, Age, is_teacher )
Mr数据杨 36 True

变量也有自己的命名规则。

# 官方的命名规则
>>> my_name = "Mr数据杨"

# 小驼峰式命名法
>>> myName = "Mr数据杨"

# 大驼峰式命名法
>>> MyName = "Mr数据杨"

>>> age = 1
>>> Age = 2
>>> aGe = 3
>>> AGE = 4
>>> a_g_e = 5
>>> _age = 6
>>> age_ = 7
>>> _AGE_ = 8

>>> print(age, Age, aGe, AGE, a_g_e, _age, age_, _AGE_)
1 2 3 4 5 6 7 8

保留字(关键字)

不能冲突的关键词 33 个

在这里插入图片描述

>>> import keyword
>>> print(",".join(keyword.kwlist))
>>> False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,raise,return,try,while,with,yield

具体含义如下,不用刻意去记,这些都会有区别于普通代码的颜色提示,你要是用他们做变量名了,一看就会知道的。

and: 用于表达式运算,逻辑与操作

as: 用于类型转换

assert: 断言,用于判断变量或条件表达式的值是否为真

break: 中断循环语句的执行

class: 用于定义类

continue: 继续执行下一次循环

def: 用于定义函数或方法

del: 删除变量或者序列的值

elif: 条件语句 与if else 结合使用

else: 条件语句 条件语句,与if,elif结合使用。也可以用于异常和循环使用

except: 包括捕获异常后的操作代码,与try,finally结合使用

finally: 用于异常语句,出现异常后,始终要执行finally包含的代码块。与try,except结合使用

from: 用于导入模块,与import结合使用

global: 定义全局变量

if: 条件语句,与else,elif结合使用

import: 用于导入模块,与from 结合使用

in: 判断变量是否存在序列中

is: 判断变量是否为某个类的实例

lambda: 定义匿名函数

not: 用于表达式运算,逻辑非操作

or: 用于表达式运算,逻辑或操作

pass: 空的类,函数,方法的占位符

print: 打印语句

raise: 异常抛出操作

return: 用于从函数返回计算结果

try: 包含可能会出现异常的语句,与except,finally结合使用

while: 循环语句

with: 简化Python的语句

yield: 用于从函数依次返回值

help(keywords 对应关键字) 可以通过键入Python 解释器随时查看此列表。保留字区分大小写,必须完全按照所示使用,除了 False , NoneTrue 其他都是区分大小写。

>>> for = 1
SyntaxError: invalid syntax

加载全部内容

相关教程
猜你喜欢
用户评论