Python 变量是具有名称和值(一些数据)的内存位置。变量具有唯一的名称,可区分内存位置。它们具有与标识符命名约定相同的命名约定。
在 Python 中不必在使用变量之前声明变量(指定数据类型)。创建变量时为变量写一个有效的名称并使用赋值运算符为其赋值。变量的数据类型是根据它分配的值的类型在内部定义的。
但是对于复杂代码的情况需要下,程序需要对应的数值随着代码的变化而变化的情况并且进行更改。
整套学习自学教程中应用的数据都是《三國志》、《真·三國無雙》系列游戏中的内容。
文章目录
- Python 变量
- 变量赋值
- 变量类型
- 对象引用
- 对象身份
- 变量名
- Python 保留字
- 33个保留字(关键字)
- 保留字的检查
Python 变量
变量赋值
在 Python 中变量不需要像许多其他编程语言那样事先声明或定义。要创建变量需为其分配一个值,然后开始使用它。使用单个等号 『=』 完成赋值。
这里 n 被赋值 1,那么 n 就可以在语句或表达式中使用其值将被替换。
num = 1
print(num)
1
num
1
更改 n 的值并再次使用它则将替换为新值。
n = 10
print(n)
10
n
1000
Python 还允许链式赋值,可以同时将相同的值分配给多个变量。
a = b = c = 1
print(a, b, c)
1 1 1
变量类型
在许多编程语言中变量是静态类型的,这意味着变量最初被声明为具有特定的数据类型,并且在其生命周期内分配给它的任何值都必须始终具有该类型。
Python 中的变量不受此限制,可以为变量分配一个类型的值,然后再重新分配一个不同类型的值。
var = 1.5
print(var)
1.5
var = "str"
print(var)
string
对象引用
Python 是一种高度面向对象的语言,程序中的几乎每一项数据都是特定类型或类的对象。
# 创建整数对象、赋值、打印
print(100)
100
# 查看数据类型
type(100)
<class 'int'>
赋值创建一个具有值的整数对象,100并将变量分配 n 为指向该对象。
print(n)
100
type(n)
<class 'int'>
单个对象多次引用 :使用其他变量进行赋值,Python 不会创建另一个对象,只是创建一个新的符号名称或引用 m 它指向同一个对象 n。
m = n
创建一个新的整数并赋值 200 会形成新的 对单独对象的引用 。
当一个对象的引用数降到零时就不再可以访问了,它的生命周期就结束了。Python 最终会注意到它不可访问并回收分配的内存,以便将其用于其他用途。在计算机术语中这个过程被称为 垃圾回收。
对象身份
在 Python 中创建的每个对象都有一个唯一标识它的数字,并且不会存在生命周期两个对象出现重叠的相同标识符。一旦某个对象被 垃圾回收,那么该标识符可以再次使用。
内置 Python 函数 id() 返回对象的整数标识符。使用该 id() 函数,可以验证两个变量确实指向同一个对象。变量对象一旦重新分配会具有不同的身份。
n = 100
m = n
id(n)
2006284448
id(m)
2006284448
m = 200
id(m)
2006287648
变量名
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
Python 保留字
Python 中的保留字。保留字不能用作变量,因此在命名变量时需要注意。
33个保留字(关键字)
不能冲突的关键词 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
保留字的检查
使用 iskeyword() 函数检查 Python 中指定的字符串是否为保留字。
import keyword
print(keyword.iskeyword('yield'))
print(keyword.iskeyword('Yield'))
True
False
使用 in 运算符进行检查。
import keyword
print("yield" in keyword.kwlist)
print("Yield" in keyword.kwlist)
True
False
更多推荐
Python基础必掌握的6种变量操作以及33个保留关键字
发布评论