前言
看到这里已经学习了创建各种 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 , None 和 True 其他都是区分大小写。
>>> for = 1 SyntaxError: invalid syntax
到此这篇关于Python 6种基本变量操作技巧总结的文章就介绍到这了,更多相关Python变量操作内容请搜索好代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好代码网!